///|
fn pdf_text_standard_control_glyphname(code : Int) -> PdfName? {
match code {
9 => Some(pdf_text_glyph_control_ht_name)
10 => Some(pdf_text_glyph_control_lf_name)
12 => Some(pdf_text_glyph_control_ff_name)
13 => Some(pdf_text_glyph_control_cr_name)
_ => None
}
}
///|
fn pdf_text_basic_latin_glyphname(
code : Int,
standard_quotes : Bool,
) -> PdfName? {
pdf_text_cached_basic_latin_glyphname(code, standard_quotes)
}
///|
fn pdf_text_standard_glyphname(code : Int) -> PdfName? {
match pdf_text_standard_control_glyphname(code) {
Some(name) => Some(name)
None =>
match pdf_text_basic_latin_glyphname(code, true) {
Some(name) => Some(name)
None =>
match code {
0xA1 => Some(pdf_text_name("/exclamdown"))
0xA2 => Some(pdf_text_name("/cent"))
0xA3 => Some(pdf_text_name("/sterling"))
0xA4 => Some(pdf_text_name("/fraction"))
0xA5 => Some(pdf_text_name("/yen"))
0xA6 => Some(pdf_text_name("/florin"))
0xA7 => Some(pdf_text_name("/section"))
0xA8 => Some(pdf_text_name("/currency"))
0xA9 => Some(pdf_text_name("/quotesingle"))
0xAA => Some(pdf_text_name("/quotedblleft"))
0xAB => Some(pdf_text_name("/guillemotleft"))
0xAC => Some(pdf_text_name("/guilsinglleft"))
0xAD => Some(pdf_text_name("/guilsinglright"))
0xAE => Some(pdf_text_name("/fi"))
0xAF => Some(pdf_text_name("/fl"))
0xB1 => Some(pdf_text_name("/endash"))
0xB2 => Some(pdf_text_name("/dagger"))
0xB3 => Some(pdf_text_name("/daggerdbl"))
0xB4 => Some(pdf_text_name("/periodcentered"))
0xB6 => Some(pdf_text_name("/paragraph"))
0xB7 => Some(pdf_text_name("/bullet"))
0xB8 => Some(pdf_text_name("/quotesinglbase"))
0xB9 => Some(pdf_text_name("/quotedblbase"))
0xBA => Some(pdf_text_name("/quotedblright"))
0xBB => Some(pdf_text_name("/guillemotright"))
0xBC => Some(pdf_text_name("/ellipsis"))
0xBD => Some(pdf_text_name("/perthousand"))
0xBF => Some(pdf_text_name("/questiondown"))
0xC1 => Some(pdf_text_name("/grave"))
0xC2 => Some(pdf_text_name("/acute"))
0xC3 => Some(pdf_text_name("/circumflex"))
0xC4 => Some(pdf_text_name("/tilde"))
0xC5 => Some(pdf_text_name("/macron"))
0xC6 => Some(pdf_text_name("/breve"))
0xC7 => Some(pdf_text_name("/dotaccent"))
0xC8 => Some(pdf_text_name("/dieresis"))
0xCA => Some(pdf_text_name("/ring"))
0xCB => Some(pdf_text_name("/cedilla"))
0xCD => Some(pdf_text_name("/hungarumlaut"))
0xCE => Some(pdf_text_name("/ogonek"))
0xCF => Some(pdf_text_name("/caron"))
0xD0 => Some(pdf_text_name("/emdash"))
0xE1 => Some(pdf_text_name("/AE"))
0xE3 => Some(pdf_text_name("/ordfeminine"))
0xE8 => Some(pdf_text_name("/Lslash"))
0xE9 => Some(pdf_text_name("/Oslash"))
0xEA => Some(pdf_text_name("/OE"))
0xEB => Some(pdf_text_name("/ordmasculine"))
0xF1 => Some(pdf_text_name("/ae"))
0xF5 => Some(pdf_text_name("/dotlessi"))
0xF8 => Some(pdf_text_name("/lslash"))
0xFA => Some(pdf_text_name("/oe"))
0xFB => Some(pdf_text_name("/germandbls"))
_ => None
}
}
}
}
///|
fn pdf_text_macroman_glyphname(code : Int) -> PdfName? {
match pdf_text_basic_latin_glyphname(code, false) {
Some(name) => Some(name)
None =>
match code {
0x80 => Some(pdf_text_name("/Adieresis"))
0x81 => Some(pdf_text_name("/Aring"))
0x82 => Some(pdf_text_name("/Ccedilla"))
0x83 => Some(pdf_text_name("/Eacute"))
0x84 => Some(pdf_text_name("/Ntilde"))
0x85 => Some(pdf_text_name("/Odieresis"))
0x86 => Some(pdf_text_name("/Udieresis"))
0x87 => Some(pdf_text_name("/aacute"))
0x88 => Some(pdf_text_name("/agrave"))
0x89 => Some(pdf_text_name("/acircumflex"))
0x8A => Some(pdf_text_name("/adieresis"))
0x8B => Some(pdf_text_name("/atilde"))
0x8C => Some(pdf_text_name("/aring"))
0x8D => Some(pdf_text_name("/ccedilla"))
0x8E => Some(pdf_text_name("/eacute"))
0x8F => Some(pdf_text_name("/egrave"))
0x90 => Some(pdf_text_name("/ecircumflex"))
0x91 => Some(pdf_text_name("/edieresis"))
0x92 => Some(pdf_text_name("/iacute"))
0x93 => Some(pdf_text_name("/igrave"))
0x94 => Some(pdf_text_name("/icircumflex"))
0x95 => Some(pdf_text_name("/idieresis"))
0x96 => Some(pdf_text_name("/ntilde"))
0x97 => Some(pdf_text_name("/oacute"))
0x98 => Some(pdf_text_name("/ograve"))
0x99 => Some(pdf_text_name("/ocircumflex"))
0x9A => Some(pdf_text_name("/odieresis"))
0x9B => Some(pdf_text_name("/otilde"))
0x9C => Some(pdf_text_name("/uacute"))
0x9D => Some(pdf_text_name("/ugrave"))
0x9E => Some(pdf_text_name("/ucircumflex"))
0x9F => Some(pdf_text_name("/udieresis"))
0xA0 => Some(pdf_text_name("/dagger"))
0xA1 => Some(pdf_text_name("/degree"))
0xA2 => Some(pdf_text_name("/cent"))
0xA3 => Some(pdf_text_name("/sterling"))
0xA4 => Some(pdf_text_name("/section"))
0xA5 => Some(pdf_text_name("/bullet"))
0xA6 => Some(pdf_text_name("/paragraph"))
0xA7 => Some(pdf_text_name("/germandbls"))
0xA8 => Some(pdf_text_name("/registered"))
0xA9 => Some(pdf_text_name("/copyright"))
0xAA => Some(pdf_text_name("/trademark"))
0xAB => Some(pdf_text_name("/acute"))
0xAC => Some(pdf_text_name("/dieresis"))
0xAE => Some(pdf_text_name("/AE"))
0xAF => Some(pdf_text_name("/Oslash"))
0xB1 => Some(pdf_text_name("/plusminus"))
0xB4 => Some(pdf_text_name("/yen"))
0xB5 => Some(pdf_text_name("/mu"))
0xBB => Some(pdf_text_name("/ordfeminine"))
0xBC => Some(pdf_text_name("/ordmasculine"))
0xBE => Some(pdf_text_name("/ae"))
0xBF => Some(pdf_text_name("/oslash"))
0xC0 => Some(pdf_text_name("/questiondown"))
0xC1 => Some(pdf_text_name("/exclamdown"))
0xC2 => Some(pdf_text_name("/logicalnot"))
0xC4 => Some(pdf_text_name("/florin"))
0xC7 => Some(pdf_text_name("/guillemotleft"))
0xC8 => Some(pdf_text_name("/guillemotright"))
0xC9 => Some(pdf_text_name("/ellipsis"))
0xCA => Some(pdf_text_glyph_space_name)
0xCB => Some(pdf_text_name("/Agrave"))
0xCC => Some(pdf_text_name("/Atilde"))
0xCD => Some(pdf_text_name("/Otilde"))
0xCE => Some(pdf_text_name("/OE"))
0xCF => Some(pdf_text_name("/oe"))
0xD0 => Some(pdf_text_name("/endash"))
0xD1 => Some(pdf_text_name("/emdash"))
0xD2 => Some(pdf_text_name("/quotedblleft"))
0xD3 => Some(pdf_text_name("/quotedblright"))
0xD4 => Some(pdf_text_name("/quoteleft"))
0xD5 => Some(pdf_text_name("/quoteright"))
0xD6 => Some(pdf_text_name("/divide"))
0xD8 => Some(pdf_text_name("/ydieresis"))
0xD9 => Some(pdf_text_name("/Ydieresis"))
0xDA => Some(pdf_text_name("/fraction"))
0xDB => Some(pdf_text_name("/currency"))
0xDC => Some(pdf_text_name("/guilsinglleft"))
0xDD => Some(pdf_text_name("/guilsinglright"))
0xDE => Some(pdf_text_name("/fi"))
0xDF => Some(pdf_text_name("/fl"))
0xE0 => Some(pdf_text_name("/daggerdbl"))
0xE1 => Some(pdf_text_name("/periodcentered"))
0xE2 => Some(pdf_text_name("/quotesinglbase"))
0xE3 => Some(pdf_text_name("/quotedblbase"))
0xE4 => Some(pdf_text_name("/perthousand"))
0xE5 => Some(pdf_text_name("/Acircumflex"))
0xE6 => Some(pdf_text_name("/Ecircumflex"))
0xE7 => Some(pdf_text_name("/Aacute"))
0xE8 => Some(pdf_text_name("/Edieresis"))
0xE9 => Some(pdf_text_name("/Egrave"))
0xEA => Some(pdf_text_name("/Iacute"))
0xEB => Some(pdf_text_name("/Icircumflex"))
0xEC => Some(pdf_text_name("/Idieresis"))
0xED => Some(pdf_text_name("/Igrave"))
0xEE => Some(pdf_text_name("/Oacute"))
0xEF => Some(pdf_text_name("/Ocircumflex"))
0xF1 => Some(pdf_text_name("/Ograve"))
0xF2 => Some(pdf_text_name("/Uacute"))
0xF3 => Some(pdf_text_name("/Ucircumflex"))
0xF4 => Some(pdf_text_name("/Ugrave"))
0xF5 => Some(pdf_text_name("/dotlessi"))
0xF6 => Some(pdf_text_name("/circumflex"))
0xF7 => Some(pdf_text_name("/tilde"))
0xF8 => Some(pdf_text_name("/macron"))
0xF9 => Some(pdf_text_name("/breve"))
0xFA => Some(pdf_text_name("/dotaccent"))
0xFB => Some(pdf_text_name("/ring"))
0xFC => Some(pdf_text_name("/cedilla"))
0xFD => Some(pdf_text_name("/hungarumlaut"))
0xFE => Some(pdf_text_name("/ogonek"))
0xFF => Some(pdf_text_name("/caron"))
_ => None
}
}
}
///|
fn pdf_text_winansi_glyphname(code : Int) -> PdfName? {
match pdf_text_basic_latin_glyphname(code, false) {
Some(name) => Some(name)
None =>
match code {
0x80 => Some(pdf_text_name("/Euro"))
0x82 => Some(pdf_text_name("/quotesinglbase"))
0x83 => Some(pdf_text_name("/florin"))
0x84 => Some(pdf_text_name("/quotedblbase"))
0x85 => Some(pdf_text_name("/ellipsis"))
0x86 => Some(pdf_text_name("/dagger"))
0x87 => Some(pdf_text_name("/daggerdbl"))
0x88 => Some(pdf_text_name("/circumflex"))
0x89 => Some(pdf_text_name("/perthousand"))
0x8A => Some(pdf_text_name("/Scaron"))
0x8B => Some(pdf_text_name("/guilsinglleft"))
0x8C => Some(pdf_text_name("/OE"))
0x8E => Some(pdf_text_name("/Zcaron"))
0x91 => Some(pdf_text_name("/quoteleft"))
0x92 => Some(pdf_text_name("/quoteright"))
0x93 => Some(pdf_text_name("/quotedblleft"))
0x94 => Some(pdf_text_name("/quotedblright"))
0x95 => Some(pdf_text_name("/bullet"))
0x96 => Some(pdf_text_name("/endash"))
0x97 => Some(pdf_text_name("/emdash"))
0x98 => Some(pdf_text_name("/tilde"))
0x99 => Some(pdf_text_name("/trademark"))
0x9A => Some(pdf_text_name("/scaron"))
0x9B => Some(pdf_text_name("/guilsinglright"))
0x9C => Some(pdf_text_name("/oe"))
0x9E => Some(pdf_text_name("/zcaron"))
0x9F => Some(pdf_text_name("/Ydieresis"))
0xA0 => Some(pdf_text_glyph_space_name)
0xA1 => Some(pdf_text_name("/exclamdown"))
0xA2 => Some(pdf_text_name("/cent"))
0xA3 => Some(pdf_text_name("/sterling"))
0xA4 => Some(pdf_text_name("/currency"))
0xA5 => Some(pdf_text_name("/yen"))
0xA6 => Some(pdf_text_name("/brokenbar"))
0xA7 => Some(pdf_text_name("/section"))
0xA8 => Some(pdf_text_name("/dieresis"))
0xA9 => Some(pdf_text_name("/copyright"))
0xAA => Some(pdf_text_name("/ordfeminine"))
0xAB => Some(pdf_text_name("/guillemotleft"))
0xAC => Some(pdf_text_name("/logicalnot"))
0xAD => Some(pdf_text_name("/hyphen"))
0xAE => Some(pdf_text_name("/registered"))
0xAF => Some(pdf_text_name("/macron"))
0xB0 => Some(pdf_text_name("/degree"))
0xB1 => Some(pdf_text_name("/plusminus"))
0xB2 => Some(pdf_text_name("/twosuperior"))
0xB3 => Some(pdf_text_name("/threesuperior"))
0xB4 => Some(pdf_text_name("/acute"))
0xB5 => Some(pdf_text_name("/mu"))
0xB6 => Some(pdf_text_name("/paragraph"))
0xB7 => Some(pdf_text_name("/periodcentered"))
0xB8 => Some(pdf_text_name("/cedilla"))
0xB9 => Some(pdf_text_name("/onesuperior"))
0xBA => Some(pdf_text_name("/ordmasculine"))
0xBB => Some(pdf_text_name("/guillemotright"))
0xBC => Some(pdf_text_name("/onequarter"))
0xBD => Some(pdf_text_name("/onehalf"))
0xBE => Some(pdf_text_name("/threequarters"))
0xBF => Some(pdf_text_name("/questiondown"))
0xC0 => Some(pdf_text_name("/Agrave"))
0xC1 => Some(pdf_text_name("/Aacute"))
0xC2 => Some(pdf_text_name("/Acircumflex"))
0xC3 => Some(pdf_text_name("/Atilde"))
0xC4 => Some(pdf_text_name("/Adieresis"))
0xC5 => Some(pdf_text_name("/Aring"))
0xC6 => Some(pdf_text_name("/AE"))
0xC7 => Some(pdf_text_name("/Ccedilla"))
0xC8 => Some(pdf_text_name("/Egrave"))
0xC9 => Some(pdf_text_name("/Eacute"))
0xCA => Some(pdf_text_name("/Ecircumflex"))
0xCB => Some(pdf_text_name("/Edieresis"))
0xCC => Some(pdf_text_name("/Igrave"))
0xCD => Some(pdf_text_name("/Iacute"))
0xCE => Some(pdf_text_name("/Icircumflex"))
0xCF => Some(pdf_text_name("/Idieresis"))
0xD0 => Some(pdf_text_name("/Eth"))
0xD1 => Some(pdf_text_name("/Ntilde"))
0xD2 => Some(pdf_text_name("/Ograve"))
0xD3 => Some(pdf_text_name("/Oacute"))
0xD4 => Some(pdf_text_name("/Ocircumflex"))
0xD5 => Some(pdf_text_name("/Otilde"))
0xD6 => Some(pdf_text_name("/Odieresis"))
0xD7 => Some(pdf_text_name("/multiply"))
0xD8 => Some(pdf_text_name("/Oslash"))
0xD9 => Some(pdf_text_name("/Ugrave"))
0xDA => Some(pdf_text_name("/Uacute"))
0xDB => Some(pdf_text_name("/Ucircumflex"))
0xDC => Some(pdf_text_name("/Udieresis"))
0xDD => Some(pdf_text_name("/Yacute"))
0xDE => Some(pdf_text_name("/Thorn"))
0xDF => Some(pdf_text_name("/germandbls"))
0xE0 => Some(pdf_text_name("/agrave"))
0xE1 => Some(pdf_text_name("/aacute"))
0xE2 => Some(pdf_text_name("/acircumflex"))
0xE3 => Some(pdf_text_name("/atilde"))
0xE4 => Some(pdf_text_name("/adieresis"))
0xE5 => Some(pdf_text_name("/aring"))
0xE6 => Some(pdf_text_name("/ae"))
0xE7 => Some(pdf_text_name("/ccedilla"))
0xE8 => Some(pdf_text_name("/egrave"))
0xE9 => Some(pdf_text_name("/eacute"))
0xEA => Some(pdf_text_name("/ecircumflex"))
0xEB => Some(pdf_text_name("/edieresis"))
0xEC => Some(pdf_text_name("/igrave"))
0xED => Some(pdf_text_name("/iacute"))
0xEE => Some(pdf_text_name("/icircumflex"))
0xEF => Some(pdf_text_name("/idieresis"))
0xF0 => Some(pdf_text_name("/eth"))
0xF1 => Some(pdf_text_name("/ntilde"))
0xF2 => Some(pdf_text_name("/ograve"))
0xF3 => Some(pdf_text_name("/oacute"))
0xF4 => Some(pdf_text_name("/ocircumflex"))
0xF5 => Some(pdf_text_name("/otilde"))
0xF6 => Some(pdf_text_name("/odieresis"))
0xF7 => Some(pdf_text_name("/divide"))
0xF8 => Some(pdf_text_name("/oslash"))
0xF9 => Some(pdf_text_name("/ugrave"))
0xFA => Some(pdf_text_name("/uacute"))
0xFB => Some(pdf_text_name("/ucircumflex"))
0xFC => Some(pdf_text_name("/udieresis"))
0xFD => Some(pdf_text_name("/yacute"))
0xFE => Some(pdf_text_name("/thorn"))
0xFF => Some(pdf_text_name("/ydieresis"))
_ => None
}
}
}
///|
fn pdf_text_macexpert_glyphname(code : Int) -> PdfName? {
match code {
0x20 => Some(pdf_text_glyph_space_name)
0x21 => Some(pdf_text_name("/exclamsmall"))
0x22 => Some(pdf_text_name("/Hungarumlautsmall"))
0x23 => Some(pdf_text_name("/centoldstyle"))
0x24 => Some(pdf_text_name("/dollaroldstyle"))
0x26 => Some(pdf_text_name("/ampersandsmall"))
0x27 => Some(pdf_text_name("/Acutesmall"))
0x28 => Some(pdf_text_name("/parenleftsuperior"))
0x29 => Some(pdf_text_name("/parenrightsuperior"))
0x2A => Some(pdf_text_name("/twodotenleader"))
0x2B => Some(pdf_text_name("/onedotenleader"))
0x2C => Some(pdf_text_name("/comma"))
0x2D => Some(pdf_text_name("/hyphen"))
0x2E => Some(pdf_text_name("/period"))
0x2F => Some(pdf_text_name("/fraction"))
0x30 => Some(pdf_text_name("/zerooldstyle"))
0x31 => Some(pdf_text_name("/oneoldstyle"))
0x32 => Some(pdf_text_name("/twooldstyle"))
0x33 => Some(pdf_text_name("/threeoldstyle"))
0x34 => Some(pdf_text_name("/fouroldstyle"))
0x35 => Some(pdf_text_name("/fiveoldstyle"))
0x36 => Some(pdf_text_name("/sixoldstyle"))
0x37 => Some(pdf_text_name("/sevenoldstyle"))
0x38 => Some(pdf_text_name("/eightoldstyle"))
0x39 => Some(pdf_text_name("/nineoldstyle"))
0x3A => Some(pdf_text_name("/colon"))
0x3B => Some(pdf_text_name("/semicolon"))
0x3D => Some(pdf_text_name("/threequartersemdash"))
0x3F => Some(pdf_text_name("/questionsmall"))
0x44 => Some(pdf_text_name("/Ethsmall"))
0x47 => Some(pdf_text_name("/onequarter"))
0x48 => Some(pdf_text_name("/onehalf"))
0x49 => Some(pdf_text_name("/threequarters"))
0x4A => Some(pdf_text_name("/oneeighth"))
0x4B => Some(pdf_text_name("/threeeighths"))
0x4C => Some(pdf_text_name("/fiveeighths"))
0x4D => Some(pdf_text_name("/seveneighths"))
0x4E => Some(pdf_text_name("/onethird"))
0x4F => Some(pdf_text_name("/twothirds"))
0x56 => Some(pdf_text_name("/ff"))
0x57 => Some(pdf_text_name("/fi"))
0x58 => Some(pdf_text_name("/fl"))
0x59 => Some(pdf_text_name("/ffi"))
0x5A => Some(pdf_text_name("/ffl"))
0x5B => Some(pdf_text_name("/parenleftinferior"))
0x5D => Some(pdf_text_name("/parenrightinferior"))
0x5E => Some(pdf_text_name("/Circumflexsmall"))
0x5F => Some(pdf_text_name("/hypheninferior"))
0x60 => Some(pdf_text_name("/Gravesmall"))
0x61 => Some(pdf_text_name("/Asmall"))
0x62 => Some(pdf_text_name("/Bsmall"))
0x63 => Some(pdf_text_name("/Csmall"))
0x64 => Some(pdf_text_name("/Dsmall"))
0x65 => Some(pdf_text_name("/Esmall"))
0x66 => Some(pdf_text_name("/Fsmall"))
0x67 => Some(pdf_text_name("/Gsmall"))
0x68 => Some(pdf_text_name("/Hsmall"))
0x69 => Some(pdf_text_name("/Ismall"))
0x6A => Some(pdf_text_name("/Jsmall"))
0x6B => Some(pdf_text_name("/Ksmall"))
0x6C => Some(pdf_text_name("/Lsmall"))
0x6D => Some(pdf_text_name("/Msmall"))
0x6E => Some(pdf_text_name("/Nsmall"))
0x6F => Some(pdf_text_name("/Osmall"))
0x70 => Some(pdf_text_name("/Psmall"))
0x71 => Some(pdf_text_name("/Qsmall"))
0x72 => Some(pdf_text_name("/Rsmall"))
0x73 => Some(pdf_text_name("/Ssmall"))
0x74 => Some(pdf_text_name("/Tsmall"))
0x75 => Some(pdf_text_name("/Usmall"))
0x76 => Some(pdf_text_name("/Vsmall"))
0x77 => Some(pdf_text_name("/Wsmall"))
0x78 => Some(pdf_text_name("/Xsmall"))
0x79 => Some(pdf_text_name("/Ysmall"))
0x7A => Some(pdf_text_name("/Zsmall"))
0x7B => Some(pdf_text_name("/colonmonetary"))
0x7C => Some(pdf_text_name("/onefitted"))
0x7D => Some(pdf_text_name("/rupiah"))
0x7E => Some(pdf_text_name("/Tildesmall"))
0x81 => Some(pdf_text_name("/asuperior"))
0x82 => Some(pdf_text_name("/centsuperior"))
0x87 => Some(pdf_text_name("/Aacutesmall"))
0x88 => Some(pdf_text_name("/Agravesmall"))
0x89 => Some(pdf_text_name("/Acircumflexsmall"))
0x8A => Some(pdf_text_name("/Adieresissmall"))
0x8B => Some(pdf_text_name("/Atildesmall"))
0x8C => Some(pdf_text_name("/Aringsmall"))
0x8D => Some(pdf_text_name("/Ccedillasmall"))
0x8E => Some(pdf_text_name("/Eacutesmall"))
0x8F => Some(pdf_text_name("/Egravesmall"))
0x90 => Some(pdf_text_name("/Ecircumflexsmall"))
0x91 => Some(pdf_text_name("/Edieresissmall"))
0x92 => Some(pdf_text_name("/Iacutesmall"))
0x93 => Some(pdf_text_name("/Igravesmall"))
0x94 => Some(pdf_text_name("/Icircumflexsmall"))
0x95 => Some(pdf_text_name("/Idieresissmall"))
0x96 => Some(pdf_text_name("/Ntildesmall"))
0x97 => Some(pdf_text_name("/Oacutesmall"))
0x98 => Some(pdf_text_name("/Ogravesmall"))
0x99 => Some(pdf_text_name("/Ocircumflexsmall"))
0x9A => Some(pdf_text_name("/Odieresissmall"))
0x9B => Some(pdf_text_name("/Otildesmall"))
0x9C => Some(pdf_text_name("/Uacutesmall"))
0x9D => Some(pdf_text_name("/Ugravesmall"))
0x9E => Some(pdf_text_name("/Ucircumflexsmall"))
0x9F => Some(pdf_text_name("/Udieresissmall"))
0xA1 => Some(pdf_text_name("/eightsuperior"))
0xA2 => Some(pdf_text_name("/fourinferior"))
0xA3 => Some(pdf_text_name("/threeinferior"))
0xA4 => Some(pdf_text_name("/sixinferior"))
0xA5 => Some(pdf_text_name("/eightinferior"))
0xA6 => Some(pdf_text_name("/seveninferior"))
0xA7 => Some(pdf_text_name("/Scaronsmall"))
0xA9 => Some(pdf_text_name("/centinferior"))
0xAA => Some(pdf_text_name("/twoinferior"))
0xAC => Some(pdf_text_name("/Dieresissmall"))
0xAE => Some(pdf_text_name("/Caronsmall"))
0xAF => Some(pdf_text_name("/osuperior"))
0xB0 => Some(pdf_text_name("/fiveinferior"))
0xB2 => Some(pdf_text_name("/commainferior"))
0xB3 => Some(pdf_text_name("/periodinferior"))
0xB4 => Some(pdf_text_name("/Yacutesmall"))
0xB6 => Some(pdf_text_name("/dollarinferior"))
0xB9 => Some(pdf_text_name("/Thornsmall"))
0xBB => Some(pdf_text_name("/nineinferior"))
0xBC => Some(pdf_text_name("/zeroinferior"))
0xBD => Some(pdf_text_name("/Zcaronsmall"))
0xBE => Some(pdf_text_name("/AEsmall"))
0xBF => Some(pdf_text_name("/Oslashsmall"))
0xC0 => Some(pdf_text_name("/questiondownsmall"))
0xC1 => Some(pdf_text_name("/oneinferior"))
0xC2 => Some(pdf_text_name("/Lslashsmall"))
0xC9 => Some(pdf_text_name("/Cedillasmall"))
0xCF => Some(pdf_text_name("/OEsmall"))
0xD0 => Some(pdf_text_name("/figuredash"))
0xD6 => Some(pdf_text_name("/exclamdownsmall"))
0xD8 => Some(pdf_text_name("/Ydieresissmall"))
0xDA => Some(pdf_text_name("/onesuperior"))
0xDB => Some(pdf_text_name("/twosuperior"))
0xDC => Some(pdf_text_name("/threesuperior"))
0xDD => Some(pdf_text_name("/foursuperior"))
0xDE => Some(pdf_text_name("/fivesuperior"))
0xDF => Some(pdf_text_name("/sixsuperior"))
0xE0 => Some(pdf_text_name("/sevensuperior"))
0xE1 => Some(pdf_text_name("/ninesuperior"))
0xE2 => Some(pdf_text_name("/zerosuperior"))
0xE4 => Some(pdf_text_name("/esuperior"))
0xE5 => Some(pdf_text_name("/rsuperior"))
0xE6 => Some(pdf_text_name("/tsuperior"))
0xE9 => Some(pdf_text_name("/isuperior"))
0xEA => Some(pdf_text_name("/ssuperior"))
0xEB => Some(pdf_text_name("/dsuperior"))
0xF1 => Some(pdf_text_name("/lsuperior"))
0xF2 => Some(pdf_text_name("/Ogoneksmall"))
0xF3 => Some(pdf_text_name("/Brevesmall"))
0xF4 => Some(pdf_text_name("/Macronsmall"))
0xF5 => Some(pdf_text_name("/bsuperior"))
0xF6 => Some(pdf_text_name("/nsuperior"))
0xF7 => Some(pdf_text_name("/msuperior"))
0xF8 => Some(pdf_text_name("/commasuperior"))
0xF9 => Some(pdf_text_name("/periodsuperior"))
0xFA => Some(pdf_text_name("/Dotaccentsmall"))
0xFB => Some(pdf_text_name("/Ringsmall"))
_ => None
}
}
///|
fn pdf_text_symbol_glyphname(code : Int) -> PdfName? {
match code {
0x20 => Some(pdf_text_glyph_space_name)
0x21 => Some(pdf_text_name("/exclam"))
0x22 => Some(pdf_text_name("/universal"))
0x23 => Some(pdf_text_name("/numbersign"))
0x24 => Some(pdf_text_name("/existential"))
0x25 => Some(pdf_text_name("/percent"))
0x26 => Some(pdf_text_name("/ampersand"))
0x27 => Some(pdf_text_name("/suchthat"))
0x28 => Some(pdf_text_name("/parenleft"))
0x29 => Some(pdf_text_name("/parenright"))
0x2A => Some(pdf_text_name("/asteriskmath"))
0x2B => Some(pdf_text_name("/plus"))
0x2C => Some(pdf_text_name("/comma"))
0x2D => Some(pdf_text_name("/minus"))
0x2E => Some(pdf_text_name("/period"))
0x2F => Some(pdf_text_name("/slash"))
0x30 => Some(pdf_text_name("/zero"))
0x31 => Some(pdf_text_name("/one"))
0x32 => Some(pdf_text_name("/two"))
0x33 => Some(pdf_text_name("/three"))
0x34 => Some(pdf_text_name("/four"))
0x35 => Some(pdf_text_name("/five"))
0x36 => Some(pdf_text_name("/six"))
0x37 => Some(pdf_text_name("/seven"))
0x38 => Some(pdf_text_name("/eight"))
0x39 => Some(pdf_text_name("/nine"))
0x3A => Some(pdf_text_name("/colon"))
0x3B => Some(pdf_text_name("/semicolon"))
0x3C => Some(pdf_text_name("/less"))
0x3D => Some(pdf_text_name("/equal"))
0x3E => Some(pdf_text_name("/greater"))
0x3F => Some(pdf_text_name("/question"))
0x40 => Some(pdf_text_name("/congruent"))
0x41 => Some(pdf_text_name("/Alpha"))
0x42 => Some(pdf_text_name("/Beta"))
0x43 => Some(pdf_text_name("/Chi"))
0x44 => Some(pdf_text_name("/Delta"))
0x45 => Some(pdf_text_name("/Epsilon"))
0x46 => Some(pdf_text_name("/Phi"))
0x47 => Some(pdf_text_name("/Gamma"))
0x48 => Some(pdf_text_name("/Eta"))
0x49 => Some(pdf_text_name("/Iota"))
0x4A => Some(pdf_text_name("/theta1"))
0x4B => Some(pdf_text_name("/Kappa"))
0x4C => Some(pdf_text_name("/Lambda"))
0x4D => Some(pdf_text_name("/Mu"))
0x4E => Some(pdf_text_name("/Nu"))
0x4F => Some(pdf_text_name("/Omicron"))
0x50 => Some(pdf_text_name("/Pi"))
0x51 => Some(pdf_text_name("/Theta"))
0x52 => Some(pdf_text_name("/Rho"))
0x53 => Some(pdf_text_name("/Sigma"))
0x54 => Some(pdf_text_name("/Tau"))
0x55 => Some(pdf_text_name("/Upsilon"))
0x56 => Some(pdf_text_name("/sigma1"))
0x57 => Some(pdf_text_name("/Omega"))
0x58 => Some(pdf_text_name("/Xi"))
0x59 => Some(pdf_text_name("/Psi"))
0x5A => Some(pdf_text_name("/Zeta"))
0x5B => Some(pdf_text_name("/bracketleft"))
0x5C => Some(pdf_text_name("/therefore"))
0x5D => Some(pdf_text_name("/bracketright"))
0x5E => Some(pdf_text_name("/perpendicular"))
0x5F => Some(pdf_text_name("/underscore"))
0x60 => Some(pdf_text_name("/radicalex"))
0x61 => Some(pdf_text_name("/alpha"))
0x62 => Some(pdf_text_name("/beta"))
0x63 => Some(pdf_text_name("/chi"))
0x64 => Some(pdf_text_name("/delta"))
0x65 => Some(pdf_text_name("/epsilon"))
0x66 => Some(pdf_text_name("/phi"))
0x67 => Some(pdf_text_name("/gamma"))
0x68 => Some(pdf_text_name("/eta"))
0x69 => Some(pdf_text_name("/iota"))
0x6A => Some(pdf_text_name("/phi1"))
0x6B => Some(pdf_text_name("/kappa"))
0x6C => Some(pdf_text_name("/lambda"))
0x6D => Some(pdf_text_name("/mu"))
0x6E => Some(pdf_text_name("/nu"))
0x6F => Some(pdf_text_name("/omicron"))
0x70 => Some(pdf_text_name("/pi"))
0x71 => Some(pdf_text_name("/theta"))
0x72 => Some(pdf_text_name("/rho"))
0x73 => Some(pdf_text_name("/sigma"))
0x74 => Some(pdf_text_name("/tau"))
0x75 => Some(pdf_text_name("/upsilon"))
0x76 => Some(pdf_text_name("/omega1"))
0x77 => Some(pdf_text_name("/omega"))
0x78 => Some(pdf_text_name("/xi"))
0x79 => Some(pdf_text_name("/psi"))
0x7A => Some(pdf_text_name("/zeta"))
0x7B => Some(pdf_text_name("/braceleft"))
0x7C => Some(pdf_text_name("/bar"))
0x7D => Some(pdf_text_name("/braceright"))
0x7E => Some(pdf_text_name("/similar"))
0xA0 => Some(pdf_text_name("/Euro"))
0xA1 => Some(pdf_text_name("/Upsilon1"))
0xA2 => Some(pdf_text_name("/minute"))
0xA3 => Some(pdf_text_name("/lessequal"))
0xA4 => Some(pdf_text_name("/fraction"))
0xA5 => Some(pdf_text_name("/infinity"))
0xA6 => Some(pdf_text_name("/florin"))
0xA7 => Some(pdf_text_name("/club"))
0xA8 => Some(pdf_text_name("/diamond"))
0xA9 => Some(pdf_text_name("/heart"))
0xAA => Some(pdf_text_name("/spade"))
0xAB => Some(pdf_text_name("/arrowboth"))
0xAC => Some(pdf_text_name("/arrowleft"))
0xAD => Some(pdf_text_name("/arrowup"))
0xAE => Some(pdf_text_name("/arrowright"))
0xAF => Some(pdf_text_name("/arrowdown"))
0xB0 => Some(pdf_text_name("/degree"))
0xB1 => Some(pdf_text_name("/plusminus"))
0xB2 => Some(pdf_text_name("/second"))
0xB3 => Some(pdf_text_name("/greaterequal"))
0xB4 => Some(pdf_text_name("/multiply"))
0xB5 => Some(pdf_text_name("/proportional"))
0xB6 => Some(pdf_text_name("/partialdiff"))
0xB7 => Some(pdf_text_name("/bullet"))
0xB8 => Some(pdf_text_name("/divide"))
0xB9 => Some(pdf_text_name("/notequal"))
0xBA => Some(pdf_text_name("/equivalence"))
0xBB => Some(pdf_text_name("/approxequal"))
0xBC => Some(pdf_text_name("/ellipsis"))
0xBD => Some(pdf_text_name("/arrowvertex"))
0xBE => Some(pdf_text_name("/arrowhorizex"))
0xBF => Some(pdf_text_name("/carriagereturn"))
0xC0 => Some(pdf_text_name("/aleph"))
0xC1 => Some(pdf_text_name("/Ifraktur"))
0xC2 => Some(pdf_text_name("/Rfraktur"))
0xC3 => Some(pdf_text_name("/weierstrass"))
0xC4 => Some(pdf_text_name("/circlemultiply"))
0xC5 => Some(pdf_text_name("/circleplus"))
0xC6 => Some(pdf_text_name("/emptyset"))
0xC7 => Some(pdf_text_name("/intersection"))
0xC8 => Some(pdf_text_name("/union"))
0xC9 => Some(pdf_text_name("/propersuperset"))
0xCA => Some(pdf_text_name("/reflexsuperset"))
0xCB => Some(pdf_text_name("/notsubset"))
0xCC => Some(pdf_text_name("/propersubset"))
0xCD => Some(pdf_text_name("/reflexsubset"))
0xCE => Some(pdf_text_name("/element"))
0xCF => Some(pdf_text_name("/notelement"))
0xD0 => Some(pdf_text_name("/angle"))
0xD1 => Some(pdf_text_name("/gradient"))
0xD2 => Some(pdf_text_name("/registerserif"))
0xD3 => Some(pdf_text_name("/copyrightserif"))
0xD4 => Some(pdf_text_name("/trademarkserif"))
0xD5 => Some(pdf_text_name("/product"))
0xD6 => Some(pdf_text_name("/radical"))
0xD7 => Some(pdf_text_name("/dotmath"))
0xD8 => Some(pdf_text_name("/logicalnot"))
0xD9 => Some(pdf_text_name("/logicaland"))
0xDA => Some(pdf_text_name("/logicalor"))
0xDB => Some(pdf_text_name("/arrowdblboth"))
0xDC => Some(pdf_text_name("/arrowdblleft"))
0xDD => Some(pdf_text_name("/arrowdblup"))
0xDE => Some(pdf_text_name("/arrowdblright"))
0xDF => Some(pdf_text_name("/arrowdbldown"))
0xE0 => Some(pdf_text_name("/lozenge"))
0xE1 => Some(pdf_text_name("/angleleft"))
0xE2 => Some(pdf_text_name("/registersans"))
0xE3 => Some(pdf_text_name("/copyrightsans"))
0xE4 => Some(pdf_text_name("/trademarksans"))
0xE5 => Some(pdf_text_name("/summation"))
0xE6 => Some(pdf_text_name("/parenlefttp"))
0xE7 => Some(pdf_text_name("/parenleftex"))
0xE8 => Some(pdf_text_name("/parenleftbt"))
0xE9 => Some(pdf_text_name("/bracketlefttp"))
0xEA => Some(pdf_text_name("/bracketleftex"))
0xEB => Some(pdf_text_name("/bracketleftbt"))
0xEC => Some(pdf_text_name("/bracelefttp"))
0xED => Some(pdf_text_name("/braceleftmid"))
0xEE => Some(pdf_text_name("/braceleftbt"))
0xEF => Some(pdf_text_name("/braceex"))
0xF1 => Some(pdf_text_name("/angleright"))
0xF2 => Some(pdf_text_name("/integral"))
0xF3 => Some(pdf_text_name("/integraltp"))
0xF4 => Some(pdf_text_name("/integralex"))
0xF5 => Some(pdf_text_name("/integralbt"))
0xF6 => Some(pdf_text_name("/parenrighttp"))
0xF7 => Some(pdf_text_name("/parenrightex"))
0xF8 => Some(pdf_text_name("/parenrightbt"))
0xF9 => Some(pdf_text_name("/bracketrighttp"))
0xFA => Some(pdf_text_name("/bracketrightex"))
0xFB => Some(pdf_text_name("/bracketrightbt"))
0xFC => Some(pdf_text_name("/bracerighttp"))
0xFD => Some(pdf_text_name("/bracerightmid"))
0xFE => Some(pdf_text_name("/bracerightbt"))
_ => None
}
}
///|
fn pdf_text_zapfdingbats_glyphname(code : Int) -> PdfName? {
match code {
0x20 => Some(pdf_text_glyph_space_name)
0x21 => Some(pdf_text_name("/a1"))
0x22 => Some(pdf_text_name("/a2"))
0x23 => Some(pdf_text_name("/a202"))
0x24 => Some(pdf_text_name("/a3"))
0x25 => Some(pdf_text_name("/a4"))
0x26 => Some(pdf_text_name("/a5"))
0x27 => Some(pdf_text_name("/a119"))
0x28 => Some(pdf_text_name("/a118"))
0x29 => Some(pdf_text_name("/a117"))
0x2A => Some(pdf_text_name("/a11"))
0x2B => Some(pdf_text_name("/a12"))
0x2C => Some(pdf_text_name("/a13"))
0x2D => Some(pdf_text_name("/a14"))
0x2E => Some(pdf_text_name("/a15"))
0x2F => Some(pdf_text_name("/a16"))
0x30 => Some(pdf_text_name("/a105"))
0x31 => Some(pdf_text_name("/a17"))
0x32 => Some(pdf_text_name("/a18"))
0x33 => Some(pdf_text_name("/a19"))
0x34 => Some(pdf_text_name("/a20"))
0x35 => Some(pdf_text_name("/a21"))
0x36 => Some(pdf_text_name("/a22"))
0x37 => Some(pdf_text_name("/a23"))
0x38 => Some(pdf_text_name("/a24"))
0x39 => Some(pdf_text_name("/a25"))
0x3A => Some(pdf_text_name("/a26"))
0x3B => Some(pdf_text_name("/a27"))
0x3C => Some(pdf_text_name("/a28"))
0x3D => Some(pdf_text_name("/a6"))
0x3E => Some(pdf_text_name("/a7"))
0x3F => Some(pdf_text_name("/a8"))
0x40 => Some(pdf_text_name("/a9"))
0x41 => Some(pdf_text_name("/a10"))
0x42 => Some(pdf_text_name("/a29"))
0x43 => Some(pdf_text_name("/a30"))
0x44 => Some(pdf_text_name("/a31"))
0x45 => Some(pdf_text_name("/a32"))
0x46 => Some(pdf_text_name("/a33"))
0x47 => Some(pdf_text_name("/a34"))
0x48 => Some(pdf_text_name("/a35"))
0x49 => Some(pdf_text_name("/a36"))
0x4A => Some(pdf_text_name("/a37"))
0x4B => Some(pdf_text_name("/a38"))
0x4C => Some(pdf_text_name("/a39"))
0x4D => Some(pdf_text_name("/a40"))
0x4E => Some(pdf_text_name("/a41"))
0x4F => Some(pdf_text_name("/a42"))
0x50 => Some(pdf_text_name("/a43"))
0x51 => Some(pdf_text_name("/a44"))
0x52 => Some(pdf_text_name("/a45"))
0x53 => Some(pdf_text_name("/a46"))
0x54 => Some(pdf_text_name("/a47"))
0x55 => Some(pdf_text_name("/a48"))
0x56 => Some(pdf_text_name("/a49"))
0x57 => Some(pdf_text_name("/a50"))
0x58 => Some(pdf_text_name("/a51"))
0x59 => Some(pdf_text_name("/a52"))
0x5A => Some(pdf_text_name("/a53"))
0x5B => Some(pdf_text_name("/a54"))
0x5C => Some(pdf_text_name("/a55"))
0x5D => Some(pdf_text_name("/a56"))
0x5E => Some(pdf_text_name("/a57"))
0x5F => Some(pdf_text_name("/a58"))
0x60 => Some(pdf_text_name("/a59"))
0x61 => Some(pdf_text_name("/a60"))
0x62 => Some(pdf_text_name("/a61"))
0x63 => Some(pdf_text_name("/a62"))
0x64 => Some(pdf_text_name("/a63"))
0x65 => Some(pdf_text_name("/a64"))
0x66 => Some(pdf_text_name("/a65"))
0x67 => Some(pdf_text_name("/a66"))
0x68 => Some(pdf_text_name("/a67"))
0x69 => Some(pdf_text_name("/a68"))
0x6A => Some(pdf_text_name("/a69"))
0x6B => Some(pdf_text_name("/a70"))
0x6C => Some(pdf_text_name("/a71"))
0x6D => Some(pdf_text_name("/a72"))
0x6E => Some(pdf_text_name("/a73"))
0x6F => Some(pdf_text_name("/a74"))
0x70 => Some(pdf_text_name("/a203"))
0x71 => Some(pdf_text_name("/a75"))
0x72 => Some(pdf_text_name("/a204"))
0x73 => Some(pdf_text_name("/a76"))
0x74 => Some(pdf_text_name("/a77"))
0x75 => Some(pdf_text_name("/a78"))
0x76 => Some(pdf_text_name("/a79"))
0x77 => Some(pdf_text_name("/a81"))
0x78 => Some(pdf_text_name("/a82"))
0x79 => Some(pdf_text_name("/a83"))
0x7A => Some(pdf_text_name("/a84"))
0x7B => Some(pdf_text_name("/a97"))
0x7C => Some(pdf_text_name("/a98"))
0x7D => Some(pdf_text_name("/a99"))
0x7E => Some(pdf_text_name("/a100"))
0xA1 => Some(pdf_text_name("/a101"))
0xA2 => Some(pdf_text_name("/a102"))
0xA3 => Some(pdf_text_name("/a103"))
0xA4 => Some(pdf_text_name("/a104"))
0xA5 => Some(pdf_text_name("/a106"))
0xA6 => Some(pdf_text_name("/a107"))
0xA7 => Some(pdf_text_name("/a108"))
0xA8 => Some(pdf_text_name("/a112"))
0xA9 => Some(pdf_text_name("/a111"))
0xAA => Some(pdf_text_name("/a110"))
0xAB => Some(pdf_text_name("/a109"))
0xAC => Some(pdf_text_name("/a120"))
0xAD => Some(pdf_text_name("/a121"))
0xAE => Some(pdf_text_name("/a122"))
0xAF => Some(pdf_text_name("/a123"))
0xB0 => Some(pdf_text_name("/a124"))
0xB1 => Some(pdf_text_name("/a125"))
0xB2 => Some(pdf_text_name("/a126"))
0xB3 => Some(pdf_text_name("/a127"))
0xB4 => Some(pdf_text_name("/a128"))
0xB5 => Some(pdf_text_name("/a129"))
0xB6 => Some(pdf_text_name("/a130"))
0xB7 => Some(pdf_text_name("/a131"))
0xB8 => Some(pdf_text_name("/a132"))
0xB9 => Some(pdf_text_name("/a133"))
0xBA => Some(pdf_text_name("/a134"))
0xBB => Some(pdf_text_name("/a135"))
0xBC => Some(pdf_text_name("/a136"))
0xBD => Some(pdf_text_name("/a137"))
0xBE => Some(pdf_text_name("/a138"))
0xBF => Some(pdf_text_name("/a139"))
0xC0 => Some(pdf_text_name("/a140"))
0xC1 => Some(pdf_text_name("/a141"))
0xC2 => Some(pdf_text_name("/a142"))
0xC3 => Some(pdf_text_name("/a143"))
0xC4 => Some(pdf_text_name("/a144"))
0xC5 => Some(pdf_text_name("/a145"))
0xC6 => Some(pdf_text_name("/a146"))
0xC7 => Some(pdf_text_name("/a147"))
0xC8 => Some(pdf_text_name("/a148"))
0xC9 => Some(pdf_text_name("/a149"))
0xCA => Some(pdf_text_name("/a150"))
0xCB => Some(pdf_text_name("/a151"))
0xCC => Some(pdf_text_name("/a152"))
0xCD => Some(pdf_text_name("/a153"))
0xCE => Some(pdf_text_name("/a154"))
0xCF => Some(pdf_text_name("/a155"))
0xD0 => Some(pdf_text_name("/a156"))
0xD1 => Some(pdf_text_name("/a157"))
0xD2 => Some(pdf_text_name("/a158"))
0xD3 => Some(pdf_text_name("/a159"))
0xD4 => Some(pdf_text_name("/a160"))
0xD5 => Some(pdf_text_name("/a161"))
0xD6 => Some(pdf_text_name("/a163"))
0xD7 => Some(pdf_text_name("/a164"))
0xD8 => Some(pdf_text_name("/a196"))
0xD9 => Some(pdf_text_name("/a165"))
0xDA => Some(pdf_text_name("/a192"))
0xDB => Some(pdf_text_name("/a166"))
0xDC => Some(pdf_text_name("/a167"))
0xDD => Some(pdf_text_name("/a168"))
0xDE => Some(pdf_text_name("/a169"))
0xDF => Some(pdf_text_name("/a170"))
0xE0 => Some(pdf_text_name("/a171"))
0xE1 => Some(pdf_text_name("/a172"))
0xE2 => Some(pdf_text_name("/a173"))
0xE3 => Some(pdf_text_name("/a162"))
0xE4 => Some(pdf_text_name("/a174"))
0xE5 => Some(pdf_text_name("/a175"))
0xE6 => Some(pdf_text_name("/a176"))
0xE7 => Some(pdf_text_name("/a177"))
0xE8 => Some(pdf_text_name("/a178"))
0xE9 => Some(pdf_text_name("/a179"))
0xEA => Some(pdf_text_name("/a193"))
0xEB => Some(pdf_text_name("/a180"))
0xEC => Some(pdf_text_name("/a199"))
0xED => Some(pdf_text_name("/a181"))
0xEE => Some(pdf_text_name("/a200"))
0xEF => Some(pdf_text_name("/a182"))
0xF1 => Some(pdf_text_name("/a201"))
0xF2 => Some(pdf_text_name("/a183"))
0xF3 => Some(pdf_text_name("/a184"))
0xF4 => Some(pdf_text_name("/a197"))
0xF5 => Some(pdf_text_name("/a185"))
0xF6 => Some(pdf_text_name("/a194"))
0xF7 => Some(pdf_text_name("/a198"))
0xF8 => Some(pdf_text_name("/a186"))
0xF9 => Some(pdf_text_name("/a195"))
0xFA => Some(pdf_text_name("/a187"))
0xFB => Some(pdf_text_name("/a188"))
0xFC => Some(pdf_text_name("/a189"))
0xFD => Some(pdf_text_name("/a190"))
0xFE => Some(pdf_text_name("/a191"))
_ => None
}
}
///|
fn pdf_text_difference_glyphname(
differences : ArrayView[PdfEncodingDifference],
code : Int,
) -> PdfName? {
let mut found : PdfName? = None
for difference in differences {
if difference.code == code {
found = Some(difference.name)
}
}
found
}
///|
fn PdfEncoding::pdf_text_glyphname_of_charcode(
self : PdfEncoding,
code : Int,
) -> PdfName? {
match self {
PdfImplicitInFontFile => None
PdfStandardEncoding => pdf_text_standard_glyphname(code)
PdfMacRomanEncoding => pdf_text_macroman_glyphname(code)
PdfWinAnsiEncoding => pdf_text_winansi_glyphname(code)
PdfMacExpertEncoding => pdf_text_macexpert_glyphname(code)
PdfCustomEncoding(base, differences) =>
match pdf_text_difference_glyphname(differences, code) {
Some(name) => Some(name)
None => base.pdf_text_glyphname_of_charcode(code)
}
PdfFillUndefinedWithStandard(base) =>
match base.pdf_text_glyphname_of_charcode(code) {
Some(name) => Some(name)
None => PdfStandardEncoding.pdf_text_glyphname_of_charcode(code)
}
}
}
///|
/// Expand this encoding to a table of defined character-code to glyph-name entries.
///
/// Only codes with a known glyph name are emitted. The table is ordered by
/// increasing one-byte character code.
pub fn PdfEncoding::table(self : PdfEncoding) -> Array[(Int, PdfName)] {
let output : Array[(Int, PdfName)] = Array::new(capacity=256)
for code in 0..<256 {
match self.pdf_text_glyphname_of_charcode(code) {
Some(name) => output.push((code, name))
None => ()
}
}
output
}
///|
/// Expand this encoding to glyph-name to character-code entries.
///
/// The order follows `table`; duplicate glyph names are preserved rather than
/// collapsed.
pub fn PdfEncoding::reverse_table(self : PdfEncoding) -> Array[(PdfName, Int)] {
[
for entry in self.table() => (entry.1, entry.0)
]
}
///|
/// Compatibility wrapper for `PdfEncoding::table`.
pub fn pdf_table_of_encoding(encoding : PdfEncoding) -> Array[(Int, PdfName)] {
encoding.table()
}
///|
/// Compatibility wrapper for `PdfEncoding::reverse_table`.
pub fn pdf_reverse_table_of_encoding(
encoding : PdfEncoding,
) -> Array[(PdfName, Int)] {
encoding.reverse_table()
}
///|
fn PdfStandardFontData::pdf_text_glyphname_of_charcode(
self : PdfStandardFontData,
code : Int,
) -> PdfName? {
match self.encoding {
PdfImplicitInFontFile =>
match self.font {
PdfSymbol => pdf_text_symbol_glyphname(code)
PdfZapfDingbats => pdf_text_zapfdingbats_glyphname(code)
_ => PdfStandardEncoding.pdf_text_glyphname_of_charcode(code)
}
_ => self.encoding.pdf_text_glyphname_of_charcode(code)
}
}
///|
fn PdfFont::pdf_text_glyphname_of_charcode(
self : PdfFont,
code : Int,
) -> PdfName? {
match self {
PdfFontStandard(data) => data.pdf_text_glyphname_of_charcode(code)
PdfFontSimple(font) => font.encoding.pdf_text_glyphname_of_charcode(code)
PdfFontCIDKeyed(_) => None
}
}