///|
fn pdf_text_codepoint_of_basic_latin_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/A" => Some(65)
"/B" => Some(66)
"/C" => Some(67)
"/D" => Some(68)
"/E" => Some(69)
"/F" => Some(70)
"/G" => Some(71)
"/H" => Some(72)
"/I" => Some(73)
"/J" => Some(74)
"/K" => Some(75)
"/L" => Some(76)
"/M" => Some(77)
"/N" => Some(78)
"/O" => Some(79)
"/P" => Some(80)
"/Q" => Some(81)
"/R" => Some(82)
"/S" => Some(83)
"/T" => Some(84)
"/U" => Some(85)
"/V" => Some(86)
"/W" => Some(87)
"/X" => Some(88)
"/Y" => Some(89)
"/Z" => Some(90)
"/a" => Some(97)
"/b" => Some(98)
"/c" => Some(99)
"/controlACK" => Some(6)
"/controlBEL" => Some(7)
"/controlBS" => Some(8)
"/controlCAN" => Some(24)
"/controlDC1" => Some(17)
"/controlDC2" => Some(18)
"/controlDC3" => Some(19)
"/controlDC4" => Some(20)
"/controlDEL" => Some(127)
"/controlDLE" => Some(16)
"/controlEM" => Some(25)
"/controlENQ" => Some(5)
"/controlEOT" => Some(4)
"/controlESC" => Some(27)
"/controlETB" => Some(23)
"/controlETX" => Some(3)
"/controlFS" => Some(28)
"/controlGS" => Some(29)
"/controlNAK" => Some(21)
"/controlRS" => Some(30)
"/controlSI" => Some(15)
"/controlSO" => Some(14)
"/controlSOT" => Some(2)
"/controlSTX" => Some(1)
"/controlSUB" => Some(26)
"/controlSYN" => Some(22)
"/controlUS" => Some(31)
"/controlVT" => Some(11)
"/d" => Some(100)
"/e" => Some(101)
"/f" => Some(102)
"/g" => Some(103)
"/h" => Some(104)
"/i" => Some(105)
"/j" => Some(106)
"/k" => Some(107)
"/l" => Some(108)
"/m" => Some(109)
"/n" => Some(110)
"/o" => Some(111)
"/p" => Some(112)
"/q" => Some(113)
"/r" => Some(114)
"/s" => Some(115)
"/spacehackarabic" => Some(32)
"/t" => Some(116)
"/u" => Some(117)
"/v" => Some(118)
"/verticalbar" => Some(124)
"/w" => Some(119)
"/x" => Some(120)
"/y" => Some(121)
"/z" => Some(122)
_ => None
}
}
///|
fn pdf_text_codepoint_of_digit_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/zero" => Some(48)
"/one" => Some(49)
"/two" => Some(50)
"/three" => Some(51)
"/four" => Some(52)
"/five" => Some(53)
"/six" => Some(54)
"/seven" => Some(55)
"/eight" => Some(56)
"/nine" => Some(57)
"/zerooldstyle" => Some(0xF730)
"/oneoldstyle" => Some(0xF731)
"/twooldstyle" => Some(0xF732)
"/threeoldstyle" => Some(0xF733)
"/fouroldstyle" => Some(0xF734)
"/fiveoldstyle" => Some(0xF735)
"/sixoldstyle" => Some(0xF736)
"/sevenoldstyle" => Some(0xF737)
"/eightoldstyle" => Some(0xF738)
"/nineoldstyle" => Some(0xF739)
"/zeroinferior" => Some(0x2080)
"/oneinferior" => Some(0x2081)
"/twoinferior" => Some(0x2082)
"/threeinferior" => Some(0x2083)
"/fourinferior" => Some(0x2084)
"/fiveinferior" => Some(0x2085)
"/sixinferior" => Some(0x2086)
"/seveninferior" => Some(0x2087)
"/eightinferior" => Some(0x2088)
"/nineinferior" => Some(0x2089)
"/zerosuperior" => Some(0x2070)
"/onesuperior" => Some(0x00B9)
"/twosuperior" => Some(0x00B2)
"/threesuperior" => Some(0x00B3)
"/oneeighth" => Some(0x215B)
"/threeeighths" => Some(0x215C)
"/fiveeighths" => Some(0x215D)
"/seveneighths" => Some(0x215E)
"/onethird" => Some(0x2153)
"/twothirds" => Some(0x2154)
"/threequartersemdash" => Some(0xF6DE)
"/foursuperior" => Some(0x2074)
"/fivesuperior" => Some(0x2075)
"/sixsuperior" => Some(0x2076)
"/sevensuperior" => Some(0x2077)
"/eightsuperior" => Some(0x2078)
"/ninesuperior" => Some(0x2079)
_ => None
}
}
///|
fn pdf_text_codepoint_of_punctuation_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/space" => Some(32)
"/blank" => Some(0x2423)
"/controlHT" => Some(9)
"/controlLF" => Some(10)
"/controlFF" => Some(12)
"/controlCR" => Some(13)
"/exclam" => Some(33)
"/quotedbl" => Some(34)
"/numbersign" => Some(35)
"/dollar" => Some(36)
"/percent" => Some(37)
"/ampersand" => Some(38)
"/quotesingle" => Some(39)
"/quoteright" => Some(0x2019)
"/parenleft" => Some(40)
"/parenright" => Some(41)
"/asterisk" => Some(42)
"/plus" => Some(43)
"/comma" => Some(44)
"/hyphen" => Some(45)
"/period" => Some(46)
"/slash" => Some(47)
"/colon" => Some(58)
"/semicolon" => Some(59)
"/less" => Some(60)
"/equal" => Some(61)
"/greater" => Some(62)
"/question" => Some(63)
"/at" => Some(64)
"/bracketleft" => Some(91)
"/backslash" => Some(92)
"/bracketright" => Some(93)
"/asciicircum" => Some(94)
"/underscore" => Some(95)
"/grave" => Some(96)
"/quoteleft" => Some(0x2018)
"/braceleft" => Some(123)
"/bar" => Some(124)
"/braceright" => Some(125)
"/asciitilde" => Some(126)
"/Euro" => Some(0x20AC)
"/exclamdown" => Some(0x00A1)
"/cent" => Some(0x00A2)
"/sterling" => Some(0x00A3)
"/fraction" => Some(0x2044)
"/yen" => Some(0x00A5)
"/section" => Some(0x00A7)
"/currency" => Some(0x00A4)
"/nbspace" => Some(0x00A0)
"/nonbreakingspace" => Some(0x00A0)
"/guillemotleft" => Some(0x00AB)
"/guillemotright" => Some(0x00BB)
"/ff" => Some(0xFB00)
"/fi" => Some(0xFB01)
"/fl" => Some(0xFB02)
"/ffi" => Some(0xFB03)
"/ffl" => Some(0xFB04)
"/periodcentered" => Some(0x00B7)
"/middot" => Some(0x00B7)
"/paragraph" => Some(0x00B6)
"/questiondown" => Some(0x00BF)
"/Agrave" => Some(0x00C0)
"/Aacute" => Some(0x00C1)
"/Acircumflex" => Some(0x00C2)
"/Atilde" => Some(0x00C3)
"/AE" => Some(0x00C6)
"/Egrave" => Some(0x00C8)
"/Ecircumflex" => Some(0x00CA)
"/Edieresis" => Some(0x00CB)
"/Igrave" => Some(0x00CC)
"/Iacute" => Some(0x00CD)
"/Icircumflex" => Some(0x00CE)
"/Idieresis" => Some(0x00CF)
"/Eth" => Some(0x00D0)
"/Ograve" => Some(0x00D2)
"/Oacute" => Some(0x00D3)
"/Ocircumflex" => Some(0x00D4)
"/Otilde" => Some(0x00D5)
"/Oslash" => Some(0x00D8)
"/Ugrave" => Some(0x00D9)
"/Uacute" => Some(0x00DA)
"/Ucircumflex" => Some(0x00DB)
"/Yacute" => Some(0x00DD)
"/Thorn" => Some(0x00DE)
"/germandbls" => Some(0x00DF)
"/ae" => Some(0x00E6)
"/eth" => Some(0x00F0)
"/oslash" => Some(0x00F8)
"/yacute" => Some(0x00FD)
"/thorn" => Some(0x00FE)
"/ydieresis" => Some(0x00FF)
"/Adieresis" => Some(0x00C4)
"/Aring" => Some(0x00C5)
"/Ccedilla" => Some(0x00C7)
"/Eacute" => Some(0x00C9)
"/Ntilde" => Some(0x00D1)
"/Odieresis" => Some(0x00D6)
"/Udieresis" => Some(0x00DC)
"/aacute" => Some(0x00E1)
"/agrave" => Some(0x00E0)
"/acircumflex" => Some(0x00E2)
"/adieresis" => Some(0x00E4)
"/atilde" => Some(0x00E3)
"/aring" => Some(0x00E5)
"/ccedilla" => Some(0x00E7)
"/egrave" => Some(0x00E8)
"/ecircumflex" => Some(0x00EA)
"/edieresis" => Some(0x00EB)
"/brokenbar" => Some(0x00A6)
"/dieresis" => Some(0x00A8)
"/ordfeminine" => Some(0x00AA)
"/logicalnot" => Some(0x00AC)
"/registered" => Some(0x00AE)
"/macron" => Some(0x00AF)
"/overscore" => Some(0x00AF)
"/breve" => Some(0x02D8)
"/dotaccent" => Some(0x02D9)
"/ring" => Some(0x02DA)
"/hungarumlaut" => Some(0x02DD)
"/ogonek" => Some(0x02DB)
"/caron" => Some(0x02C7)
"/dotlessi" => Some(0x0131)
"/Lslash" => Some(0x0141)
"/lslash" => Some(0x0142)
"/degree" => Some(0x00B0)
"/mu1" => Some(0x00B5)
"/twosuperior" => Some(0x00B2)
"/threesuperior" => Some(0x00B3)
"/acute" => Some(0x00B4)
"/cedilla" => Some(0x00B8)
"/onesuperior" => Some(0x00B9)
"/ordmasculine" => Some(0x00BA)
"/onequarter" => Some(0x00BC)
"/onehalf" => Some(0x00BD)
"/threequarters" => Some(0x00BE)
"/iacute" => Some(0x00ED)
"/igrave" => Some(0x00EC)
"/icircumflex" => Some(0x00EE)
"/idieresis" => Some(0x00EF)
"/ntilde" => Some(0x00F1)
"/oacute" => Some(0x00F3)
"/ograve" => Some(0x00F2)
"/ocircumflex" => Some(0x00F4)
"/odieresis" => Some(0x00F6)
"/otilde" => Some(0x00F5)
"/uacute" => Some(0x00FA)
"/ugrave" => Some(0x00F9)
"/ucircumflex" => Some(0x00FB)
"/udieresis" => Some(0x00FC)
"/quotesinglbase" => Some(0x201A)
"/florin" => Some(0x0192)
"/quotedblbase" => Some(0x201E)
"/ellipsis" => Some(0x2026)
"/dagger" => Some(0x2020)
"/daggerdbl" => Some(0x2021)
"/circumflex" => Some(0x02C6)
"/perthousand" => Some(0x2030)
"/Scaron" => Some(0x0160)
"/guilsinglleft" => Some(0x2039)
"/OE" => Some(0x0152)
"/Zcaron" => Some(0x017D)
"/quotedblleft" => Some(0x201C)
"/quotedblright" => Some(0x201D)
"/bullet" => Some(0x2022)
"/endash" => Some(0x2013)
"/emdash" => Some(0x2014)
"/tilde" => Some(0x02DC)
"/trademark" => Some(0x2122)
"/scaron" => Some(0x0161)
"/guilsinglright" => Some(0x203A)
"/oe" => Some(0x0153)
"/zcaron" => Some(0x017E)
"/Ydieresis" => Some(0x0178)
"/copyright" => Some(0x00A9)
"/eacute" => Some(0x00E9)
"/equalsuperior" => Some(0x207C)
"/plussuperior" => Some(0x207A)
"/sfthyphen" => Some(0x00AD)
"/softhyphen" => Some(0x00AD)
"/afii00208" => Some(0x2015)
"/afii299" => Some(0x200E)
"/afii300" => Some(0x200F)
"/afii301" => Some(0x200D)
"/afii61573" => Some(0x202C)
"/afii61574" => Some(0x202D)
"/afii61575" => Some(0x202E)
"/afii61664" => Some(0x200C)
"/asterism" => Some(0x2042)
"/dbllowline" => Some(0x2017)
"/dblverticalbar" => Some(0x2016)
"/enspace" => Some(0x2002)
"/exclamdbl" => Some(0x203C)
"/horizontalbar" => Some(0x2015)
"/hyphentwo" => Some(0x2010)
"/overline" => Some(0x203E)
"/primereversed" => Some(0x2035)
"/quoteleftreversed" => Some(0x201B)
"/quotereversed" => Some(0x201B)
"/referencemark" => Some(0x203B)
"/twodotleader" => Some(0x2025)
"/underscoredbl" => Some(0x2017)
"/zerowidthnonjoiner" => Some(0x200C)
"/zerowidthspace" => Some(0x200B)
_ => None
}
}
///|
fn pdf_text_codepoint_of_ipa_extension_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Gsmallhook" => Some(0x029B)
"/Rsmallinverted" => Some(0x0281)
"/ascript" => Some(0x0251)
"/ascriptturned" => Some(0x0252)
"/aturned" => Some(0x0250)
"/bhook" => Some(0x0253)
"/bilabialclick" => Some(0x0298)
"/ccurl" => Some(0x0255)
"/cstretched" => Some(0x0297)
"/dezh" => Some(0x02A4)
"/dhook" => Some(0x0257)
"/dotlessjstrokehook" => Some(0x0284)
"/dtail" => Some(0x0256)
"/dzaltone" => Some(0x02A3)
"/dzcurl" => Some(0x02A5)
"/eopen" => Some(0x025B)
"/eopenclosed" => Some(0x029A)
"/eopenreversed" => Some(0x025C)
"/eopenreversedclosed" => Some(0x025E)
"/eopenreversedhook" => Some(0x025D)
"/ereversed" => Some(0x0258)
"/esh" => Some(0x0283)
"/eshcurl" => Some(0x0286)
"/eshsquatreversed" => Some(0x0285)
"/ezh" => Some(0x0292)
"/ezhcurl" => Some(0x0293)
"/gammalatinsmall" => Some(0x0263)
"/ghook" => Some(0x0260)
"/glottalstop" => Some(0x0294)
"/glottalstopinverted" => Some(0x0296)
"/glottalstopreversed" => Some(0x0295)
"/glottalstopstroke" => Some(0x02A1)
"/glottalstopstrokereversed" => Some(0x02A2)
"/gscript" => Some(0x0261)
"/henghook" => Some(0x0267)
"/hhook" => Some(0x0266)
"/hturned" => Some(0x0265)
"/iotalatin" => Some(0x0269)
"/istroke" => Some(0x0268)
"/jcrossedtail" => Some(0x029D)
"/jdotlessstroke" => Some(0x025F)
"/kturned" => Some(0x029E)
"/lbelt" => Some(0x026C)
"/lezh" => Some(0x026E)
"/lhookretroflex" => Some(0x026D)
"/lmiddletilde" => Some(0x026B)
"/mhook" => Some(0x0271)
"/mlonglegturned" => Some(0x0270)
"/mturned" => Some(0x026F)
"/nhookleft" => Some(0x0272)
"/nhookretroflex" => Some(0x0273)
"/obarred" => Some(0x0275)
"/omegalatinclosed" => Some(0x0277)
"/oopen" => Some(0x0254)
"/philatin" => Some(0x0278)
"/qhook" => Some(0x02A0)
"/ramshorn" => Some(0x0264)
"/rfishhook" => Some(0x027E)
"/rfishhookreversed" => Some(0x027F)
"/rhook" => Some(0x027D)
"/rhookturned" => Some(0x027B)
"/rlongleg" => Some(0x027C)
"/rlonglegturned" => Some(0x027A)
"/rturned" => Some(0x0279)
"/schwa" => Some(0x0259)
"/schwahook" => Some(0x025A)
"/shook" => Some(0x0282)
"/tccurl" => Some(0x02A8)
"/tesh" => Some(0x02A7)
"/tretroflexhook" => Some(0x0288)
"/ts" => Some(0x02A6)
"/tturned" => Some(0x0287)
"/ubar" => Some(0x0289)
"/upsilonlatin" => Some(0x028A)
"/vhook" => Some(0x028B)
"/vturned" => Some(0x028C)
"/wturned" => Some(0x028D)
"/yturned" => Some(0x028E)
"/zcurl" => Some(0x0291)
"/zretroflexhook" => Some(0x0290)
_ => None
}
}
///|
fn pdf_text_codepoint_of_spacing_modifier_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Rsmallinvertedsuperior" => Some(0x02B6)
"/acutelowmod" => Some(0x02CF)
"/afii57929" => Some(0x02BC)
"/afii64937" => Some(0x02BD)
"/apostrophemod" => Some(0x02BC)
"/arrowheaddownmod" => Some(0x02C5)
"/arrowheadleftmod" => Some(0x02C2)
"/arrowheadrightmod" => Some(0x02C3)
"/arrowheadupmod" => Some(0x02C4)
"/colontriangularhalfmod" => Some(0x02D1)
"/colontriangularmod" => Some(0x02D0)
"/commareversedmod" => Some(0x02BD)
"/commaturnedmod" => Some(0x02BB)
"/dblprimemod" => Some(0x02BA)
"/downtackmod" => Some(0x02D5)
"/firsttonechinese" => Some(0x02C9)
"/fourthtonechinese" => Some(0x02CB)
"/gammasuperior" => Some(0x02E0)
"/glottalstopmod" => Some(0x02C0)
"/glottalstopreversedmod" => Some(0x02C1)
"/glottalstopreversedsuperior" => Some(0x02E4)
"/gravelowmod" => Some(0x02CE)
"/hhooksuperior" => Some(0x02B1)
"/hsuperior" => Some(0x02B0)
"/ilde" => Some(0x02DC)
"/jsuperior" => Some(0x02B2)
"/macronlowmod" => Some(0x02CD)
"/minusmod" => Some(0x02D7)
"/plusmod" => Some(0x02D6)
"/primemod" => Some(0x02B9)
"/rhookturnedsuperior" => Some(0x02B5)
"/rhotichookmod" => Some(0x02DE)
"/ringhalfleft" => Some(0x02BF)
"/ringhalfleftcentered" => Some(0x02D3)
"/ringhalfright" => Some(0x02BE)
"/ringhalfrightcentered" => Some(0x02D2)
"/rturnedsuperior" => Some(0x02B4)
"/secondtonechinese" => Some(0x02CA)
"/tonebarextrahighmod" => Some(0x02E5)
"/tonebarextralowmod" => Some(0x02E9)
"/tonebarhighmod" => Some(0x02E6)
"/tonebarlowmod" => Some(0x02E8)
"/tonebarmidmod" => Some(0x02E7)
"/uptackmod" => Some(0x02D4)
"/verticallinelowmod" => Some(0x02CC)
"/verticallinemod" => Some(0x02C8)
"/wsuperior" => Some(0x02B7)
"/xsuperior" => Some(0x02E3)
"/ysuperior" => Some(0x02B8)
_ => None
}
}
///|
fn pdf_text_codepoint_of_combining_mark_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/acutebelowcmb" => Some(0x0317)
"/acutecmb" => Some(0x0301)
"/acutecomb" => Some(0x0301)
"/acutetonecmb" => Some(0x0341)
"/brevebelowcmb" => Some(0x032E)
"/brevecmb" => Some(0x0306)
"/breveinvertedbelowcmb" => Some(0x032F)
"/breveinvertedcmb" => Some(0x0311)
"/breveinverteddoublecmb" => Some(0x0361)
"/bridgebelowcmb" => Some(0x032A)
"/bridgeinvertedbelowcmb" => Some(0x033A)
"/candrabinducmb" => Some(0x0310)
"/caronbelowcmb" => Some(0x032C)
"/caroncmb" => Some(0x030C)
"/cedillacmb" => Some(0x0327)
"/circumflexbelowcmb" => Some(0x032D)
"/circumflexcmb" => Some(0x0302)
"/commaabovecmb" => Some(0x0313)
"/commaaboverightcmb" => Some(0x0315)
"/commareversedabovecmb" => Some(0x0314)
"/commaturnedabovecmb" => Some(0x0312)
"/dblarchinvertedbelowcmb" => Some(0x032B)
"/dblgravecmb" => Some(0x030F)
"/dbllowlinecmb" => Some(0x0333)
"/dbloverlinecmb" => Some(0x033F)
"/dblverticallineabovecmb" => Some(0x030E)
"/dialytikatonoscmb" => Some(0x0344)
"/dieresisbelowcmb" => Some(0x0324)
"/dieresiscmb" => Some(0x0308)
"/dotaccentcmb" => Some(0x0307)
"/dotbelowcmb" => Some(0x0323)
"/dotbelowcomb" => Some(0x0323)
"/downtackbelowcmb" => Some(0x031E)
"/gravebelowcmb" => Some(0x0316)
"/gravecmb" => Some(0x0300)
"/gravecomb" => Some(0x0300)
"/gravetonecmb" => Some(0x0340)
"/hookabovecomb" => Some(0x0309)
"/hookcmb" => Some(0x0309)
"/hookpalatalizedbelowcmb" => Some(0x0321)
"/hookretroflexbelowcmb" => Some(0x0322)
"/horncmb" => Some(0x031B)
"/hungarumlautcmb" => Some(0x030B)
"/koroniscmb" => Some(0x0343)
"/leftangleabovecmb" => Some(0x031A)
"/lefttackbelowcmb" => Some(0x0318)
"/lowlinecmb" => Some(0x0332)
"/macronbelowcmb" => Some(0x0331)
"/macroncmb" => Some(0x0304)
"/minusbelowcmb" => Some(0x0320)
"/ogonekcmb" => Some(0x0328)
"/overlinecmb" => Some(0x0305)
"/perispomenigreekcmb" => Some(0x0342)
"/plusbelowcmb" => Some(0x031F)
"/righttackbelowcmb" => Some(0x0319)
"/ringbelowcmb" => Some(0x0325)
"/ringcmb" => Some(0x030A)
"/ringhalfleftbelowcmb" => Some(0x031C)
"/ringhalfrightbelowcmb" => Some(0x0339)
"/seagullbelowcmb" => Some(0x033C)
"/soliduslongoverlaycmb" => Some(0x0338)
"/solidusshortoverlaycmb" => Some(0x0337)
"/squarebelowcmb" => Some(0x033B)
"/strokelongoverlaycmb" => Some(0x0336)
"/strokeshortoverlaycmb" => Some(0x0335)
"/tildebelowcmb" => Some(0x0330)
"/tildecmb" => Some(0x0303)
"/tildecomb" => Some(0x0303)
"/tildedoublecmb" => Some(0x0360)
"/tildeoverlaycmb" => Some(0x0334)
"/tildeverticalcmb" => Some(0x033E)
"/uptackbelowcmb" => Some(0x031D)
"/verticallineabovecmb" => Some(0x030D)
"/verticallinebelowcmb" => Some(0x0329)
"/xabovecmb" => Some(0x033D)
"/ypogegrammenigreekcmb" => Some(0x0345)
_ => None
}
}
///|
fn pdf_text_codepoint_of_currency_letterlike_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/afii08941" => Some(0x20A4)
"/afii57636" => Some(0x20AA)
"/colonsign" => Some(0x20A1)
"/cruzeiro" => Some(0x20A2)
"/dong" => Some(0x20AB)
"/euro" => Some(0x20AC)
"/franc" => Some(0x20A3)
"/lira" => Some(0x20A4)
"/newsheqelsign" => Some(0x20AA)
"/peseta" => Some(0x20A7)
"/sheqel" => Some(0x20AA)
"/sheqelhebrew" => Some(0x20AA)
"/won" => Some(0x20A9)
"/Ohm" => Some(0x2126)
"/afii61248" => Some(0x2105)
"/afii61289" => Some(0x2113)
"/afii61352" => Some(0x2116)
"/angstrom" => Some(0x212B)
"/careof" => Some(0x2105)
"/centigrade" => Some(0x2103)
"/estimated" => Some(0x212E)
"/fahrenheit" => Some(0x2109)
"/lsquare" => Some(0x2113)
"/numero" => Some(0x2116)
"/prescription" => Some(0x211E)
"/telephone" => Some(0x2121)
_ => None
}
}
///|
fn pdf_text_codepoint_of_arrow_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/arrowdashdown" => Some(0x21E3)
"/arrowdashleft" => Some(0x21E0)
"/arrowdashright" => Some(0x21E2)
"/arrowdashup" => Some(0x21E1)
"/arrowdownleft" => Some(0x2199)
"/arrowdownright" => Some(0x2198)
"/arrowdownwhite" => Some(0x21E9)
"/arrowleftdbl" => Some(0x21D0)
"/arrowleftdblstroke" => Some(0x21CD)
"/arrowleftoverright" => Some(0x21C6)
"/arrowleftwhite" => Some(0x21E6)
"/arrowrightdblstroke" => Some(0x21CF)
"/arrowrightoverleft" => Some(0x21C4)
"/arrowrightwhite" => Some(0x21E8)
"/arrowtableft" => Some(0x21E4)
"/arrowtabright" => Some(0x21E5)
"/arrowupdn" => Some(0x2195)
"/arrowupdnbse" => Some(0x21A8)
"/arrowupdownbase" => Some(0x21A8)
"/arrowupleft" => Some(0x2196)
"/arrowupleftofdown" => Some(0x21C5)
"/arrowupright" => Some(0x2197)
"/arrowupwhite" => Some(0x21E7)
"/capslock" => Some(0x21EA)
"/dblarrowleft" => Some(0x21D4)
"/dblarrowright" => Some(0x21D2)
"/harpoonleftbarbup" => Some(0x21BC)
"/harpoonrightbarbup" => Some(0x21C0)
"/pagedown" => Some(0x21DF)
"/pageup" => Some(0x21DE)
_ => None
}
}
///|
fn pdf_text_codepoint_of_greek_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Alphatonos" => Some(0x0386)
"/Deicoptic" => Some(0x03EE)
"/Deltagreek" => Some(0x0394)
"/Digammagreek" => Some(0x03DC)
"/Epsilontonos" => Some(0x0388)
"/Etatonos" => Some(0x0389)
"/Feicoptic" => Some(0x03E4)
"/Gangiacoptic" => Some(0x03EA)
"/Horicoptic" => Some(0x03E8)
"/Iotadieresis" => Some(0x03AA)
"/Iotatonos" => Some(0x038A)
"/Kheicoptic" => Some(0x03E6)
"/Koppagreek" => Some(0x03DE)
"/Omegagreek" => Some(0x03A9)
"/Omegatonos" => Some(0x038F)
"/Omicrontonos" => Some(0x038C)
"/Sampigreek" => Some(0x03E0)
"/Sheicoptic" => Some(0x03E2)
"/Shimacoptic" => Some(0x03EC)
"/Stigmagreek" => Some(0x03DA)
"/Upsilonacutehooksymbolgreek" => Some(0x03D3)
"/Upsilondieresis" => Some(0x03AB)
"/Upsilondieresishooksymbolgreek" => Some(0x03D4)
"/Upsilonhooksymbol" => Some(0x03D2)
"/Upsilontonos" => Some(0x038E)
"/alphatonos" => Some(0x03AC)
"/anoteleia" => Some(0x0387)
"/betasymbolgreek" => Some(0x03D0)
"/deicoptic" => Some(0x03EF)
"/dialytikatonos" => Some(0x0385)
"/dieresistonos" => Some(0x0385)
"/epsilontonos" => Some(0x03AD)
"/etatonos" => Some(0x03AE)
"/feicoptic" => Some(0x03E5)
"/gangiacoptic" => Some(0x03EB)
"/horicoptic" => Some(0x03E9)
"/iotadieresis" => Some(0x03CA)
"/iotadieresistonos" => Some(0x0390)
"/iotatonos" => Some(0x03AF)
"/kappasymbolgreek" => Some(0x03F0)
"/kheicoptic" => Some(0x03E7)
"/mugreek" => Some(0x03BC)
"/numeralsigngreek" => Some(0x0374)
"/numeralsignlowergreek" => Some(0x0375)
"/omegatonos" => Some(0x03CE)
"/omicrontonos" => Some(0x03CC)
"/phisymbolgreek" => Some(0x03D5)
"/pisymbolgreek" => Some(0x03D6)
"/questiongreek" => Some(0x037E)
"/rhosymbolgreek" => Some(0x03F1)
"/sheicoptic" => Some(0x03E3)
"/shimacoptic" => Some(0x03ED)
"/sigmafinal" => Some(0x03C2)
"/sigmalunatesymbolgreek" => Some(0x03F2)
"/thetasymbolgreek" => Some(0x03D1)
"/tonos" => Some(0x0384)
"/upsilondieresis" => Some(0x03CB)
"/upsilondieresistonos" => Some(0x03B0)
"/upsilontonos" => Some(0x03CD)
"/yotgreek" => Some(0x03F3)
"/ypogegrammeni" => Some(0x037A)
_ => None
}
}
///|
fn pdf_text_codepoint_of_armenian_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Aybarmenian" => Some(0x0531)
"/Benarmenian" => Some(0x0532)
"/Caarmenian" => Some(0x053E)
"/Chaarmenian" => Some(0x0549)
"/Cheharmenian" => Some(0x0543)
"/Coarmenian" => Some(0x0551)
"/Daarmenian" => Some(0x0534)
"/Echarmenian" => Some(0x0535)
"/Eharmenian" => Some(0x0537)
"/Etarmenian" => Some(0x0538)
"/Feharmenian" => Some(0x0556)
"/Ghadarmenian" => Some(0x0542)
"/Gimarmenian" => Some(0x0533)
"/Hoarmenian" => Some(0x0540)
"/Iniarmenian" => Some(0x053B)
"/Jaarmenian" => Some(0x0541)
"/Jheharmenian" => Some(0x054B)
"/Keharmenian" => Some(0x0554)
"/Kenarmenian" => Some(0x053F)
"/Liwnarmenian" => Some(0x053C)
"/Menarmenian" => Some(0x0544)
"/Nowarmenian" => Some(0x0546)
"/Oharmenian" => Some(0x0555)
"/Peharmenian" => Some(0x054A)
"/Piwrarmenian" => Some(0x0553)
"/Raarmenian" => Some(0x054C)
"/Reharmenian" => Some(0x0550)
"/Seharmenian" => Some(0x054D)
"/Shaarmenian" => Some(0x0547)
"/Tiwnarmenian" => Some(0x054F)
"/Toarmenian" => Some(0x0539)
"/Vewarmenian" => Some(0x054E)
"/Voarmenian" => Some(0x0548)
"/Xeharmenian" => Some(0x053D)
"/Yiarmenian" => Some(0x0545)
"/Yiwnarmenian" => Some(0x0552)
"/Zaarmenian" => Some(0x0536)
"/Zhearmenian" => Some(0x053A)
"/abbreviationmarkarmenian" => Some(0x055F)
"/apostrophearmenian" => Some(0x055A)
"/aybarmenian" => Some(0x0561)
"/benarmenian" => Some(0x0562)
"/caarmenian" => Some(0x056E)
"/chaarmenian" => Some(0x0579)
"/cheharmenian" => Some(0x0573)
"/coarmenian" => Some(0x0581)
"/commaarmenian" => Some(0x055D)
"/daarmenian" => Some(0x0564)
"/echarmenian" => Some(0x0565)
"/echyiwnarmenian" => Some(0x0587)
"/eharmenian" => Some(0x0567)
"/emphasismarkarmenian" => Some(0x055B)
"/etarmenian" => Some(0x0568)
"/exclamarmenian" => Some(0x055C)
"/feharmenian" => Some(0x0586)
"/ghadarmenian" => Some(0x0572)
"/gimarmenian" => Some(0x0563)
"/hoarmenian" => Some(0x0570)
"/iniarmenian" => Some(0x056B)
"/jaarmenian" => Some(0x0571)
"/jheharmenian" => Some(0x057B)
"/keharmenian" => Some(0x0584)
"/kenarmenian" => Some(0x056F)
"/liwnarmenian" => Some(0x056C)
"/menarmenian" => Some(0x0574)
"/nowarmenian" => Some(0x0576)
"/oharmenian" => Some(0x0585)
"/peharmenian" => Some(0x057A)
"/periodarmenian" => Some(0x0589)
"/piwrarmenian" => Some(0x0583)
"/questionarmenian" => Some(0x055E)
"/raarmenian" => Some(0x057C)
"/reharmenian" => Some(0x0580)
"/ringhalfleftarmenian" => Some(0x0559)
"/seharmenian" => Some(0x057D)
"/shaarmenian" => Some(0x0577)
"/tiwnarmenian" => Some(0x057F)
"/toarmenian" => Some(0x0569)
"/vewarmenian" => Some(0x057E)
"/voarmenian" => Some(0x0578)
"/xeharmenian" => Some(0x056D)
"/yiarmenian" => Some(0x0575)
"/yiwnarmenian" => Some(0x0582)
"/zaarmenian" => Some(0x0566)
"/zhearmenian" => Some(0x056A)
_ => None
}
}
///|
fn pdf_text_codepoint_of_devanagari_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/aadeva" => Some(0x0906)
"/aavowelsigndeva" => Some(0x093E)
"/abbreviationsigndeva" => Some(0x0970)
"/acutedeva" => Some(0x0954)
"/adeva" => Some(0x0905)
"/aideva" => Some(0x0910)
"/aivowelsigndeva" => Some(0x0948)
"/anudattadeva" => Some(0x0952)
"/anusvaradeva" => Some(0x0902)
"/audeva" => Some(0x0914)
"/auvowelsigndeva" => Some(0x094C)
"/avagrahadeva" => Some(0x093D)
"/badeva" => Some(0x092C)
"/bhadeva" => Some(0x092D)
"/cadeva" => Some(0x091A)
"/candrabindudeva" => Some(0x0901)
"/chadeva" => Some(0x091B)
"/dadeva" => Some(0x0926)
"/danda" => Some(0x0964)
"/dbldanda" => Some(0x0965)
"/ddadeva" => Some(0x0921)
"/dddhadeva" => Some(0x095C)
"/ddhadeva" => Some(0x0922)
"/dhadeva" => Some(0x0927)
"/ecandradeva" => Some(0x090D)
"/ecandravowelsigndeva" => Some(0x0945)
"/edeva" => Some(0x090F)
"/eightdeva" => Some(0x096E)
"/eshortdeva" => Some(0x090E)
"/eshortvowelsigndeva" => Some(0x0946)
"/evowelsigndeva" => Some(0x0947)
"/fadeva" => Some(0x095E)
"/fivedeva" => Some(0x096B)
"/fourdeva" => Some(0x096A)
"/gadeva" => Some(0x0917)
"/ghadeva" => Some(0x0918)
"/ghhadeva" => Some(0x095A)
"/gravedeva" => Some(0x0953)
"/hadeva" => Some(0x0939)
"/ideva" => Some(0x0907)
"/iideva" => Some(0x0908)
"/iivowelsigndeva" => Some(0x0940)
"/ivowelsigndeva" => Some(0x093F)
"/jadeva" => Some(0x091C)
"/jhadeva" => Some(0x091D)
"/kadeva" => Some(0x0915)
"/khadeva" => Some(0x0916)
"/khhadeva" => Some(0x0959)
"/ladeva" => Some(0x0932)
"/lladeva" => Some(0x0933)
"/llladeva" => Some(0x0934)
"/llvocalicdeva" => Some(0x0961)
"/llvocalicvowelsigndeva" => Some(0x0963)
"/lvocalicdeva" => Some(0x090C)
"/lvocalicvowelsigndeva" => Some(0x0962)
"/madeva" => Some(0x092E)
"/nadeva" => Some(0x0928)
"/ngadeva" => Some(0x0919)
"/ninedeva" => Some(0x096F)
"/nnadeva" => Some(0x0923)
"/nnnadeva" => Some(0x0929)
"/nuktadeva" => Some(0x093C)
"/nyadeva" => Some(0x091E)
"/ocandradeva" => Some(0x0911)
"/ocandravowelsigndeva" => Some(0x0949)
"/odeva" => Some(0x0913)
"/omdeva" => Some(0x0950)
"/onedeva" => Some(0x0967)
"/oshortdeva" => Some(0x0912)
"/oshortvowelsigndeva" => Some(0x094A)
"/ovowelsigndeva" => Some(0x094B)
"/padeva" => Some(0x092A)
"/phadeva" => Some(0x092B)
"/qadeva" => Some(0x0958)
"/radeva" => Some(0x0930)
"/rhadeva" => Some(0x095D)
"/rradeva" => Some(0x0931)
"/rrvocalicdeva" => Some(0x0960)
"/rrvocalicvowelsigndeva" => Some(0x0944)
"/rvocalicdeva" => Some(0x090B)
"/rvocalicvowelsigndeva" => Some(0x0943)
"/sadeva" => Some(0x0938)
"/sevendeva" => Some(0x096D)
"/shadeva" => Some(0x0936)
"/sixdeva" => Some(0x096C)
"/ssadeva" => Some(0x0937)
"/tadeva" => Some(0x0924)
"/thadeva" => Some(0x0925)
"/threedeva" => Some(0x0969)
"/ttadeva" => Some(0x091F)
"/tthadeva" => Some(0x0920)
"/twodeva" => Some(0x0968)
"/udattadeva" => Some(0x0951)
"/udeva" => Some(0x0909)
"/uudeva" => Some(0x090A)
"/uuvowelsigndeva" => Some(0x0942)
"/uvowelsigndeva" => Some(0x0941)
"/vadeva" => Some(0x0935)
"/viramadeva" => Some(0x094D)
"/visargadeva" => Some(0x0903)
"/yadeva" => Some(0x092F)
"/yyadeva" => Some(0x095F)
"/zadeva" => Some(0x095B)
"/zerodeva" => Some(0x0966)
_ => None
}
}
///|
fn pdf_text_codepoint_of_thai_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/angkhankhuthai" => Some(0x0E5A)
"/bahtthai" => Some(0x0E3F)
"/bobaimaithai" => Some(0x0E1A)
"/chochangthai" => Some(0x0E0A)
"/chochanthai" => Some(0x0E08)
"/chochingthai" => Some(0x0E09)
"/chochoethai" => Some(0x0E0C)
"/dochadathai" => Some(0x0E0E)
"/dodekthai" => Some(0x0E14)
"/eightthai" => Some(0x0E58)
"/fivethai" => Some(0x0E55)
"/fofanthai" => Some(0x0E1F)
"/fofathai" => Some(0x0E1D)
"/fongmanthai" => Some(0x0E4F)
"/fourthai" => Some(0x0E54)
"/hohipthai" => Some(0x0E2B)
"/honokhukthai" => Some(0x0E2E)
"/khokhaithai" => Some(0x0E02)
"/khokhonthai" => Some(0x0E05)
"/khokhuatthai" => Some(0x0E03)
"/khokhwaithai" => Some(0x0E04)
"/khomutthai" => Some(0x0E5B)
"/khorakhangthai" => Some(0x0E06)
"/kokaithai" => Some(0x0E01)
"/lakkhangyaothai" => Some(0x0E45)
"/lochulathai" => Some(0x0E2C)
"/lolingthai" => Some(0x0E25)
"/luthai" => Some(0x0E26)
"/maichattawathai" => Some(0x0E4B)
"/maiekthai" => Some(0x0E48)
"/maihanakatthai" => Some(0x0E31)
"/maitaikhuthai" => Some(0x0E47)
"/maithothai" => Some(0x0E49)
"/maitrithai" => Some(0x0E4A)
"/maiyamokthai" => Some(0x0E46)
"/momathai" => Some(0x0E21)
"/ngonguthai" => Some(0x0E07)
"/nikhahitthai" => Some(0x0E4D)
"/ninethai" => Some(0x0E59)
"/nonenthai" => Some(0x0E13)
"/nonuthai" => Some(0x0E19)
"/oangthai" => Some(0x0E2D)
"/onethai" => Some(0x0E51)
"/paiyannoithai" => Some(0x0E2F)
"/phinthuthai" => Some(0x0E3A)
"/phophanthai" => Some(0x0E1E)
"/phophungthai" => Some(0x0E1C)
"/phosamphaothai" => Some(0x0E20)
"/poplathai" => Some(0x0E1B)
"/roruathai" => Some(0x0E23)
"/ruthai" => Some(0x0E24)
"/saraaathai" => Some(0x0E32)
"/saraaethai" => Some(0x0E41)
"/saraaimaimalaithai" => Some(0x0E44)
"/saraaimaimuanthai" => Some(0x0E43)
"/saraamthai" => Some(0x0E33)
"/saraathai" => Some(0x0E30)
"/saraethai" => Some(0x0E40)
"/saraiithai" => Some(0x0E35)
"/saraithai" => Some(0x0E34)
"/saraothai" => Some(0x0E42)
"/saraueethai" => Some(0x0E37)
"/sarauethai" => Some(0x0E36)
"/sarauthai" => Some(0x0E38)
"/sarauuthai" => Some(0x0E39)
"/seventhai" => Some(0x0E57)
"/sixthai" => Some(0x0E56)
"/sorusithai" => Some(0x0E29)
"/sosalathai" => Some(0x0E28)
"/sosothai" => Some(0x0E0B)
"/sosuathai" => Some(0x0E2A)
"/thanthakhatthai" => Some(0x0E4C)
"/thonangmonthothai" => Some(0x0E11)
"/thophuthaothai" => Some(0x0E12)
"/thothahanthai" => Some(0x0E17)
"/thothanthai" => Some(0x0E10)
"/thothongthai" => Some(0x0E18)
"/thothungthai" => Some(0x0E16)
"/threethai" => Some(0x0E53)
"/topatakthai" => Some(0x0E0F)
"/totaothai" => Some(0x0E15)
"/twothai" => Some(0x0E52)
"/wowaenthai" => Some(0x0E27)
"/yamakkanthai" => Some(0x0E4E)
"/yoyakthai" => Some(0x0E22)
"/yoyingthai" => Some(0x0E0D)
"/zerothai" => Some(0x0E50)
_ => None
}
}
///|
fn pdf_text_codepoint_of_math_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/allequal" => Some(0x224C)
"/approaches" => Some(0x2250)
"/approxequalorimage" => Some(0x2252)
"/approximatelyequal" => Some(0x2245)
"/asteriskmath" => Some(0x2217)
"/asymptoticallyequal" => Some(0x2243)
"/because" => Some(0x2235)
"/bulletoperator" => Some(0x2219)
"/circleot" => Some(0x2299)
"/contourintegral" => Some(0x222E)
"/curlyand" => Some(0x22CF)
"/curlyor" => Some(0x22CE)
"/dblintegral" => Some(0x222C)
"/divides" => Some(0x2223)
"/divisionslash" => Some(0x2215)
"/ellipsisvertical" => Some(0x22EE)
"/forall" => Some(0x2200)
"/geometricallyequal" => Some(0x2251)
"/greaterequalorless" => Some(0x22DB)
"/greaterorequivalent" => Some(0x2273)
"/greaterorless" => Some(0x2277)
"/greateroverequal" => Some(0x2267)
"/imageorapproximatelyequal" => Some(0x2253)
"/increment" => Some(0x2206)
"/lessequalorgreater" => Some(0x22DA)
"/lessorequivalent" => Some(0x2272)
"/lessorgreater" => Some(0x2276)
"/lessoverequal" => Some(0x2266)
"/minus" => Some(0x2212)
"/minuscircle" => Some(0x2296)
"/minusplus" => Some(0x2213)
"/muchgreater" => Some(0x226B)
"/muchless" => Some(0x226A)
"/nabla" => Some(0x2207)
"/notcontains" => Some(0x220C)
"/notelementof" => Some(0x2209)
"/notgreater" => Some(0x226F)
"/notgreaternorequal" => Some(0x2271)
"/notgreaternorless" => Some(0x2279)
"/notidentical" => Some(0x2262)
"/notless" => Some(0x226E)
"/notlessnorequal" => Some(0x2270)
"/notparallel" => Some(0x2226)
"/notprecedes" => Some(0x2280)
"/notsucceeds" => Some(0x2281)
"/notsuperset" => Some(0x2285)
"/orthogonal" => Some(0x221F)
"/parallel" => Some(0x2225)
"/pluscircle" => Some(0x2295)
"/precedes" => Some(0x227A)
"/proportion" => Some(0x2237)
"/ratio" => Some(0x2236)
"/reversedtilde" => Some(0x223D)
"/rightangle" => Some(0x221F)
"/righttriangle" => Some(0x22BF)
"/subset" => Some(0x2282)
"/subsetnotequal" => Some(0x228A)
"/subsetorequal" => Some(0x2286)
"/succeeds" => Some(0x227B)
"/superset" => Some(0x2283)
"/supersetnotequal" => Some(0x228B)
"/supersetorequal" => Some(0x2287)
"/tackdown" => Some(0x22A4)
"/tackleft" => Some(0x22A3)
"/thereexists" => Some(0x2203)
"/tildeoperator" => Some(0x223C)
"/timescircle" => Some(0x2297)
_ => None
}
}
///|
fn pdf_text_codepoint_of_number_form_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Oneroman" => Some(0x2160)
"/Tworoman" => Some(0x2161)
"/Threeroman" => Some(0x2162)
"/Fourroman" => Some(0x2163)
"/Fiveroman" => Some(0x2164)
"/Sixroman" => Some(0x2165)
"/Sevenroman" => Some(0x2166)
"/Eightroman" => Some(0x2167)
"/Nineroman" => Some(0x2168)
"/Tenroman" => Some(0x2169)
"/Elevenroman" => Some(0x216A)
"/Twelveroman" => Some(0x216B)
"/oneroman" => Some(0x2170)
"/tworoman" => Some(0x2171)
"/threeroman" => Some(0x2172)
"/fourroman" => Some(0x2173)
"/fiveroman" => Some(0x2174)
"/sixroman" => Some(0x2175)
"/sevenroman" => Some(0x2176)
"/eightroman" => Some(0x2177)
"/nineroman" => Some(0x2178)
"/tenroman" => Some(0x2179)
"/elevenroman" => Some(0x217A)
"/twelveroman" => Some(0x217B)
_ => None
}
}
///|
fn pdf_text_codepoint_of_technical_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/arc" => Some(0x2312)
"/clear" => Some(0x2327)
"/control" => Some(0x2303)
"/deleteleft" => Some(0x232B)
"/deleteright" => Some(0x2326)
"/house" => Some(0x2302)
"/integralbottom" => Some(0x2321)
"/integraltop" => Some(0x2320)
"/logicalnotreversed" => Some(0x2310)
"/option" => Some(0x2325)
"/projective" => Some(0x2305)
"/propellor" => Some(0x2318)
"/revlogicalnot" => Some(0x2310)
_ => None
}
}
///|
fn pdf_text_codepoint_of_enclosed_alnum_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Acircle" => Some(0x24B6)
"/Bcircle" => Some(0x24B7)
"/Ccircle" => Some(0x24B8)
"/Dcircle" => Some(0x24B9)
"/Ecircle" => Some(0x24BA)
"/Fcircle" => Some(0x24BB)
"/Gcircle" => Some(0x24BC)
"/Hcircle" => Some(0x24BD)
"/Icircle" => Some(0x24BE)
"/Jcircle" => Some(0x24BF)
"/Kcircle" => Some(0x24C0)
"/Lcircle" => Some(0x24C1)
"/Mcircle" => Some(0x24C2)
"/Ncircle" => Some(0x24C3)
"/Ocircle" => Some(0x24C4)
"/Pcircle" => Some(0x24C5)
"/Qcircle" => Some(0x24C6)
"/Rcircle" => Some(0x24C7)
"/Scircle" => Some(0x24C8)
"/Tcircle" => Some(0x24C9)
"/Ucircle" => Some(0x24CA)
"/Vcircle" => Some(0x24CB)
"/Wcircle" => Some(0x24CC)
"/Xcircle" => Some(0x24CD)
"/Ycircle" => Some(0x24CE)
"/Zcircle" => Some(0x24CF)
"/acircle" => Some(0x24D0)
"/aparen" => Some(0x249C)
"/bcircle" => Some(0x24D1)
"/bparen" => Some(0x249D)
"/ccircle" => Some(0x24D2)
"/cparen" => Some(0x249E)
"/dcircle" => Some(0x24D3)
"/dparen" => Some(0x249F)
"/ecircle" => Some(0x24D4)
"/eightcircle" => Some(0x2467)
"/eighteencircle" => Some(0x2471)
"/eighteenparen" => Some(0x2485)
"/eighteenperiod" => Some(0x2499)
"/eightparen" => Some(0x247B)
"/eightperiod" => Some(0x248F)
"/elevencircle" => Some(0x246A)
"/elevenparen" => Some(0x247E)
"/elevenperiod" => Some(0x2492)
"/eparen" => Some(0x24A0)
"/fcircle" => Some(0x24D5)
"/fifteencircle" => Some(0x246E)
"/fifteenparen" => Some(0x2482)
"/fifteenperiod" => Some(0x2496)
"/fivecircle" => Some(0x2464)
"/fiveparen" => Some(0x2478)
"/fiveperiod" => Some(0x248C)
"/fourcircle" => Some(0x2463)
"/fourparen" => Some(0x2477)
"/fourperiod" => Some(0x248B)
"/fourteencircle" => Some(0x246D)
"/fourteenparen" => Some(0x2481)
"/fourteenperiod" => Some(0x2495)
"/fparen" => Some(0x24A1)
"/gcircle" => Some(0x24D6)
"/gparen" => Some(0x24A2)
"/hcircle" => Some(0x24D7)
"/hparen" => Some(0x24A3)
"/icircle" => Some(0x24D8)
"/iparen" => Some(0x24A4)
"/jcircle" => Some(0x24D9)
"/jparen" => Some(0x24A5)
"/kcircle" => Some(0x24DA)
"/kparen" => Some(0x24A6)
"/lcircle" => Some(0x24DB)
"/lparen" => Some(0x24A7)
"/mcircle" => Some(0x24DC)
"/mparen" => Some(0x24A8)
"/ncircle" => Some(0x24DD)
"/ninecircle" => Some(0x2468)
"/nineparen" => Some(0x247C)
"/nineperiod" => Some(0x2490)
"/nineteencircle" => Some(0x2472)
"/nineteenparen" => Some(0x2486)
"/nineteenperiod" => Some(0x249A)
"/nparen" => Some(0x24A9)
"/ocircle" => Some(0x24DE)
"/onecircle" => Some(0x2460)
"/oneparen" => Some(0x2474)
"/oneperiod" => Some(0x2488)
"/oparen" => Some(0x24AA)
"/pcircle" => Some(0x24DF)
"/pparen" => Some(0x24AB)
"/qcircle" => Some(0x24E0)
"/qparen" => Some(0x24AC)
"/rcircle" => Some(0x24E1)
"/rparen" => Some(0x24AD)
"/scircle" => Some(0x24E2)
"/sevencircle" => Some(0x2466)
"/sevenparen" => Some(0x247A)
"/sevenperiod" => Some(0x248E)
"/seventeencircle" => Some(0x2470)
"/seventeenparen" => Some(0x2484)
"/seventeenperiod" => Some(0x2498)
"/sixcircle" => Some(0x2465)
"/sixparen" => Some(0x2479)
"/sixperiod" => Some(0x248D)
"/sixteencircle" => Some(0x246F)
"/sixteenparen" => Some(0x2483)
"/sixteenperiod" => Some(0x2497)
"/sparen" => Some(0x24AE)
"/tcircle" => Some(0x24E3)
"/tencircle" => Some(0x2469)
"/tenparen" => Some(0x247D)
"/tenperiod" => Some(0x2491)
"/thirteencircle" => Some(0x246C)
"/thirteenparen" => Some(0x2480)
"/thirteenperiod" => Some(0x2494)
"/threecircle" => Some(0x2462)
"/threeparen" => Some(0x2476)
"/threeperiod" => Some(0x248A)
"/tparen" => Some(0x24AF)
"/twelvecircle" => Some(0x246B)
"/twelveparen" => Some(0x247F)
"/twelveperiod" => Some(0x2493)
"/twentycircle" => Some(0x2473)
"/twentyparen" => Some(0x2487)
"/twentyperiod" => Some(0x249B)
"/twocircle" => Some(0x2461)
"/twoparen" => Some(0x2475)
"/twoperiod" => Some(0x2489)
"/ucircle" => Some(0x24E4)
"/uparen" => Some(0x24B0)
"/vcircle" => Some(0x24E5)
"/vparen" => Some(0x24B1)
"/wcircle" => Some(0x24E6)
"/wparen" => Some(0x24B2)
"/xcircle" => Some(0x24E7)
"/xparen" => Some(0x24B3)
"/ycircle" => Some(0x24E8)
"/yparen" => Some(0x24B4)
"/zcircle" => Some(0x24E9)
"/zparen" => Some(0x24B5)
_ => None
}
}
///|
fn pdf_text_codepoint_of_cjk_symbol_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/anglebracketleft" => Some(0x3008)
"/anglebracketright" => Some(0x3009)
"/blacklenticularbracketleft" => Some(0x3010)
"/blacklenticularbracketright" => Some(0x3011)
"/circlepostalmark" => Some(0x3036)
"/cornerbracketleft" => Some(0x300C)
"/cornerbracketright" => Some(0x300D)
"/dblanglebracketleft" => Some(0x300A)
"/dblanglebracketright" => Some(0x300B)
"/dittomark" => Some(0x3003)
"/eighthangzhou" => Some(0x3028)
"/fivehangzhou" => Some(0x3025)
"/fourhangzhou" => Some(0x3024)
"/getamark" => Some(0x3013)
"/ideographicclose" => Some(0x3006)
"/ideographiccomma" => Some(0x3001)
"/ideographiciterationmark" => Some(0x3005)
"/ideographicperiod" => Some(0x3002)
"/ideographicspace" => Some(0x3000)
"/ideographiczero" => Some(0x3007)
"/jis" => Some(0x3004)
"/ninehangzhou" => Some(0x3029)
"/onehangzhou" => Some(0x3021)
"/postalmark" => Some(0x3012)
"/postalmarkface" => Some(0x3020)
"/quotedblprime" => Some(0x301E)
"/quotedblprimereversed" => Some(0x301D)
"/sevenhangzhou" => Some(0x3027)
"/sixhangzhou" => Some(0x3026)
"/threehangzhou" => Some(0x3023)
"/tortoiseshellbracketleft" => Some(0x3014)
"/tortoiseshellbracketright" => Some(0x3015)
"/twentyhangzhou" => Some(0x5344)
"/twohangzhou" => Some(0x3022)
"/wavedash" => Some(0x301C)
"/whitecornerbracketleft" => Some(0x300E)
"/whitecornerbracketright" => Some(0x300F)
"/whitelenticularbracketleft" => Some(0x3016)
"/whitelenticularbracketright" => Some(0x3017)
"/whitetortoiseshellbracketleft" => Some(0x3018)
"/whitetortoiseshellbracketright" => Some(0x3019)
_ => None
}
}
///|
fn pdf_text_codepoint_of_hiragana_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/ahiragana" => Some(0x3042)
"/asmallhiragana" => Some(0x3041)
"/bahiragana" => Some(0x3070)
"/behiragana" => Some(0x3079)
"/bihiragana" => Some(0x3073)
"/bohiragana" => Some(0x307C)
"/buhiragana" => Some(0x3076)
"/dahiragana" => Some(0x3060)
"/dehiragana" => Some(0x3067)
"/dihiragana" => Some(0x3062)
"/dohiragana" => Some(0x3069)
"/duhiragana" => Some(0x3065)
"/ehiragana" => Some(0x3048)
"/esmallhiragana" => Some(0x3047)
"/gahiragana" => Some(0x304C)
"/gehiragana" => Some(0x3052)
"/gihiragana" => Some(0x304E)
"/gohiragana" => Some(0x3054)
"/guhiragana" => Some(0x3050)
"/hahiragana" => Some(0x306F)
"/hehiragana" => Some(0x3078)
"/hihiragana" => Some(0x3072)
"/hohiragana" => Some(0x307B)
"/huhiragana" => Some(0x3075)
"/ihiragana" => Some(0x3044)
"/ismallhiragana" => Some(0x3043)
"/iterationhiragana" => Some(0x309D)
"/kahiragana" => Some(0x304B)
"/kehiragana" => Some(0x3051)
"/kihiragana" => Some(0x304D)
"/kohiragana" => Some(0x3053)
"/kuhiragana" => Some(0x304F)
"/mahiragana" => Some(0x307E)
"/mehiragana" => Some(0x3081)
"/mihiragana" => Some(0x307F)
"/mohiragana" => Some(0x3082)
"/muhiragana" => Some(0x3080)
"/nahiragana" => Some(0x306A)
"/nehiragana" => Some(0x306D)
"/nhiragana" => Some(0x3093)
"/nihiragana" => Some(0x306B)
"/nohiragana" => Some(0x306E)
"/nuhiragana" => Some(0x306C)
"/ohiragana" => Some(0x304A)
"/osmallhiragana" => Some(0x3049)
"/pahiragana" => Some(0x3071)
"/pehiragana" => Some(0x307A)
"/pihiragana" => Some(0x3074)
"/pohiragana" => Some(0x307D)
"/puhiragana" => Some(0x3077)
"/rahiragana" => Some(0x3089)
"/rehiragana" => Some(0x308C)
"/rihiragana" => Some(0x308A)
"/rohiragana" => Some(0x308D)
"/ruhiragana" => Some(0x308B)
"/sahiragana" => Some(0x3055)
"/sehiragana" => Some(0x305B)
"/semivoicedmarkkana" => Some(0x309C)
"/sihiragana" => Some(0x3057)
"/sohiragana" => Some(0x305D)
"/suhiragana" => Some(0x3059)
"/tahiragana" => Some(0x305F)
"/tehiragana" => Some(0x3066)
"/tihiragana" => Some(0x3061)
"/tohiragana" => Some(0x3068)
"/tuhiragana" => Some(0x3064)
"/tusmallhiragana" => Some(0x3063)
"/uhiragana" => Some(0x3046)
"/usmallhiragana" => Some(0x3045)
"/voicediterationhiragana" => Some(0x309E)
"/voicedmarkkana" => Some(0x309B)
"/vuhiragana" => Some(0x3094)
"/wahiragana" => Some(0x308F)
"/wasmallhiragana" => Some(0x308E)
"/wehiragana" => Some(0x3091)
"/wihiragana" => Some(0x3090)
"/wohiragana" => Some(0x3092)
"/yahiragana" => Some(0x3084)
"/yasmallhiragana" => Some(0x3083)
"/yohiragana" => Some(0x3088)
"/yosmallhiragana" => Some(0x3087)
"/yuhiragana" => Some(0x3086)
"/yusmallhiragana" => Some(0x3085)
"/zahiragana" => Some(0x3056)
"/zehiragana" => Some(0x305C)
"/zihiragana" => Some(0x3058)
"/zohiragana" => Some(0x305E)
"/zuhiragana" => Some(0x305A)
_ => None
}
}
///|
fn pdf_text_codepoint_of_katakana_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/akatakana" => Some(0x30A2)
"/asmallkatakana" => Some(0x30A1)
"/bakatakana" => Some(0x30D0)
"/bekatakana" => Some(0x30D9)
"/bikatakana" => Some(0x30D3)
"/bokatakana" => Some(0x30DC)
"/bukatakana" => Some(0x30D6)
"/dakatakana" => Some(0x30C0)
"/dekatakana" => Some(0x30C7)
"/dikatakana" => Some(0x30C2)
"/dokatakana" => Some(0x30C9)
"/dotkatakana" => Some(0x30FB)
"/dukatakana" => Some(0x30C5)
"/ekatakana" => Some(0x30A8)
"/esmallkatakana" => Some(0x30A7)
"/gakatakana" => Some(0x30AC)
"/gekatakana" => Some(0x30B2)
"/gikatakana" => Some(0x30AE)
"/gokatakana" => Some(0x30B4)
"/gukatakana" => Some(0x30B0)
"/hakatakana" => Some(0x30CF)
"/hekatakana" => Some(0x30D8)
"/hikatakana" => Some(0x30D2)
"/hokatakana" => Some(0x30DB)
"/hukatakana" => Some(0x30D5)
"/ikatakana" => Some(0x30A4)
"/ismallkatakana" => Some(0x30A3)
"/iterationkatakana" => Some(0x30FD)
"/kakatakana" => Some(0x30AB)
"/kasmallkatakana" => Some(0x30F5)
"/kekatakana" => Some(0x30B1)
"/kesmallkatakana" => Some(0x30F6)
"/kikatakana" => Some(0x30AD)
"/kokatakana" => Some(0x30B3)
"/kukatakana" => Some(0x30AF)
"/makatakana" => Some(0x30DE)
"/mekatakana" => Some(0x30E1)
"/mikatakana" => Some(0x30DF)
"/mokatakana" => Some(0x30E2)
"/mukatakana" => Some(0x30E0)
"/nakatakana" => Some(0x30CA)
"/nekatakana" => Some(0x30CD)
"/nikatakana" => Some(0x30CB)
"/nkatakana" => Some(0x30F3)
"/nokatakana" => Some(0x30CE)
"/nukatakana" => Some(0x30CC)
"/okatakana" => Some(0x30AA)
"/osmallkatakana" => Some(0x30A9)
"/pakatakana" => Some(0x30D1)
"/pekatakana" => Some(0x30DA)
"/pikatakana" => Some(0x30D4)
"/pokatakana" => Some(0x30DD)
"/prolongedkana" => Some(0x30FC)
"/pukatakana" => Some(0x30D7)
"/rakatakana" => Some(0x30E9)
"/rekatakana" => Some(0x30EC)
"/rikatakana" => Some(0x30EA)
"/rokatakana" => Some(0x30ED)
"/rukatakana" => Some(0x30EB)
"/sakatakana" => Some(0x30B5)
"/sekatakana" => Some(0x30BB)
"/sikatakana" => Some(0x30B7)
"/sokatakana" => Some(0x30BD)
"/sukatakana" => Some(0x30B9)
"/takatakana" => Some(0x30BF)
"/tekatakana" => Some(0x30C6)
"/tikatakana" => Some(0x30C1)
"/tokatakana" => Some(0x30C8)
"/tukatakana" => Some(0x30C4)
"/tusmallkatakana" => Some(0x30C3)
"/ukatakana" => Some(0x30A6)
"/usmallkatakana" => Some(0x30A5)
"/vakatakana" => Some(0x30F7)
"/vekatakana" => Some(0x30F9)
"/vikatakana" => Some(0x30F8)
"/voicediterationkatakana" => Some(0x30FE)
"/vokatakana" => Some(0x30FA)
"/vukatakana" => Some(0x30F4)
"/wakatakana" => Some(0x30EF)
"/wasmallkatakana" => Some(0x30EE)
"/wekatakana" => Some(0x30F1)
"/wikatakana" => Some(0x30F0)
"/wokatakana" => Some(0x30F2)
"/yakatakana" => Some(0x30E4)
"/yasmallkatakana" => Some(0x30E3)
"/yokatakana" => Some(0x30E8)
"/yosmallkatakana" => Some(0x30E7)
"/yukatakana" => Some(0x30E6)
"/yusmallkatakana" => Some(0x30E5)
"/zakatakana" => Some(0x30B6)
"/zekatakana" => Some(0x30BC)
"/zikatakana" => Some(0x30B8)
"/zokatakana" => Some(0x30BE)
"/zukatakana" => Some(0x30BA)
_ => None
}
}
///|
fn pdf_text_codepoint_of_bopomofo_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/abopomofo" => Some(0x311A)
"/aibopomofo" => Some(0x311E)
"/anbopomofo" => Some(0x3122)
"/angbopomofo" => Some(0x3124)
"/aubopomofo" => Some(0x3120)
"/bbopomofo" => Some(0x3105)
"/cbopomofo" => Some(0x3118)
"/chbopomofo" => Some(0x3114)
"/dbopomofo" => Some(0x3109)
"/ebopomofo" => Some(0x311C)
"/ehbopomofo" => Some(0x311D)
"/eibopomofo" => Some(0x311F)
"/enbopomofo" => Some(0x3123)
"/engbopomofo" => Some(0x3125)
"/erbopomofo" => Some(0x3126)
"/fbopomofo" => Some(0x3108)
"/gbopomofo" => Some(0x310D)
"/hbopomofo" => Some(0x310F)
"/ibopomofo" => Some(0x3127)
"/iubopomofo" => Some(0x3129)
"/jbopomofo" => Some(0x3110)
"/kbopomofo" => Some(0x310E)
"/lbopomofo" => Some(0x310C)
"/mbopomofo" => Some(0x3107)
"/nbopomofo" => Some(0x310B)
"/obopomofo" => Some(0x311B)
"/oubopomofo" => Some(0x3121)
"/pbopomofo" => Some(0x3106)
"/qbopomofo" => Some(0x3111)
"/rbopomofo" => Some(0x3116)
"/sbopomofo" => Some(0x3119)
"/shbopomofo" => Some(0x3115)
"/tbopomofo" => Some(0x310A)
"/ubopomofo" => Some(0x3128)
"/xbopomofo" => Some(0x3112)
"/zbopomofo" => Some(0x3117)
"/zhbopomofo" => Some(0x3113)
_ => None
}
}
///|
fn pdf_text_codepoint_of_box_drawing_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/SF010000" => Some(0x250C)
"/SF020000" => Some(0x2514)
"/SF030000" => Some(0x2510)
"/SF040000" => Some(0x2518)
"/SF050000" => Some(0x253C)
"/SF060000" => Some(0x252C)
"/SF070000" => Some(0x2534)
"/SF080000" => Some(0x251C)
"/SF090000" => Some(0x2524)
"/SF100000" => Some(0x2500)
"/SF110000" => Some(0x2502)
"/SF190000" => Some(0x2561)
"/SF200000" => Some(0x2562)
"/SF210000" => Some(0x2556)
"/SF220000" => Some(0x2555)
"/SF230000" => Some(0x2563)
"/SF240000" => Some(0x2551)
"/SF250000" => Some(0x2557)
"/SF260000" => Some(0x255D)
"/SF270000" => Some(0x255C)
"/SF280000" => Some(0x255B)
"/SF360000" => Some(0x255E)
"/SF370000" => Some(0x255F)
"/SF380000" => Some(0x255A)
"/SF390000" => Some(0x2554)
"/SF400000" => Some(0x2569)
"/SF410000" => Some(0x2566)
"/SF420000" => Some(0x2560)
"/SF430000" => Some(0x2550)
"/SF440000" => Some(0x256C)
"/SF450000" => Some(0x2567)
"/SF460000" => Some(0x2568)
"/SF470000" => Some(0x2564)
"/SF480000" => Some(0x2565)
"/SF490000" => Some(0x2559)
"/SF500000" => Some(0x2558)
"/SF510000" => Some(0x2552)
"/SF520000" => Some(0x2553)
"/SF530000" => Some(0x256B)
"/SF540000" => Some(0x256A)
_ => None
}
}
///|
fn pdf_text_codepoint_of_block_element_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/block" => Some(0x2588)
"/dkshade" => Some(0x2593)
"/dnblock" => Some(0x2584)
"/lfblock" => Some(0x258C)
"/ltshade" => Some(0x2591)
"/rtblock" => Some(0x2590)
"/shade" => Some(0x2592)
"/shadedark" => Some(0x2593)
"/shadelight" => Some(0x2591)
"/shademedium" => Some(0x2592)
"/upblock" => Some(0x2580)
_ => None
}
}
///|
fn pdf_text_codepoint_of_geometric_shape_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/H18533" => Some(0x25CF)
"/H18543" => Some(0x25AA)
"/H18551" => Some(0x25AB)
"/H22073" => Some(0x25A1)
"/blackcircle" => Some(0x25CF)
"/blackdiamond" => Some(0x25C6)
"/blackdownpointingtriangle" => Some(0x25BC)
"/blackleftpointingpointer" => Some(0x25C4)
"/blackleftpointingtriangle" => Some(0x25C0)
"/blacklowerlefttriangle" => Some(0x25E3)
"/blacklowerrighttriangle" => Some(0x25E2)
"/blackrectangle" => Some(0x25AC)
"/blackrightpointingpointer" => Some(0x25BA)
"/blackrightpointingtriangle" => Some(0x25B6)
"/blacksmallsquare" => Some(0x25AA)
"/blacksquare" => Some(0x25A0)
"/blackupperlefttriangle" => Some(0x25E4)
"/blackupperrighttriangle" => Some(0x25E5)
"/blackuppointingsmalltriangle" => Some(0x25B4)
"/blackuppointingtriangle" => Some(0x25B2)
"/bulletinverse" => Some(0x25D8)
"/bullseye" => Some(0x25CE)
"/circle" => Some(0x25CB)
"/circlewithlefthalfblack" => Some(0x25D0)
"/circlewithrighthalfblack" => Some(0x25D1)
"/dottedcircle" => Some(0x25CC)
"/filledbox" => Some(0x25A0)
"/filledrect" => Some(0x25AC)
"/fisheye" => Some(0x25C9)
"/invbullet" => Some(0x25D8)
"/invcircle" => Some(0x25D9)
"/largecircle" => Some(0x25EF)
"/openbullet" => Some(0x25E6)
"/squarediagonalcrosshatchfill" => Some(0x25A9)
"/squarehorizontalfill" => Some(0x25A4)
"/squareorthogonalcrosshatchfill" => Some(0x25A6)
"/squareupperlefttolowerrightfill" => Some(0x25A7)
"/squareupperrighttolowerleftfill" => Some(0x25A8)
"/squareverticalfill" => Some(0x25A5)
"/squarewhitewithsmallblack" => Some(0x25A3)
"/triagdn" => Some(0x25BC)
"/triaglf" => Some(0x25C4)
"/triagrt" => Some(0x25BA)
"/triagup" => Some(0x25B2)
"/whitebullet" => Some(0x25E6)
"/whitecircle" => Some(0x25CB)
"/whitecircleinverse" => Some(0x25D9)
"/whitediamond" => Some(0x25C7)
"/whitediamondcontainingblacksmalldiamond" => Some(0x25C8)
"/whitedownpointingsmalltriangle" => Some(0x25BF)
"/whitedownpointingtriangle" => Some(0x25BD)
"/whiteleftpointingsmalltriangle" => Some(0x25C3)
"/whiteleftpointingtriangle" => Some(0x25C1)
"/whiterightpointingsmalltriangle" => Some(0x25B9)
"/whiterightpointingtriangle" => Some(0x25B7)
"/whitesmallsquare" => Some(0x25AB)
"/whitesquare" => Some(0x25A1)
"/whiteuppointingsmalltriangle" => Some(0x25B5)
"/whiteuppointingtriangle" => Some(0x25B3)
_ => None
}
}
///|
fn pdf_text_codepoint_of_misc_symbol_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/beamedsixteenthnotes" => Some(0x266C)
"/blacksmilingface" => Some(0x263B)
"/blackstar" => Some(0x2605)
"/clubsuitblack" => Some(0x2663)
"/clubsuitwhite" => Some(0x2667)
"/compass" => Some(0x263C)
"/diamondsuitwhite" => Some(0x2662)
"/earth" => Some(0x2641)
"/eighthnotebeamed" => Some(0x266B)
"/female" => Some(0x2640)
"/heartsuitblack" => Some(0x2665)
"/heartsuitwhite" => Some(0x2661)
"/hotsprings" => Some(0x2668)
"/invsmileface" => Some(0x263B)
"/male" => Some(0x2642)
"/mars" => Some(0x2642)
"/musicalnote" => Some(0x266A)
"/musicalnotedbl" => Some(0x266B)
"/musicflatsign" => Some(0x266D)
"/musicsharpsign" => Some(0x266F)
"/pointingindexdownwhite" => Some(0x261F)
"/pointingindexleftwhite" => Some(0x261C)
"/pointingindexrightwhite" => Some(0x261E)
"/pointingindexupwhite" => Some(0x261D)
"/quarternote" => Some(0x2669)
"/smileface" => Some(0x263A)
"/spadesuitblack" => Some(0x2660)
"/spadesuitwhite" => Some(0x2664)
"/sun" => Some(0x263C)
"/telephoneblack" => Some(0x260E)
"/venus" => Some(0x2640)
"/whitesmilingface" => Some(0x263A)
"/whitestar" => Some(0x2606)
"/whitetelephone" => Some(0x260F)
"/yinyang" => Some(0x262F)
_ => None
}
}
///|
fn pdf_text_codepoint_of_latin_extended_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Abreve" => Some(0x0102)
"/Amacron" => Some(0x0100)
"/Aogonek" => Some(0x0104)
"/Cacute" => Some(0x0106)
"/Ccaron" => Some(0x010C)
"/Ccircumflex" => Some(0x0108)
"/Cdot" => Some(0x010A)
"/Cdotaccent" => Some(0x010A)
"/Dcaron" => Some(0x010E)
"/Dcroat" => Some(0x0110)
"/Dslash" => Some(0x0110)
"/Ebreve" => Some(0x0114)
"/Ecaron" => Some(0x011A)
"/Edot" => Some(0x0116)
"/Edotaccent" => Some(0x0116)
"/Emacron" => Some(0x0112)
"/Eng" => Some(0x014A)
"/Eogonek" => Some(0x0118)
"/Gbreve" => Some(0x011E)
"/Gcedilla" => Some(0x0122)
"/Gcircumflex" => Some(0x011C)
"/Gcommaaccent" => Some(0x0122)
"/Gdot" => Some(0x0120)
"/Gdotaccent" => Some(0x0120)
"/Hbar" => Some(0x0126)
"/Hcircumflex" => Some(0x0124)
"/IJ" => Some(0x0132)
"/Ibreve" => Some(0x012C)
"/Idot" => Some(0x0130)
"/Idotaccent" => Some(0x0130)
"/Imacron" => Some(0x012A)
"/Iogonek" => Some(0x012E)
"/Itilde" => Some(0x0128)
"/Jcircumflex" => Some(0x0134)
"/Kcedilla" => Some(0x0136)
"/Kcommaaccent" => Some(0x0136)
"/Lacute" => Some(0x0139)
"/Lcaron" => Some(0x013D)
"/Lcedilla" => Some(0x013B)
"/Lcommaaccent" => Some(0x013B)
"/Ldot" => Some(0x013F)
"/Ldotaccent" => Some(0x013F)
"/Nacute" => Some(0x0143)
"/Ncaron" => Some(0x0147)
"/Ncedilla" => Some(0x0145)
"/Ncommaaccent" => Some(0x0145)
"/Obreve" => Some(0x014E)
"/Odblacute" => Some(0x0150)
"/Ohungarumlaut" => Some(0x0150)
"/Omacron" => Some(0x014C)
"/Racute" => Some(0x0154)
"/Rcaron" => Some(0x0158)
"/Rcedilla" => Some(0x0156)
"/Rcommaaccent" => Some(0x0156)
"/Sacute" => Some(0x015A)
"/Scedilla" => Some(0x015E)
"/Scircumflex" => Some(0x015C)
"/Tbar" => Some(0x0166)
"/Tcaron" => Some(0x0164)
"/Tcedilla" => Some(0x0162)
"/Tcommaaccent" => Some(0x0162)
"/Ubreve" => Some(0x016C)
"/Udblacute" => Some(0x0170)
"/Uhungarumlaut" => Some(0x0170)
"/Umacron" => Some(0x016A)
"/Uogonek" => Some(0x0172)
"/Uring" => Some(0x016E)
"/Utilde" => Some(0x0168)
"/Wcircumflex" => Some(0x0174)
"/Ycircumflex" => Some(0x0176)
"/Zacute" => Some(0x0179)
"/Zdot" => Some(0x017B)
"/Zdotaccent" => Some(0x017B)
"/abreve" => Some(0x0103)
"/amacron" => Some(0x0101)
"/aogonek" => Some(0x0105)
"/cacute" => Some(0x0107)
"/ccaron" => Some(0x010D)
"/ccircumflex" => Some(0x0109)
"/cdot" => Some(0x010B)
"/cdotaccent" => Some(0x010B)
"/dcaron" => Some(0x010F)
"/dcroat" => Some(0x0111)
"/dmacron" => Some(0x0111)
"/ebreve" => Some(0x0115)
"/ecaron" => Some(0x011B)
"/edot" => Some(0x0117)
"/edotaccent" => Some(0x0117)
"/emacron" => Some(0x0113)
"/eng" => Some(0x014B)
"/eogonek" => Some(0x0119)
"/gbreve" => Some(0x011F)
"/gcedilla" => Some(0x0123)
"/gcircumflex" => Some(0x011D)
"/gcommaaccent" => Some(0x0123)
"/gdot" => Some(0x0121)
"/gdotaccent" => Some(0x0121)
"/hbar" => Some(0x0127)
"/hcircumflex" => Some(0x0125)
"/ibreve" => Some(0x012D)
"/ij" => Some(0x0133)
"/imacron" => Some(0x012B)
"/iogonek" => Some(0x012F)
"/itilde" => Some(0x0129)
"/jcircumflex" => Some(0x0135)
"/kcedilla" => Some(0x0137)
"/kcommaaccent" => Some(0x0137)
"/kgreenlandic" => Some(0x0138)
"/lacute" => Some(0x013A)
"/lcaron" => Some(0x013E)
"/lcedilla" => Some(0x013C)
"/lcommaaccent" => Some(0x013C)
"/ldot" => Some(0x0140)
"/ldotaccent" => Some(0x0140)
"/longs" => Some(0x017F)
"/nacute" => Some(0x0144)
"/napostrophe" => Some(0x0149)
"/ncaron" => Some(0x0148)
"/ncedilla" => Some(0x0146)
"/ncommaaccent" => Some(0x0146)
"/obreve" => Some(0x014F)
"/odblacute" => Some(0x0151)
"/ohungarumlaut" => Some(0x0151)
"/omacron" => Some(0x014D)
"/quoterightn" => Some(0x0149)
"/racute" => Some(0x0155)
"/rcaron" => Some(0x0159)
"/rcedilla" => Some(0x0157)
"/rcommaaccent" => Some(0x0157)
"/sacute" => Some(0x015B)
"/scedilla" => Some(0x015F)
"/scircumflex" => Some(0x015D)
"/slong" => Some(0x017F)
"/tbar" => Some(0x0167)
"/tcaron" => Some(0x0165)
"/tcedilla" => Some(0x0163)
"/tcommaaccent" => Some(0x0163)
"/ubreve" => Some(0x016D)
"/udblacute" => Some(0x0171)
"/uhungarumlaut" => Some(0x0171)
"/umacron" => Some(0x016B)
"/uogonek" => Some(0x0173)
"/uring" => Some(0x016F)
"/utilde" => Some(0x0169)
"/wcircumflex" => Some(0x0175)
"/ycircumflex" => Some(0x0177)
"/zacute" => Some(0x017A)
"/zdot" => Some(0x017C)
"/zdotaccent" => Some(0x017C)
"/AEacute" => Some(0x01FC)
"/AEmacron" => Some(0x01E2)
"/Acaron" => Some(0x01CD)
"/Adblgrave" => Some(0x0200)
"/Adieresismacron" => Some(0x01DE)
"/Adotmacron" => Some(0x01E0)
"/Ainvertedbreve" => Some(0x0202)
"/Aringacute" => Some(0x01FA)
"/Bhook" => Some(0x0181)
"/Btopbar" => Some(0x0182)
"/Chook" => Some(0x0187)
"/DZ" => Some(0x01F1)
"/DZcaron" => Some(0x01C4)
"/Dafrican" => Some(0x0189)
"/Dhook" => Some(0x018A)
"/Dtopbar" => Some(0x018B)
"/Dz" => Some(0x01F2)
"/Dzcaron" => Some(0x01C5)
"/Edblgrave" => Some(0x0204)
"/Einvertedbreve" => Some(0x0206)
"/Eopen" => Some(0x0190)
"/Ereversed" => Some(0x018E)
"/Esh" => Some(0x01A9)
"/Ezh" => Some(0x01B7)
"/Ezhcaron" => Some(0x01EE)
"/Ezhreversed" => Some(0x01B8)
"/Fhook" => Some(0x0191)
"/Gacute" => Some(0x01F4)
"/Gammaafrican" => Some(0x0194)
"/Gcaron" => Some(0x01E6)
"/Ghook" => Some(0x0193)
"/Gstroke" => Some(0x01E4)
"/Icaron" => Some(0x01CF)
"/Idblgrave" => Some(0x0208)
"/Iinvertedbreve" => Some(0x020A)
"/Iotaafrican" => Some(0x0196)
"/Istroke" => Some(0x0197)
"/Kcaron" => Some(0x01E8)
"/Khook" => Some(0x0198)
"/LJ" => Some(0x01C7)
"/Lj" => Some(0x01C8)
"/Mturned" => Some(0x019C)
"/NJ" => Some(0x01CA)
"/Nhookleft" => Some(0x019D)
"/Nj" => Some(0x01CB)
"/Ocaron" => Some(0x01D1)
"/Ocenteredtilde" => Some(0x019F)
"/Odblgrave" => Some(0x020C)
"/Ohorn" => Some(0x01A0)
"/Oi" => Some(0x01A2)
"/Oinvertedbreve" => Some(0x020E)
"/Oogonek" => Some(0x01EA)
"/Oogonekmacron" => Some(0x01EC)
"/Oopen" => Some(0x0186)
"/Oslashacute" => Some(0x01FE)
"/Ostrokeacute" => Some(0x01FE)
"/Phook" => Some(0x01A4)
"/Rdblgrave" => Some(0x0210)
"/Rinvertedbreve" => Some(0x0212)
"/Schwa" => Some(0x018F)
"/Scommaaccent" => Some(0x0218)
"/Thook" => Some(0x01AC)
"/Tonefive" => Some(0x01BC)
"/Tonesix" => Some(0x0184)
"/Tonetwo" => Some(0x01A7)
"/Tretroflexhook" => Some(0x01AE)
"/Ucaron" => Some(0x01D3)
"/Udblgrave" => Some(0x0214)
"/Udieresisacute" => Some(0x01D7)
"/Udieresiscaron" => Some(0x01D9)
"/Udieresisgrave" => Some(0x01DB)
"/Udieresismacron" => Some(0x01D5)
"/Uhorn" => Some(0x01AF)
"/Uinvertedbreve" => Some(0x0216)
"/Upsilonafrican" => Some(0x01B1)
"/Vhook" => Some(0x01B2)
"/Yhook" => Some(0x01B3)
"/Zstroke" => Some(0x01B5)
"/acaron" => Some(0x01CE)
"/adblgrave" => Some(0x0201)
"/adieresismacron" => Some(0x01DF)
"/adotmacron" => Some(0x01E1)
"/aeacute" => Some(0x01FD)
"/aemacron" => Some(0x01E3)
"/ainvertedbreve" => Some(0x0203)
"/aringacute" => Some(0x01FB)
"/bstroke" => Some(0x0180)
"/btopbar" => Some(0x0183)
"/chook" => Some(0x0188)
"/clickalveolar" => Some(0x01C2)
"/clickdental" => Some(0x01C0)
"/clicklateral" => Some(0x01C1)
"/clickretroflex" => Some(0x01C3)
"/deltaturned" => Some(0x018D)
"/dtopbar" => Some(0x018C)
"/dz" => Some(0x01F3)
"/dzcaron" => Some(0x01C6)
"/edblgrave" => Some(0x0205)
"/einvertedbreve" => Some(0x0207)
"/eshreversedloop" => Some(0x01AA)
"/eturned" => Some(0x01DD)
"/ezhcaron" => Some(0x01EF)
"/ezhreversed" => Some(0x01B9)
"/ezhtail" => Some(0x01BA)
"/gacute" => Some(0x01F5)
"/gcaron" => Some(0x01E7)
"/glottalinvertedstroke" => Some(0x01BE)
"/gstroke" => Some(0x01E5)
"/hv" => Some(0x0195)
"/icaron" => Some(0x01D0)
"/idblgrave" => Some(0x0209)
"/iinvertedbreve" => Some(0x020B)
"/jcaron" => Some(0x01F0)
"/kcaron" => Some(0x01E9)
"/khook" => Some(0x0199)
"/lambdastroke" => Some(0x019B)
"/lbar" => Some(0x019A)
"/lj" => Some(0x01C9)
"/nj" => Some(0x01CC)
"/nlegrightlong" => Some(0x019E)
"/ocaron" => Some(0x01D2)
"/odblgrave" => Some(0x020D)
"/ohorn" => Some(0x01A1)
"/oi" => Some(0x01A3)
"/oinvertedbreve" => Some(0x020F)
"/oogonek" => Some(0x01EB)
"/oogonekmacron" => Some(0x01ED)
"/oslashacute" => Some(0x01FF)
"/ostrokeacute" => Some(0x01FF)
"/phook" => Some(0x01A5)
"/rdblgrave" => Some(0x0211)
"/rinvertedbreve" => Some(0x0213)
"/scommaaccent" => Some(0x0219)
"/thook" => Some(0x01AD)
"/tonefive" => Some(0x01BD)
"/tonesix" => Some(0x0185)
"/tonetwo" => Some(0x01A8)
"/tpalatalhook" => Some(0x01AB)
"/twostroke" => Some(0x01BB)
"/ucaron" => Some(0x01D4)
"/udblgrave" => Some(0x0215)
"/udieresisacute" => Some(0x01D8)
"/udieresiscaron" => Some(0x01DA)
"/udieresisgrave" => Some(0x01DC)
"/udieresismacron" => Some(0x01D6)
"/uhorn" => Some(0x01B0)
"/uinvertedbreve" => Some(0x0217)
"/wynn" => Some(0x01BF)
"/yhook" => Some(0x01B4)
"/yr" => Some(0x01A6)
"/zstroke" => Some(0x01B6)
_ => None
}
}
///|
fn pdf_text_codepoint_of_hangul_compat_jamo_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/aekorean" => Some(0x3150)
"/akorean" => Some(0x314F)
"/araeaekorean" => Some(0x318E)
"/araeakorean" => Some(0x318D)
"/chieuchkorean" => Some(0x314A)
"/cieuckorean" => Some(0x3148)
"/ekorean" => Some(0x3154)
"/eokorean" => Some(0x3153)
"/eukorean" => Some(0x3161)
"/hangulfiller" => Some(0x3164)
"/hieuhkorean" => Some(0x314E)
"/ieungkorean" => Some(0x3147)
"/ikorean" => Some(0x3163)
"/kapyeounmieumkorean" => Some(0x3171)
"/kapyeounphieuphkorean" => Some(0x3184)
"/kapyeounpieupkorean" => Some(0x3178)
"/kapyeounssangpieupkorean" => Some(0x3179)
"/khieukhkorean" => Some(0x314B)
"/kiyeokkorean" => Some(0x3131)
"/kiyeoksioskorean" => Some(0x3133)
"/mieumkorean" => Some(0x3141)
"/mieumpansioskorean" => Some(0x3170)
"/mieumpieupkorean" => Some(0x316E)
"/mieumsioskorean" => Some(0x316F)
"/nieuncieuckorean" => Some(0x3135)
"/nieunhieuhkorean" => Some(0x3136)
"/nieunkorean" => Some(0x3134)
"/nieunpansioskorean" => Some(0x3168)
"/nieunsioskorean" => Some(0x3167)
"/nieuntikeutkorean" => Some(0x3166)
"/oekorean" => Some(0x315A)
"/okorean" => Some(0x3157)
"/pansioskorean" => Some(0x317F)
"/phieuphkorean" => Some(0x314D)
"/pieupcieuckorean" => Some(0x3176)
"/pieupkiyeokkorean" => Some(0x3172)
"/pieupkorean" => Some(0x3142)
"/pieupsioskiyeokkorean" => Some(0x3174)
"/pieupsioskorean" => Some(0x3144)
"/pieupsiostikeutkorean" => Some(0x3175)
"/pieupthieuthkorean" => Some(0x3177)
"/pieuptikeutkorean" => Some(0x3173)
"/rieulhieuhkorean" => Some(0x3140)
"/rieulkiyeokkorean" => Some(0x313A)
"/rieulkiyeoksioskorean" => Some(0x3169)
"/rieulkorean" => Some(0x3139)
"/rieulmieumkorean" => Some(0x313B)
"/rieulpansioskorean" => Some(0x316C)
"/rieulphieuphkorean" => Some(0x313F)
"/rieulpieupkorean" => Some(0x313C)
"/rieulpieupsioskorean" => Some(0x316B)
"/rieulsioskorean" => Some(0x313D)
"/rieulthieuthkorean" => Some(0x313E)
"/rieultikeutkorean" => Some(0x316A)
"/rieulyeorinhieuhkorean" => Some(0x316D)
"/sioscieuckorean" => Some(0x317E)
"/sioskiyeokkorean" => Some(0x317A)
"/sioskorean" => Some(0x3145)
"/siosnieunkorean" => Some(0x317B)
"/siospieupkorean" => Some(0x317D)
"/siostikeutkorean" => Some(0x317C)
"/ssangcieuckorean" => Some(0x3149)
"/ssanghieuhkorean" => Some(0x3185)
"/ssangieungkorean" => Some(0x3180)
"/ssangkiyeokkorean" => Some(0x3132)
"/ssangnieunkorean" => Some(0x3165)
"/ssangpieupkorean" => Some(0x3143)
"/ssangsioskorean" => Some(0x3146)
"/ssangtikeutkorean" => Some(0x3138)
"/thieuthkorean" => Some(0x314C)
"/tikeutkorean" => Some(0x3137)
"/ukorean" => Some(0x315C)
"/waekorean" => Some(0x3159)
"/wakorean" => Some(0x3158)
"/wekorean" => Some(0x315E)
"/weokorean" => Some(0x315D)
"/wikorean" => Some(0x315F)
"/yaekorean" => Some(0x3152)
"/yakorean" => Some(0x3151)
"/yekorean" => Some(0x3156)
"/yeokorean" => Some(0x3155)
"/yeorinhieuhkorean" => Some(0x3186)
"/yesieungkorean" => Some(0x3181)
"/yesieungpansioskorean" => Some(0x3183)
"/yesieungsioskorean" => Some(0x3182)
"/yikorean" => Some(0x3162)
"/yoikorean" => Some(0x3189)
"/yokorean" => Some(0x315B)
"/yoyaekorean" => Some(0x3188)
"/yoyakorean" => Some(0x3187)
"/yuikorean" => Some(0x318C)
"/yukorean" => Some(0x3160)
"/yuyekorean" => Some(0x318B)
"/yuyeokorean" => Some(0x318A)
_ => None
}
}
///|
fn pdf_text_codepoint_of_enclosed_cjk_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/chieuchacirclekorean" => Some(0x3277)
"/chieuchaparenkorean" => Some(0x3217)
"/chieuchcirclekorean" => Some(0x3269)
"/chieuchparenkorean" => Some(0x3209)
"/cieucacirclekorean" => Some(0x3276)
"/cieucaparenkorean" => Some(0x3216)
"/cieuccirclekorean" => Some(0x3268)
"/cieucparenkorean" => Some(0x3208)
"/cieucuparenkorean" => Some(0x321C)
"/eightideographicparen" => Some(0x3227)
"/fiveideographicparen" => Some(0x3224)
"/fourideographicparen" => Some(0x3223)
"/hieuhacirclekorean" => Some(0x327B)
"/hieuhaparenkorean" => Some(0x321B)
"/hieuhcirclekorean" => Some(0x326D)
"/hieuhparenkorean" => Some(0x320D)
"/ideographearthcircle" => Some(0x328F)
"/ideographfirecircle" => Some(0x328B)
"/ideographicallianceparen" => Some(0x323F)
"/ideographiccallparen" => Some(0x323A)
"/ideographiccentrecircle" => Some(0x32A5)
"/ideographiccongratulationparen" => Some(0x3237)
"/ideographiccorrectcircle" => Some(0x32A3)
"/ideographicearthparen" => Some(0x322F)
"/ideographicenterpriseparen" => Some(0x323D)
"/ideographicexcellentcircle" => Some(0x329D)
"/ideographicfestivalparen" => Some(0x3240)
"/ideographicfinancialcircle" => Some(0x3296)
"/ideographicfinancialparen" => Some(0x3236)
"/ideographicfireparen" => Some(0x322B)
"/ideographichaveparen" => Some(0x3232)
"/ideographichighcircle" => Some(0x32A4)
"/ideographiclaborcircle" => Some(0x3298)
"/ideographiclaborparen" => Some(0x3238)
"/ideographicleftcircle" => Some(0x32A7)
"/ideographiclowcircle" => Some(0x32A6)
"/ideographicmedicinecircle" => Some(0x32A9)
"/ideographicmetalparen" => Some(0x322E)
"/ideographicmoonparen" => Some(0x322A)
"/ideographicnameparen" => Some(0x3234)
"/ideographicprintcircle" => Some(0x329E)
"/ideographicreachparen" => Some(0x3243)
"/ideographicrepresentparen" => Some(0x3239)
"/ideographicresourceparen" => Some(0x323E)
"/ideographicrightcircle" => Some(0x32A8)
"/ideographicsecretcircle" => Some(0x3299)
"/ideographicselfparen" => Some(0x3242)
"/ideographicsocietyparen" => Some(0x3233)
"/ideographicspecialparen" => Some(0x3235)
"/ideographicstockparen" => Some(0x3231)
"/ideographicstudyparen" => Some(0x323B)
"/ideographicsunparen" => Some(0x3230)
"/ideographicsuperviseparen" => Some(0x323C)
"/ideographicwaterparen" => Some(0x322C)
"/ideographicwoodparen" => Some(0x322D)
"/ideographmetalcircle" => Some(0x328E)
"/ideographmooncircle" => Some(0x328A)
"/ideographnamecircle" => Some(0x3294)
"/ideographsuncircle" => Some(0x3290)
"/ideographwatercircle" => Some(0x328C)
"/ideographwoodcircle" => Some(0x328D)
"/ieungacirclekorean" => Some(0x3275)
"/ieungaparenkorean" => Some(0x3215)
"/ieungcirclekorean" => Some(0x3267)
"/ieungparenkorean" => Some(0x3207)
"/khieukhacirclekorean" => Some(0x3278)
"/khieukhaparenkorean" => Some(0x3218)
"/khieukhcirclekorean" => Some(0x326A)
"/khieukhparenkorean" => Some(0x320A)
"/kiyeokacirclekorean" => Some(0x326E)
"/kiyeokaparenkorean" => Some(0x320E)
"/kiyeokcirclekorean" => Some(0x3260)
"/kiyeokparenkorean" => Some(0x3200)
"/koreanstandardsymbol" => Some(0x327F)
"/mieumacirclekorean" => Some(0x3272)
"/mieumaparenkorean" => Some(0x3212)
"/mieumcirclekorean" => Some(0x3264)
"/mieumparenkorean" => Some(0x3204)
"/nieunacirclekorean" => Some(0x326F)
"/nieunaparenkorean" => Some(0x320F)
"/nieuncirclekorean" => Some(0x3261)
"/nieunparenkorean" => Some(0x3201)
"/nineideographicparen" => Some(0x3228)
"/oneideographicparen" => Some(0x3220)
"/phieuphacirclekorean" => Some(0x327A)
"/phieuphaparenkorean" => Some(0x321A)
"/phieuphcirclekorean" => Some(0x326C)
"/phieuphparenkorean" => Some(0x320C)
"/pieupacirclekorean" => Some(0x3273)
"/pieupaparenkorean" => Some(0x3213)
"/pieupcirclekorean" => Some(0x3265)
"/pieupparenkorean" => Some(0x3205)
"/rieulacirclekorean" => Some(0x3271)
"/rieulaparenkorean" => Some(0x3211)
"/rieulcirclekorean" => Some(0x3263)
"/rieulparenkorean" => Some(0x3203)
"/sevenideographicparen" => Some(0x3226)
"/siosacirclekorean" => Some(0x3274)
"/siosaparenkorean" => Some(0x3214)
"/sioscirclekorean" => Some(0x3266)
"/siosparenkorean" => Some(0x3206)
"/sixideographicparen" => Some(0x3225)
"/tenideographicparen" => Some(0x3229)
"/thieuthacirclekorean" => Some(0x3279)
"/thieuthaparenkorean" => Some(0x3219)
"/thieuthcirclekorean" => Some(0x326B)
"/thieuthparenkorean" => Some(0x320B)
"/threeideographicparen" => Some(0x3222)
"/tikeutacirclekorean" => Some(0x3270)
"/tikeutaparenkorean" => Some(0x3210)
"/tikeutcirclekorean" => Some(0x3262)
"/tikeutparenkorean" => Some(0x3202)
"/twoideographicparen" => Some(0x3221)
_ => None
}
}
///|
fn pdf_text_codepoint_of_private_use_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Acute" => Some(0xF6C9)
"/Caron" => Some(0xF6CA)
"/Dieresis" => Some(0xF6CB)
"/DieresisAcute" => Some(0xF6CC)
"/DieresisGrave" => Some(0xF6CD)
"/Grave" => Some(0xF6CE)
"/Hungarumlaut" => Some(0xF6CF)
"/LL" => Some(0xF6BF)
"/Macron" => Some(0xF6D0)
"/afii10063" => Some(0xF6C4)
"/afii10064" => Some(0xF6C5)
"/afii10192" => Some(0xF6C6)
"/afii10831" => Some(0xF6C7)
"/afii10832" => Some(0xF6C8)
"/apple" => Some(0xF8FF)
"/commaaccent" => Some(0xF6C3)
"/cyrBreve" => Some(0xF6D1)
"/cyrFlex" => Some(0xF6D2)
"/cyrbreve" => Some(0xF6D4)
"/cyrflex" => Some(0xF6D5)
"/dblGrave" => Some(0xF6D3)
"/dblgrave" => Some(0xF6D6)
"/dieresisacute" => Some(0xF6D7)
"/dieresisgrave" => Some(0xF6D8)
"/dollarsuperior" => Some(0xF6E4)
"/dotlessj" => Some(0xF6BE)
"/ll" => Some(0xF6C0)
"/maichattawalowleftthai" => Some(0xF895)
"/maichattawalowrightthai" => Some(0xF894)
"/maichattawaupperleftthai" => Some(0xF893)
"/maieklowleftthai" => Some(0xF88C)
"/maieklowrightthai" => Some(0xF88B)
"/maiekupperleftthai" => Some(0xF88A)
"/maihanakatleftthai" => Some(0xF884)
"/maitaikhuleftthai" => Some(0xF889)
"/maitholowleftthai" => Some(0xF88F)
"/maitholowrightthai" => Some(0xF88E)
"/maithoupperleftthai" => Some(0xF88D)
"/maitrilowleftthai" => Some(0xF892)
"/maitrilowrightthai" => Some(0xF891)
"/maitriupperleftthai" => Some(0xF890)
"/nikhahitleftthai" => Some(0xF899)
"/saraiileftthai" => Some(0xF886)
"/saraileftthai" => Some(0xF885)
"/saraueeleftthai" => Some(0xF888)
"/saraueleftthai" => Some(0xF887)
"/thanthakhatlowleftthai" => Some(0xF898)
"/thanthakhatlowrightthai" => Some(0xF897)
"/thanthakhatupperleftthai" => Some(0xF896)
_ => None
}
}
///|
fn pdf_text_codepoint_of_expert_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/AEsmall" => Some(0xF7E6)
"/Aacutesmall" => Some(0xF7E1)
"/Acircumflexsmall" => Some(0xF7E2)
"/Acutesmall" => Some(0xF7B4)
"/Adieresissmall" => Some(0xF7E4)
"/Agravesmall" => Some(0xF7E0)
"/Aringsmall" => Some(0xF7E5)
"/Asmall" => Some(0xF761)
"/Atildesmall" => Some(0xF7E3)
"/Brevesmall" => Some(0xF6F4)
"/Bsmall" => Some(0xF762)
"/Caronsmall" => Some(0xF6F5)
"/Ccedillasmall" => Some(0xF7E7)
"/Cedillasmall" => Some(0xF7B8)
"/Circumflexsmall" => Some(0xF6F6)
"/Csmall" => Some(0xF763)
"/Dieresissmall" => Some(0xF7A8)
"/Dotaccentsmall" => Some(0xF6F7)
"/Dsmall" => Some(0xF764)
"/Eacutesmall" => Some(0xF7E9)
"/Ecircumflexsmall" => Some(0xF7EA)
"/Edieresissmall" => Some(0xF7EB)
"/Egravesmall" => Some(0xF7E8)
"/Esmall" => Some(0xF765)
"/Ethsmall" => Some(0xF7F0)
"/Fsmall" => Some(0xF766)
"/Gravesmall" => Some(0xF760)
"/Gsmall" => Some(0xF767)
"/Hsmall" => Some(0xF768)
"/Hungarumlautsmall" => Some(0xF6F8)
"/Iacutesmall" => Some(0xF7ED)
"/Icircumflexsmall" => Some(0xF7EE)
"/Idieresissmall" => Some(0xF7EF)
"/Igravesmall" => Some(0xF7EC)
"/Ismall" => Some(0xF769)
"/Jsmall" => Some(0xF76A)
"/Ksmall" => Some(0xF76B)
"/Lslashsmall" => Some(0xF6F9)
"/Lsmall" => Some(0xF76C)
"/Macronsmall" => Some(0xF7AF)
"/Msmall" => Some(0xF76D)
"/Nsmall" => Some(0xF76E)
"/Ntildesmall" => Some(0xF7F1)
"/OEsmall" => Some(0xF6FA)
"/Oacutesmall" => Some(0xF7F3)
"/Ocircumflexsmall" => Some(0xF7F4)
"/Odieresissmall" => Some(0xF7F6)
"/Ogoneksmall" => Some(0xF6FB)
"/Ogravesmall" => Some(0xF7F2)
"/Oslashsmall" => Some(0xF7F8)
"/Osmall" => Some(0xF76F)
"/Otildesmall" => Some(0xF7F5)
"/Psmall" => Some(0xF770)
"/Qsmall" => Some(0xF771)
"/Ringsmall" => Some(0xF6FC)
"/Rsmall" => Some(0xF772)
"/Scaronsmall" => Some(0xF6FD)
"/Ssmall" => Some(0xF773)
"/Thornsmall" => Some(0xF7FE)
"/Tildesmall" => Some(0xF6FE)
"/Tsmall" => Some(0xF774)
"/Uacutesmall" => Some(0xF7FA)
"/Ucircumflexsmall" => Some(0xF7FB)
"/Udieresissmall" => Some(0xF7FC)
"/Ugravesmall" => Some(0xF7F9)
"/Usmall" => Some(0xF775)
"/Vsmall" => Some(0xF776)
"/Wsmall" => Some(0xF777)
"/Xsmall" => Some(0xF778)
"/Yacutesmall" => Some(0xF7FD)
"/Ydieresissmall" => Some(0xF7FF)
"/Ysmall" => Some(0xF779)
"/Zcaronsmall" => Some(0xF6FF)
"/Zsmall" => Some(0xF77A)
"/ampersandsmall" => Some(0xF726)
"/asuperior" => Some(0xF6E9)
"/bsuperior" => Some(0xF6EA)
"/centinferior" => Some(0xF6DF)
"/centoldstyle" => Some(0xF7A2)
"/centsuperior" => Some(0xF6E0)
"/colonmonetary" => Some(0x20A1)
"/commainferior" => Some(0xF6E1)
"/commasuperior" => Some(0xF6E2)
"/dollarinferior" => Some(0xF6E3)
"/dollaroldstyle" => Some(0xF724)
"/dsuperior" => Some(0xF6EB)
"/esuperior" => Some(0xF6EC)
"/exclamdownsmall" => Some(0xF7A1)
"/exclamsmall" => Some(0xF721)
"/figuredash" => Some(0x2012)
"/hypheninferior" => Some(0xF6E5)
"/hyphensuperior" => Some(0xF6E6)
"/isuperior" => Some(0xF6ED)
"/lsuperior" => Some(0xF6EE)
"/msuperior" => Some(0xF6EF)
"/nsuperior" => Some(0x207F)
"/onedotenleader" => Some(0x2024)
"/onefitted" => Some(0xF6DC)
"/osuperior" => Some(0xF6F0)
"/parenleftinferior" => Some(0x208D)
"/parenleftsuperior" => Some(0x207D)
"/parenrightinferior" => Some(0x208E)
"/parenrightsuperior" => Some(0x207E)
"/periodinferior" => Some(0xF6E7)
"/periodsuperior" => Some(0xF6E8)
"/questiondownsmall" => Some(0xF7BF)
"/questionsmall" => Some(0xF73F)
"/rsuperior" => Some(0xF6F1)
"/rupiah" => Some(0xF6DD)
"/ssuperior" => Some(0xF6F2)
"/tsuperior" => Some(0xF6F3)
"/twodotenleader" => Some(0x2025)
_ => None
}
}
///|
fn pdf_text_codepoint_of_symbol_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Alpha" => Some(0x0391)
"/Beta" => Some(0x0392)
"/Gamma" => Some(0x0393)
"/Delta" => Some(0x0394)
"/Epsilon" => Some(0x0395)
"/Zeta" => Some(0x0396)
"/Eta" => Some(0x0397)
"/Theta" => Some(0x0398)
"/Iota" => Some(0x0399)
"/Kappa" => Some(0x039A)
"/Lambda" => Some(0x039B)
"/Mu" => Some(0x039C)
"/Nu" => Some(0x039D)
"/Xi" => Some(0x039E)
"/Omicron" => Some(0x039F)
"/Pi" => Some(0x03A0)
"/Rho" => Some(0x03A1)
"/Sigma" => Some(0x03A3)
"/Tau" => Some(0x03A4)
"/Upsilon" => Some(0x03A5)
"/Upsilon1" => Some(0x03D2)
"/Phi" => Some(0x03A6)
"/Chi" => Some(0x03A7)
"/Psi" => Some(0x03A8)
"/Omega" => Some(0x03A9)
"/alpha" => Some(0x03B1)
"/beta" => Some(0x03B2)
"/gamma" => Some(0x03B3)
"/delta" => Some(0x03B4)
"/epsilon" => Some(0x03B5)
"/zeta" => Some(0x03B6)
"/eta" => Some(0x03B7)
"/theta" => Some(0x03B8)
"/theta1" => Some(0x03D1)
"/iota" => Some(0x03B9)
"/kappa" => Some(0x03BA)
"/lambda" => Some(0x03BB)
"/mu" => Some(0x03BC)
"/nu" => Some(0x03BD)
"/xi" => Some(0x03BE)
"/omicron" => Some(0x03BF)
"/pi" => Some(0x03C0)
"/rho" => Some(0x03C1)
"/sigma" => Some(0x03C3)
"/sigma1" => Some(0x03C2)
"/tau" => Some(0x03C4)
"/upsilon" => Some(0x03C5)
"/phi" => Some(0x03C6)
"/phi1" => Some(0x03D5)
"/chi" => Some(0x03C7)
"/psi" => Some(0x03C8)
"/omega" => Some(0x03C9)
"/omega1" => Some(0x03D6)
"/universal" => Some(0x2200)
"/existential" => Some(0x2203)
"/suchthat" => Some(0x220B)
"/congruent" => Some(0x2245)
"/therefore" => Some(0x2234)
"/perpendicular" => Some(0x22A5)
"/similar" => Some(0x223C)
"/aleph" => Some(0x2135)
"/Ifraktur" => Some(0x2111)
"/Rfraktur" => Some(0x211C)
"/weierstrass" => Some(0x2118)
"/circlemultiply" => Some(0x2297)
"/circleplus" => Some(0x2295)
"/emptyset" => Some(0x2205)
"/intersection" => Some(0x2229)
"/union" => Some(0x222A)
"/propersuperset" => Some(0x2283)
"/reflexsuperset" => Some(0x2287)
"/notsubset" => Some(0x2284)
"/propersubset" => Some(0x2282)
"/reflexsubset" => Some(0x2286)
"/element" => Some(0x2208)
"/notelement" => Some(0x2209)
"/angle" => Some(0x2220)
"/gradient" => Some(0x2207)
"/product" => Some(0x220F)
"/dotmath" => Some(0x22C5)
"/logicalnot" => Some(0x00AC)
"/logicaland" => Some(0x2227)
"/logicalor" => Some(0x2228)
"/arrowdblboth" => Some(0x21D4)
"/arrowdblleft" => Some(0x21D0)
"/arrowdblright" => Some(0x21D2)
"/arrowdbldown" => Some(0x21D3)
"/lessequal" => Some(0x2264)
"/infinity" => Some(0x221E)
"/arrowboth" => Some(0x2194)
"/arrowleft" => Some(0x2190)
"/arrowup" => Some(0x2191)
"/arrowright" => Some(0x2192)
"/arrowdown" => Some(0x2193)
"/degree" => Some(0x00B0)
"/minute" => Some(0x2032)
"/plusminus" => Some(0x00B1)
"/second" => Some(0x2033)
"/florin" => Some(0x0192)
"/greaterequal" => Some(0x2265)
"/multiply" => Some(0x00D7)
"/proportional" => Some(0x221D)
"/partialdiff" => Some(0x2202)
"/divide" => Some(0x00F7)
"/notequal" => Some(0x2260)
"/equivalence" => Some(0x2261)
"/approxequal" => Some(0x2248)
"/summation" => Some(0x2211)
"/radical" => Some(0x221A)
"/radicalex" => Some(0xF8E5)
"/arrowvertex" => Some(0xF8E6)
"/arrowhorizex" => Some(0xF8E7)
"/carriagereturn" => Some(0x21B5)
"/arrowdblup" => Some(0x21D1)
"/angleleft" => Some(0x2329)
"/angleright" => Some(0x232A)
"/registerserif" => Some(0xF6DA)
"/copyrightserif" => Some(0xF6D9)
"/trademarkserif" => Some(0xF6DB)
"/registersans" => Some(0xF8E8)
"/copyrightsans" => Some(0xF8E9)
"/trademarksans" => Some(0xF8EA)
"/parenlefttp" => Some(0xF8EB)
"/parenleftex" => Some(0xF8EC)
"/parenleftbt" => Some(0xF8ED)
"/bracketlefttp" => Some(0xF8EE)
"/bracketleftex" => Some(0xF8EF)
"/bracketleftbt" => Some(0xF8F0)
"/bracelefttp" => Some(0xF8F1)
"/braceleftmid" => Some(0xF8F2)
"/braceleftbt" => Some(0xF8F3)
"/braceex" => Some(0xF8F4)
"/integral" => Some(0x222B)
"/integraltp" => Some(0x2320)
"/integralex" => Some(0xF8F5)
"/integralbt" => Some(0x2321)
"/parenrighttp" => Some(0xF8F6)
"/parenrightex" => Some(0xF8F7)
"/parenrightbt" => Some(0xF8F8)
"/bracketrighttp" => Some(0xF8F9)
"/bracketrightex" => Some(0xF8FA)
"/bracketrightbt" => Some(0xF8FB)
"/bracerighttp" => Some(0xF8FC)
"/bracerightmid" => Some(0xF8FD)
"/bracerightbt" => Some(0xF8FE)
"/lozenge" => Some(0x25CA)
"/spade" => Some(0x2660)
"/club" => Some(0x2663)
"/heart" => Some(0x2665)
"/diamond" => Some(0x2666)
_ => None
}
}
///|
fn pdf_text_codepoint_of_half_fullwidth_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Amonospace" => Some(0xFF21)
"/Bmonospace" => Some(0xFF22)
"/Cmonospace" => Some(0xFF23)
"/Dmonospace" => Some(0xFF24)
"/Emonospace" => Some(0xFF25)
"/Fmonospace" => Some(0xFF26)
"/Gmonospace" => Some(0xFF27)
"/Hmonospace" => Some(0xFF28)
"/Imonospace" => Some(0xFF29)
"/Jmonospace" => Some(0xFF2A)
"/Kmonospace" => Some(0xFF2B)
"/Lmonospace" => Some(0xFF2C)
"/Mmonospace" => Some(0xFF2D)
"/Nmonospace" => Some(0xFF2E)
"/Omonospace" => Some(0xFF2F)
"/Pmonospace" => Some(0xFF30)
"/Qmonospace" => Some(0xFF31)
"/Rmonospace" => Some(0xFF32)
"/Smonospace" => Some(0xFF33)
"/Tmonospace" => Some(0xFF34)
"/Umonospace" => Some(0xFF35)
"/Vmonospace" => Some(0xFF36)
"/Wmonospace" => Some(0xFF37)
"/Xmonospace" => Some(0xFF38)
"/Ymonospace" => Some(0xFF39)
"/Zmonospace" => Some(0xFF3A)
"/akatakanahalfwidth" => Some(0xFF71)
"/amonospace" => Some(0xFF41)
"/ampersandmonospace" => Some(0xFF06)
"/asciicircummonospace" => Some(0xFF3E)
"/asciitildemonospace" => Some(0xFF5E)
"/asmallkatakanahalfwidth" => Some(0xFF67)
"/asteriskmonospace" => Some(0xFF0A)
"/atmonospace" => Some(0xFF20)
"/backslashmonospace" => Some(0xFF3C)
"/barmonospace" => Some(0xFF5C)
"/bmonospace" => Some(0xFF42)
"/braceleftmonospace" => Some(0xFF5B)
"/bracerightmonospace" => Some(0xFF5D)
"/bracketleftmonospace" => Some(0xFF3B)
"/bracketrightmonospace" => Some(0xFF3D)
"/centmonospace" => Some(0xFFE0)
"/cmonospace" => Some(0xFF43)
"/colonmonospace" => Some(0xFF1A)
"/commamonospace" => Some(0xFF0C)
"/cornerbracketlefthalfwidth" => Some(0xFF62)
"/cornerbracketrighthalfwidth" => Some(0xFF63)
"/dmonospace" => Some(0xFF44)
"/dollarmonospace" => Some(0xFF04)
"/eightmonospace" => Some(0xFF18)
"/ekatakanahalfwidth" => Some(0xFF74)
"/emonospace" => Some(0xFF45)
"/equalmonospace" => Some(0xFF1D)
"/esmallkatakanahalfwidth" => Some(0xFF6A)
"/exclammonospace" => Some(0xFF01)
"/fivemonospace" => Some(0xFF15)
"/fmonospace" => Some(0xFF46)
"/fourmonospace" => Some(0xFF14)
"/gmonospace" => Some(0xFF47)
"/gravemonospace" => Some(0xFF40)
"/greatermonospace" => Some(0xFF1E)
"/hakatakanahalfwidth" => Some(0xFF8A)
"/hekatakanahalfwidth" => Some(0xFF8D)
"/hikatakanahalfwidth" => Some(0xFF8B)
"/hmonospace" => Some(0xFF48)
"/hokatakanahalfwidth" => Some(0xFF8E)
"/hukatakanahalfwidth" => Some(0xFF8C)
"/hyphenmonospace" => Some(0xFF0D)
"/ideographiccommaleft" => Some(0xFF64)
"/ikatakanahalfwidth" => Some(0xFF72)
"/imonospace" => Some(0xFF49)
"/ismallkatakanahalfwidth" => Some(0xFF68)
"/jmonospace" => Some(0xFF4A)
"/kakatakanahalfwidth" => Some(0xFF76)
"/katahiraprolongmarkhalfwidth" => Some(0xFF70)
"/kekatakanahalfwidth" => Some(0xFF79)
"/kikatakanahalfwidth" => Some(0xFF77)
"/kmonospace" => Some(0xFF4B)
"/kokatakanahalfwidth" => Some(0xFF7A)
"/kukatakanahalfwidth" => Some(0xFF78)
"/lessmonospace" => Some(0xFF1C)
"/lmonospace" => Some(0xFF4C)
"/macronmonospace" => Some(0xFFE3)
"/makatakanahalfwidth" => Some(0xFF8F)
"/mekatakanahalfwidth" => Some(0xFF92)
"/middledotkatakanahalfwidth" => Some(0xFF65)
"/mikatakanahalfwidth" => Some(0xFF90)
"/mmonospace" => Some(0xFF4D)
"/mokatakanahalfwidth" => Some(0xFF93)
"/mukatakanahalfwidth" => Some(0xFF91)
"/nakatakanahalfwidth" => Some(0xFF85)
"/nekatakanahalfwidth" => Some(0xFF88)
"/nikatakanahalfwidth" => Some(0xFF86)
"/ninemonospace" => Some(0xFF19)
"/nkatakanahalfwidth" => Some(0xFF9D)
"/nmonospace" => Some(0xFF4E)
"/nokatakanahalfwidth" => Some(0xFF89)
"/nukatakanahalfwidth" => Some(0xFF87)
"/numbersignmonospace" => Some(0xFF03)
"/okatakanahalfwidth" => Some(0xFF75)
"/omonospace" => Some(0xFF4F)
"/onemonospace" => Some(0xFF11)
"/osmallkatakanahalfwidth" => Some(0xFF6B)
"/parenleftmonospace" => Some(0xFF08)
"/parenrightmonospace" => Some(0xFF09)
"/percentmonospace" => Some(0xFF05)
"/periodhalfwidth" => Some(0xFF61)
"/periodmonospace" => Some(0xFF0E)
"/plusmonospace" => Some(0xFF0B)
"/pmonospace" => Some(0xFF50)
"/qmonospace" => Some(0xFF51)
"/questionmonospace" => Some(0xFF1F)
"/quotedblmonospace" => Some(0xFF02)
"/quotesinglemonospace" => Some(0xFF07)
"/rakatakanahalfwidth" => Some(0xFF97)
"/rekatakanahalfwidth" => Some(0xFF9A)
"/rikatakanahalfwidth" => Some(0xFF98)
"/rmonospace" => Some(0xFF52)
"/rokatakanahalfwidth" => Some(0xFF9B)
"/rukatakanahalfwidth" => Some(0xFF99)
"/sakatakanahalfwidth" => Some(0xFF7B)
"/sekatakanahalfwidth" => Some(0xFF7E)
"/semicolonmonospace" => Some(0xFF1B)
"/semivoicedmarkkanahalfwidth" => Some(0xFF9F)
"/sevenmonospace" => Some(0xFF17)
"/sikatakanahalfwidth" => Some(0xFF7C)
"/sixmonospace" => Some(0xFF16)
"/slashmonospace" => Some(0xFF0F)
"/smonospace" => Some(0xFF53)
"/sokatakanahalfwidth" => Some(0xFF7F)
"/sterlingmonospace" => Some(0xFFE1)
"/sukatakanahalfwidth" => Some(0xFF7D)
"/takatakanahalfwidth" => Some(0xFF80)
"/tekatakanahalfwidth" => Some(0xFF83)
"/threemonospace" => Some(0xFF13)
"/tikatakanahalfwidth" => Some(0xFF81)
"/tmonospace" => Some(0xFF54)
"/tokatakanahalfwidth" => Some(0xFF84)
"/tukatakanahalfwidth" => Some(0xFF82)
"/tusmallkatakanahalfwidth" => Some(0xFF6F)
"/twomonospace" => Some(0xFF12)
"/ukatakanahalfwidth" => Some(0xFF73)
"/umonospace" => Some(0xFF55)
"/underscoremonospace" => Some(0xFF3F)
"/usmallkatakanahalfwidth" => Some(0xFF69)
"/vmonospace" => Some(0xFF56)
"/voicedmarkkanahalfwidth" => Some(0xFF9E)
"/wakatakanahalfwidth" => Some(0xFF9C)
"/wmonospace" => Some(0xFF57)
"/wokatakanahalfwidth" => Some(0xFF66)
"/wonmonospace" => Some(0xFFE6)
"/xmonospace" => Some(0xFF58)
"/yakatakanahalfwidth" => Some(0xFF94)
"/yasmallkatakanahalfwidth" => Some(0xFF6C)
"/yenmonospace" => Some(0xFFE5)
"/ymonospace" => Some(0xFF59)
"/yokatakanahalfwidth" => Some(0xFF96)
"/yosmallkatakanahalfwidth" => Some(0xFF6E)
"/yukatakanahalfwidth" => Some(0xFF95)
"/yusmallkatakanahalfwidth" => Some(0xFF6D)
"/zeromonospace" => Some(0xFF10)
"/zmonospace" => Some(0xFF5A)
_ => None
}
}
///|
fn pdf_text_codepoint_of_dingbat_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/a1" => Some(0x2701)
"/a2" => Some(0x2702)
"/a202" => Some(0x2703)
"/a3" => Some(0x2704)
"/a4" => Some(0x260E)
"/a5" => Some(0x2706)
"/a119" => Some(0x2707)
"/a118" => Some(0x2708)
"/a117" => Some(0x2709)
"/a11" => Some(0x261B)
"/a12" => Some(0x261E)
"/a13" => Some(0x270C)
"/a14" => Some(0x270D)
"/a15" => Some(0x270E)
"/a16" => Some(0x270F)
"/a105" => Some(0x2710)
"/a17" => Some(0x2711)
"/a18" => Some(0x2712)
"/a19" => Some(0x2713)
"/a20" => Some(0x2714)
"/a21" => Some(0x2715)
"/a22" => Some(0x2716)
"/a23" => Some(0x2717)
"/a24" => Some(0x2718)
"/a25" => Some(0x2719)
"/a26" => Some(0x271A)
"/a27" => Some(0x271B)
"/a28" => Some(0x271C)
"/a6" => Some(0x271D)
"/a7" => Some(0x271E)
"/a8" => Some(0x271F)
"/a9" => Some(0x2720)
"/a10" => Some(0x2721)
"/a29" => Some(0x2722)
"/a30" => Some(0x2723)
"/a31" => Some(0x2724)
"/a32" => Some(0x2725)
"/a33" => Some(0x2726)
"/a34" => Some(0x2727)
"/a35" => Some(0x2605)
"/a36" => Some(0x2729)
"/a37" => Some(0x272A)
"/a38" => Some(0x272B)
"/a39" => Some(0x272C)
"/a40" => Some(0x272D)
"/a41" => Some(0x272E)
"/a42" => Some(0x272F)
"/a43" => Some(0x2730)
"/a44" => Some(0x2731)
"/a45" => Some(0x2732)
"/a46" => Some(0x2733)
"/a47" => Some(0x2734)
"/a48" => Some(0x2735)
"/a49" => Some(0x2736)
"/a50" => Some(0x2737)
"/a51" => Some(0x2738)
"/a52" => Some(0x2739)
"/a53" => Some(0x273A)
"/a54" => Some(0x273B)
"/a55" => Some(0x273C)
"/a56" => Some(0x273D)
"/a57" => Some(0x273E)
"/a58" => Some(0x273F)
"/a59" => Some(0x2740)
"/a60" => Some(0x2741)
"/a61" => Some(0x2742)
"/a62" => Some(0x2743)
"/a63" => Some(0x2744)
"/a64" => Some(0x2745)
"/a65" => Some(0x2746)
"/a66" => Some(0x2747)
"/a67" => Some(0x2748)
"/a68" => Some(0x2749)
"/a69" => Some(0x274A)
"/a70" => Some(0x274B)
"/a71" => Some(0x25CF)
"/a72" => Some(0x274D)
"/a73" => Some(0x25A0)
"/a74" => Some(0x274F)
"/a203" => Some(0x2750)
"/a75" => Some(0x2751)
"/a204" => Some(0x2752)
"/a76" => Some(0x25B2)
"/a77" => Some(0x25BC)
"/a78" => Some(0x25C6)
"/a79" => Some(0x2756)
"/a81" => Some(0x25D7)
"/a82" => Some(0x2758)
"/a83" => Some(0x2759)
"/a84" => Some(0x275A)
"/a97" => Some(0x275B)
"/a98" => Some(0x275C)
"/a99" => Some(0x275D)
"/a100" => Some(0x275E)
"/a101" => Some(0x2761)
"/a102" => Some(0x2762)
"/a103" => Some(0x2763)
"/a104" => Some(0x2764)
"/a106" => Some(0x2765)
"/a107" => Some(0x2766)
"/a108" => Some(0x2767)
"/a112" => Some(0x2663)
"/a111" => Some(0x2666)
"/a110" => Some(0x2665)
"/a109" => Some(0x2660)
"/a89" => Some(0x2768)
"/a90" => Some(0x2769)
"/a93" => Some(0x276A)
"/a94" => Some(0x276B)
"/a91" => Some(0x276C)
"/a92" => Some(0x276D)
"/a205" => Some(0x276E)
"/a85" => Some(0x276F)
"/a206" => Some(0x2770)
"/a86" => Some(0x2771)
"/a87" => Some(0x2772)
"/a88" => Some(0x2773)
"/a95" => Some(0x2774)
"/a96" => Some(0x2775)
"/a120" => Some(0x2460)
"/a121" => Some(0x2461)
"/a122" => Some(0x2462)
"/a123" => Some(0x2463)
"/a124" => Some(0x2464)
"/a125" => Some(0x2465)
"/a126" => Some(0x2466)
"/a127" => Some(0x2467)
"/a128" => Some(0x2468)
"/a129" => Some(0x2469)
"/a130" => Some(0x2776)
"/a131" => Some(0x2777)
"/a132" => Some(0x2778)
"/a133" => Some(0x2779)
"/a134" => Some(0x277A)
"/a135" => Some(0x277B)
"/a136" => Some(0x277C)
"/a137" => Some(0x277D)
"/a138" => Some(0x277E)
"/a139" => Some(0x277F)
"/a140" => Some(0x2780)
"/a141" => Some(0x2781)
"/a142" => Some(0x2782)
"/a143" => Some(0x2783)
"/a144" => Some(0x2784)
"/a145" => Some(0x2785)
"/a146" => Some(0x2786)
"/a147" => Some(0x2787)
"/a148" => Some(0x2788)
"/a149" => Some(0x2789)
"/a150" => Some(0x278A)
"/a151" => Some(0x278B)
"/a152" => Some(0x278C)
"/a153" => Some(0x278D)
"/a154" => Some(0x278E)
"/a155" => Some(0x278F)
"/a156" => Some(0x2790)
"/a157" => Some(0x2791)
"/a158" => Some(0x2792)
"/a159" => Some(0x2793)
"/a160" => Some(0x2794)
"/a161" => Some(0x2192)
"/a163" => Some(0x2194)
"/a164" => Some(0x2195)
"/a196" => Some(0x2798)
"/a165" => Some(0x2799)
"/a192" => Some(0x279A)
"/a166" => Some(0x279B)
"/a167" => Some(0x279C)
"/a168" => Some(0x279D)
"/a169" => Some(0x279E)
"/a170" => Some(0x279F)
"/a171" => Some(0x27A0)
"/a172" => Some(0x27A1)
"/a173" => Some(0x27A2)
"/a162" => Some(0x27A3)
"/a174" => Some(0x27A4)
"/a175" => Some(0x27A5)
"/a176" => Some(0x27A6)
"/a177" => Some(0x27A7)
"/a178" => Some(0x27A8)
"/a179" => Some(0x27A9)
"/a193" => Some(0x27AA)
"/a180" => Some(0x27AB)
"/a199" => Some(0x27AC)
"/a181" => Some(0x27AD)
"/a200" => Some(0x27AE)
"/a182" => Some(0x27AF)
"/a201" => Some(0x27B1)
"/a183" => Some(0x27B2)
"/a184" => Some(0x27B3)
"/a197" => Some(0x27B4)
"/a185" => Some(0x27B5)
"/a194" => Some(0x27B6)
"/a198" => Some(0x27B7)
"/a186" => Some(0x27B8)
"/a195" => Some(0x27B9)
"/a187" => Some(0x27BA)
"/a188" => Some(0x27BB)
"/a189" => Some(0x27BC)
"/a190" => Some(0x27BD)
"/a191" => Some(0x27BE)
"/arrowrightheavy" => Some(0x279E)
"/checkmark" => Some(0x2713)
"/onecircleinversesansserif" => Some(0x278A)
"/twocircleinversesansserif" => Some(0x278B)
"/threecircleinversesansserif" => Some(0x278C)
"/fourcircleinversesansserif" => Some(0x278D)
"/fivecircleinversesansserif" => Some(0x278E)
"/sixcircleinversesansserif" => Some(0x278F)
"/sevencircleinversesansserif" => Some(0x2790)
"/eightcircleinversesansserif" => Some(0x2791)
"/ninecircleinversesansserif" => Some(0x2792)
_ => None
}
}
///|
fn pdf_text_glyphname_base_bytes(name : PdfName) -> BytesView {
let bytes = name.bytes()
let mut end = bytes.length()
let mut index = 0
while index < bytes.length() {
if bytes[index].to_int() == 46 {
end = index
break
}
index += 1
}
bytes[:end]
}
///|
fn pdf_text_valid_unicode_scalar(codepoint : Int) -> Bool {
codepoint >= 0 &&
codepoint <= 0x10FFFF &&
!(codepoint >= 0xD800 && codepoint <= 0xDFFF)
}
///|
fn pdf_text_parse_hex_codepoint(
bytes : BytesView,
start : Int,
stop : Int,
) -> Int? {
guard stop > start else { return None }
let mut value = 0
for index in start.. value = value * 16 + digit
None => return None
}
}
if pdf_text_valid_unicode_scalar(value) {
Some(value)
} else {
None
}
}
///|
fn pdf_text_uni_glyphname_codepoints(base : BytesView) -> Array[Int]? {
guard base.length() > 4 &&
base[0].to_int() == 47 &&
base[1].to_int() == 117 &&
base[2].to_int() == 110 &&
base[3].to_int() == 105 &&
(base.length() - 4) % 4 == 0 else {
return None
}
let output : Array[Int] = Array::new(capacity=(base.length() - 4) / 4)
let mut index = 4
while index < base.length() {
match pdf_text_parse_hex_codepoint(base, index, index + 4) {
Some(codepoint) => output.push(codepoint)
None => return None
}
index += 4
}
Some(output)
}
///|
fn pdf_text_u_glyphname_codepoints(base : BytesView) -> Array[Int]? {
guard base.length() >= 6 &&
base.length() <= 8 &&
base[0].to_int() == 47 &&
base[1].to_int() == 117 else {
return None
}
match pdf_text_parse_hex_codepoint(base, 2, base.length()) {
Some(codepoint) => Some([codepoint])
None => None
}
}
///|
fn pdf_text_upper_hex_letter(byte : Byte) -> Bool {
let value = byte.to_int()
value >= 65 && value <= 70
}
///|
fn pdf_text_truetype_control_high_byte(value : Int) -> Bool {
value == 0x8A ||
value == 0x8B ||
value == 0x8C ||
value == 0x9A ||
value == 0x9B ||
value == 0x9C
}
///|
fn pdf_text_truetype_windows_high_byte_table() -> Array[(Int, Int)] {
[
(0x82, 0x201A),
(0x83, 0x0192),
(0x84, 0x201E),
(0x85, 0x2026),
(0x86, 0x2020),
(0x87, 0x2021),
(0x88, 0x02C6),
(0x89, 0x2030),
(0x8A, 0x0160),
(0x8B, 0x2039),
(0x8C, 0x0152),
(0x91, 0x2018),
(0x92, 0x2019),
(0x93, 0x201C),
(0x94, 0x201D),
(0x95, 0x2022),
(0x96, 0x2013),
(0x97, 0x2014),
(0x98, 0x02DC),
(0x99, 0x2122),
(0x9A, 0x0161),
(0x9B, 0x203A),
(0x9C, 0x0153),
(0x9F, 0x0178),
]
}
///|
fn pdf_text_truetype_high_byte_codepoint(value : Int, low_hex : Byte) -> Int? {
if pdf_text_upper_hex_letter(low_hex) &&
pdf_text_truetype_control_high_byte(value) {
Some(value)
} else {
for entry in pdf_text_truetype_windows_high_byte_table() {
if entry.0 == value {
break Some(entry.1)
}
} nobreak {
None
}
}
}
///|
fn pdf_text_truetype_glyphname_codepoints(base : BytesView) -> Array[Int]? {
guard base.length() == 4 && base[0].to_int() == 47 && base[1].to_int() == 71 else {
return None
}
let high = match pdf_text_hex_digit_value(base[2]) {
Some(value) => value
None => return None
}
let low = match pdf_text_hex_digit_value(base[3]) {
Some(value) => value
None => return None
}
let value = high * 16 + low
if base[2].to_int() == 65 && base[3].to_int() == 54 {
Some([0x00B6])
} else if value == 0x6D && pdf_text_upper_hex_letter(base[3]) {
Some([0x002D])
} else if (value >= 0x20 && value <= 0x7E) || (value >= 0xA0 && value <= 0xFF) {
Some([value])
} else {
match pdf_text_truetype_high_byte_codepoint(value, base[3]) {
Some(codepoint) => Some([codepoint])
None => None
}
}
}
///|
fn pdf_text_glyphname_base_name(name : PdfName, base : BytesView) -> PdfName {
if base.length() == name.byte_length() {
name
} else {
pdf_name_of_bytes(base.to_owned())
}
}
///|
fn pdf_text_codepoint_of_agl_base_glyphname(base_name : PdfName) -> Int? {
match pdf_text_codepoint_of_basic_latin_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_digit_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_punctuation_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_ipa_extension_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_spacing_modifier_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_combining_mark_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_currency_letterlike_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_arrow_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_greek_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_cyrillic_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_armenian_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_hebrew_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_arabic_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_devanagari_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_bengali_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_gurmukhi_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_gujarati_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_thai_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_math_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_number_form_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_technical_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_enclosed_alnum_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_cjk_symbol_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_hiragana_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_katakana_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_bopomofo_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_hangul_compat_jamo_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_enclosed_cjk_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_cjk_compat_square_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_presentation_form_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_box_drawing_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_block_element_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_geometric_shape_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_misc_symbol_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_latin_extended_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_latin_ext_additional_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_private_use_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_expert_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_symbol_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
match pdf_text_codepoint_of_half_fullwidth_glyphname(base_name) {
Some(codepoint) => return Some(codepoint)
None => ()
}
pdf_text_codepoint_of_dingbat_glyphname(base_name)
}
///|
fn pdf_text_codepoints_of_glyphname(name : PdfName) -> Array[Int]? {
let base = pdf_text_glyphname_base_bytes(name)
match pdf_text_uni_glyphname_codepoints(base) {
Some(codepoints) => Some(codepoints)
None =>
match pdf_text_u_glyphname_codepoints(base) {
Some(codepoints) => Some(codepoints)
None =>
match pdf_text_truetype_glyphname_codepoints(base) {
Some(codepoints) => Some(codepoints)
None =>
if base.length() == 2 && base[0].to_int() == 47 {
let value = base[1].to_int()
if (value >= 65 && value <= 90) || (value >= 97 && value <= 122) {
Some([value])
} else {
None
}
} else {
let base_name = pdf_text_glyphname_base_name(name, base)
match pdf_text_codepoints_of_agl_sequence_glyphname(base_name) {
Some(codepoints) => Some(codepoints)
None =>
match pdf_text_codepoint_of_agl_base_glyphname(base_name) {
Some(codepoint) => Some([codepoint])
None => None
}
}
}
}
}
}
}
///|
fn pdf_text_codepoint_of_agl_symbol_conflict_glyphname(name : PdfName) -> Int? {
match pdf_text_string_of_name(name) {
"/Delta" => Some(0x2206)
"/Omega" => Some(0x2126)
"/mu" => Some(0x00B5)
_ => None
}
}
///|
fn PdfFont::pdf_text_uses_symbol_codepoints(self : PdfFont) -> Bool {
match self {
PdfFontStandard(data) =>
data.font == PdfSymbol && data.encoding == PdfImplicitInFontFile
_ => false
}
}
///|
fn PdfFont::pdf_text_codepoints_of_glyphname(
self : PdfFont,
glyphname : PdfName,
) -> Array[Int]? {
if self.pdf_text_uses_symbol_codepoints() {
pdf_text_codepoints_of_glyphname(glyphname)
} else {
match pdf_text_codepoint_of_agl_symbol_conflict_glyphname(glyphname) {
Some(codepoint) => Some([codepoint])
None => pdf_text_codepoints_of_glyphname(glyphname)
}
}
}
///|
fn PdfFont::pdf_text_glyphname_has_single_codepoint(
self : PdfFont,
glyphname : PdfName,
codepoint : Int,
) -> Bool {
match self.pdf_text_codepoints_of_glyphname(glyphname) {
Some([single]) if single == codepoint => true
_ => false
}
}
///|
fn PdfEncoding::pdf_text_has_macexpert_base(self : PdfEncoding) -> Bool {
match self {
PdfMacExpertEncoding => true
PdfCustomEncoding(base, _) => base.pdf_text_has_macexpert_base()
PdfFillUndefinedWithStandard(base) => base.pdf_text_has_macexpert_base()
_ => false
}
}
///|
fn PdfFont::pdf_text_has_macexpert_base(self : PdfFont) -> Bool {
match self {
PdfFontStandard(data) => data.encoding.pdf_text_has_macexpert_base()
PdfFontSimple(font) => font.encoding.pdf_text_has_macexpert_base()
PdfFontCIDKeyed(_) => false
}
}
///|
fn PdfFont::pdf_text_macexpert_duplicate_charcode(
self : PdfFont,
codepoint : Int,
) -> Int? {
if codepoint == 0xF6E6 && self.pdf_text_has_macexpert_base() {
Some(0x5F)
} else {
None
}
}