use super::{Name, name};
use crate::sname;
use educe::Educe;
use std::array::from_fn;
#[derive(Debug, PartialEq, Clone, Educe)]
#[educe(Deref, DerefMut)]
pub struct Encoding([Name; 256]);
impl Encoding {
#[inline]
pub const fn new(names: [Name; 256]) -> Self {
Self(names)
}
#[inline]
pub fn from(names: [&str; 256]) -> Self {
Self(from_fn(|i| name(names[i])))
}
#[inline]
pub fn get_name(&self, ch: u8) -> &Name {
&self.0[ch as usize]
}
#[inline]
pub fn get_str(&self, ch: u8) -> &str {
self.0[ch as usize].as_str()
}
pub fn predefined(name: &Name) -> Option<Self> {
if *name == sname("MacRomanEncoding") {
Some(Self::MAC_ROMAN)
} else if *name == sname("MacExpertEncoding") {
Some(Self::MAC_EXPERT)
} else if *name == sname("WinAnsiEncoding") {
Some(Self::WIN_ANSI)
} else if *name == sname("StandardEncoding") {
Some(Self::STANDARD)
} else if *name == sname("Symbol") {
Some(Self::SYMBOL)
} else if *name == sname("ZapfDingbats") {
Some(Self::ZAPFDINGBATS)
} else {
None
}
}
}
impl Default for Encoding {
fn default() -> Self {
Self::new(from_fn(|_| sname(".notdef")))
}
}
impl Encoding {
pub const MAC_EXPERT: Self = Self([
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("space"),
sname("exclamsmall"),
sname("Hungarumlautsmall"),
sname("centoldstyle"),
sname("dollaroldstyle"),
sname("dollarsuperior"),
sname("ampersandsmall"),
sname("Acutesmall"),
sname("parenleftsuperior"),
sname("parenrightsuperior"),
sname("twodotenleader"),
sname("onedotenleader"),
sname("comma"),
sname("hyphen"),
sname("period"),
sname("fraction"),
sname("zerooldstyle"),
sname("oneoldstyle"),
sname("twooldstyle"),
sname("threeoldstyle"),
sname("fouroldstyle"),
sname("fiveoldstyle"),
sname("sixoldstyle"),
sname("sevenoldstyle"),
sname("eightoldstyle"),
sname("nineoldstyle"),
sname("colon"),
sname("semicolon"),
sname(".notdef"),
sname("threequartersemdash"),
sname(".notdef"),
sname("questionsmall"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("Ethsmall"),
sname(".notdef"),
sname(".notdef"),
sname("onequarter"),
sname("onehalf"),
sname("threequarters"),
sname("oneeighth"),
sname("threeeighths"),
sname("fiveeighths"),
sname("seveneighths"),
sname("onethird"),
sname("twothirds"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("ff"),
sname("fi"),
sname("fl"),
sname("ffi"),
sname("ffl"),
sname("parenleftinferior"),
sname(".notdef"),
sname("parenrightinferior"),
sname("Circumflexsmall"),
sname("hypheninferior"),
sname("Gravesmall"),
sname("Asmall"),
sname("Bsmall"),
sname("Csmall"),
sname("Dsmall"),
sname("Esmall"),
sname("Fsmall"),
sname("Gsmall"),
sname("Hsmall"),
sname("Ismall"),
sname("Jsmall"),
sname("Ksmall"),
sname("Lsmall"),
sname("Msmall"),
sname("Nsmall"),
sname("Osmall"),
sname("Psmall"),
sname("Qsmall"),
sname("Rsmall"),
sname("Ssmall"),
sname("Tsmall"),
sname("Usmall"),
sname("Vsmall"),
sname("Wsmall"),
sname("Xsmall"),
sname("Ysmall"),
sname("Zsmall"),
sname("colonmonetary"),
sname("onefitted"),
sname("rupiah"),
sname("Tildesmall"),
sname(".notdef"),
sname(".notdef"),
sname("asuperior"),
sname("centsuperior"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("Aacutesmall"),
sname("Agravesmall"),
sname("Acircumflexsmall"),
sname("Adieresissmall"),
sname("Atildesmall"),
sname("Aringsmall"),
sname("Ccedillasmall"),
sname("Eacutesmall"),
sname("Egravesmall"),
sname("Ecircumflexsmall"),
sname("Edieresissmall"),
sname("Iacutesmall"),
sname("Igravesmall"),
sname("Icircumflexsmall"),
sname("Idieresissmall"),
sname("Ntildesmall"),
sname("Oacutesmall"),
sname("Ogravesmall"),
sname("Ocircumflexsmall"),
sname("Odieresissmall"),
sname("Otildesmall"),
sname("Uacutesmall"),
sname("Ugravesmall"),
sname("Ucircumflexsmall"),
sname("Udieresissmall"),
sname(".notdef"),
sname("eightsuperior"),
sname("fourinferior"),
sname("threeinferior"),
sname("sixinferior"),
sname("eightinferior"),
sname("seveninferior"),
sname("Scaronsmall"),
sname(".notdef"),
sname("centinferior"),
sname("twoinferior"),
sname(".notdef"),
sname("Dieresissmall"),
sname(".notdef"),
sname("Caronsmall"),
sname("osuperior"),
sname("fiveinferior"),
sname(".notdef"),
sname("commainferior"),
sname("periodinferior"),
sname("Yacutesmall"),
sname(".notdef"),
sname("dollarinferior"),
sname(".notdef"),
sname(".notdef"),
sname("Thornsmall"),
sname(".notdef"),
sname("nineinferior"),
sname("zeroinferior"),
sname("Zcaronsmall"),
sname("AEsmall"),
sname("Oslashsmall"),
sname("questiondownsmall"),
sname("oneinferior"),
sname("Lslashsmall"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("Cedillasmall"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("OEsmall"),
sname("figuredash"),
sname("hyphensuperior"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("exclamdownsmall"),
sname(".notdef"),
sname("Ydieresissmall"),
sname(".notdef"),
sname("onesuperior"),
sname("twosuperior"),
sname("threesuperior"),
sname("foursuperior"),
sname("fivesuperior"),
sname("sixsuperior"),
sname("sevensuperior"),
sname("ninesuperior"),
sname("zerosuperior"),
sname(".notdef"),
sname("esuperior"),
sname("rsuperior"),
sname("tsuperior"),
sname(".notdef"),
sname(".notdef"),
sname("isuperior"),
sname("ssuperior"),
sname("dsuperior"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("lsuperior"),
sname("Ogoneksmall"),
sname("Brevesmall"),
sname("Macronsmall"),
sname("bsuperior"),
sname("nsuperior"),
sname("msuperior"),
sname("commasuperior"),
sname("periodsuperior"),
sname("Dotaccentsmall"),
sname("Ringsmall"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
]);
pub const MAC_ROMAN: Self = Self([
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("space"),
sname("exclam"),
sname("quotedbl"),
sname("numbersign"),
sname("dollar"),
sname("percent"),
sname("ampersand"),
sname("quotesingle"),
sname("parenleft"),
sname("parenright"),
sname("asterisk"),
sname("plus"),
sname("comma"),
sname("hyphen"),
sname("period"),
sname("slash"),
sname("zero"),
sname("one"),
sname("two"),
sname("three"),
sname("four"),
sname("five"),
sname("six"),
sname("seven"),
sname("eight"),
sname("nine"),
sname("colon"),
sname("semicolon"),
sname("less"),
sname("equal"),
sname("greater"),
sname("question"),
sname("at"),
sname("A"),
sname("B"),
sname("C"),
sname("D"),
sname("E"),
sname("F"),
sname("G"),
sname("H"),
sname("I"),
sname("J"),
sname("K"),
sname("L"),
sname("M"),
sname("N"),
sname("O"),
sname("P"),
sname("Q"),
sname("R"),
sname("S"),
sname("T"),
sname("U"),
sname("V"),
sname("W"),
sname("X"),
sname("Y"),
sname("Z"),
sname("bracketleft"),
sname("backslash"),
sname("bracketright"),
sname("asciicircum"),
sname("underscore"),
sname("grave"),
sname("a"),
sname("b"),
sname("c"),
sname("d"),
sname("e"),
sname("f"),
sname("g"),
sname("h"),
sname("i"),
sname("j"),
sname("k"),
sname("l"),
sname("m"),
sname("n"),
sname("o"),
sname("p"),
sname("q"),
sname("r"),
sname("s"),
sname("t"),
sname("u"),
sname("v"),
sname("w"),
sname("x"),
sname("y"),
sname("z"),
sname("braceleft"),
sname("bar"),
sname("braceright"),
sname("asciitilde"),
sname(".notdef"),
sname("Adieresis"),
sname("Aring"),
sname("Ccedilla"),
sname("Eacute"),
sname("Ntilde"),
sname("Odieresis"),
sname("Udieresis"),
sname("aacute"),
sname("agrave"),
sname("acircumflex"),
sname("adieresis"),
sname("atilde"),
sname("aring"),
sname("ccedilla"),
sname("eacute"),
sname("egrave"),
sname("ecircumflex"),
sname("edieresis"),
sname("iacute"),
sname("igrave"),
sname("icircumflex"),
sname("idieresis"),
sname("ntilde"),
sname("oacute"),
sname("ograve"),
sname("ocircumflex"),
sname("odieresis"),
sname("otilde"),
sname("uacute"),
sname("ugrave"),
sname("ucircumflex"),
sname("udieresis"),
sname("dagger"),
sname("degree"),
sname("cent"),
sname("sterling"),
sname("section"),
sname("bullet"),
sname("paragraph"),
sname("germandbls"),
sname("registered"),
sname("copyright"),
sname("trademark"),
sname("acute"),
sname("dieresis"),
sname("notequal"),
sname("AE"),
sname("Oslash"),
sname("infinity"),
sname("plusminus"),
sname("lessequal"),
sname("greaterequal"),
sname("yen"),
sname("mu"),
sname("partialdiff"),
sname("summation"),
sname("product"),
sname("pi"),
sname("integral"),
sname("ordfeminine"),
sname("ordmasculine"),
sname("Omega"),
sname("ae"),
sname("oslash"),
sname("questiondown"),
sname("exclamdown"),
sname("logicalnot"),
sname("radical"),
sname("florin"),
sname("approxequal"),
sname("Delta"),
sname("guillemotleft"),
sname("guillemotright"),
sname("ellipsis"),
sname("space"),
sname("Agrave"),
sname("Atilde"),
sname("Otilde"),
sname("OE"),
sname("oe"),
sname("endash"),
sname("emdash"),
sname("quotedblleft"),
sname("quotedblright"),
sname("quoteleft"),
sname("quoteright"),
sname("divide"),
sname("lozenge"),
sname("ydieresis"),
sname("Ydieresis"),
sname("fraction"),
sname("currency"),
sname("guilsinglleft"),
sname("guilsinglright"),
sname("fi"),
sname("fl"),
sname("daggerdbl"),
sname("periodcentered"),
sname("quotesinglbase"),
sname("quotedblbase"),
sname("perthousand"),
sname("Acircumflex"),
sname("Ecircumflex"),
sname("Aacute"),
sname("Edieresis"),
sname("Egrave"),
sname("Iacute"),
sname("Icircumflex"),
sname("Idieresis"),
sname("Igrave"),
sname("Oacute"),
sname("Ocircumflex"),
sname("apple"),
sname("Ograve"),
sname("Uacute"),
sname("Ucircumflex"),
sname("Ugrave"),
sname("dotlessi"),
sname("circumflex"),
sname("tilde"),
sname("macron"),
sname("breve"),
sname("dotaccent"),
sname("ring"),
sname("cedilla"),
sname("hungarumlaut"),
sname("ogonek"),
sname("caron"),
]);
pub const STANDARD: Self = Self([
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("space"),
sname("exclam"),
sname("quotedbl"),
sname("numbersign"),
sname("dollar"),
sname("percent"),
sname("ampersand"),
sname("quotesingle"),
sname("parenleft"),
sname("parenright"),
sname("asterisk"),
sname("plus"),
sname("comma"),
sname("hyphen"),
sname("period"),
sname("slash"),
sname("zero"),
sname("one"),
sname("two"),
sname("three"),
sname("four"),
sname("five"),
sname("six"),
sname("seven"),
sname("eight"),
sname("nine"),
sname("colon"),
sname("semicolon"),
sname("less"),
sname("equal"),
sname("greater"),
sname("question"),
sname("at"),
sname("A"),
sname("B"),
sname("C"),
sname("D"),
sname("E"),
sname("F"),
sname("G"),
sname("H"),
sname("I"),
sname("J"),
sname("K"),
sname("L"),
sname("M"),
sname("N"),
sname("O"),
sname("P"),
sname("Q"),
sname("R"),
sname("S"),
sname("T"),
sname("U"),
sname("V"),
sname("W"),
sname("X"),
sname("Y"),
sname("Z"),
sname("bracketleft"),
sname("backslash"),
sname("bracketright"),
sname("asciicircum"),
sname("underscore"),
sname("grave"),
sname("a"),
sname("b"),
sname("c"),
sname("d"),
sname("e"),
sname("f"),
sname("g"),
sname("h"),
sname("i"),
sname("j"),
sname("k"),
sname("l"),
sname("m"),
sname("n"),
sname("o"),
sname("p"),
sname("q"),
sname("r"),
sname("s"),
sname("t"),
sname("u"),
sname("v"),
sname("w"),
sname("x"),
sname("y"),
sname("z"),
sname("braceleft"),
sname("bar"),
sname("braceright"),
sname("asciitilde"),
sname("bullet"),
sname("Euro"),
sname("bullet"),
sname("quotesinglbase"),
sname("florin"),
sname("quotedblbase"),
sname("ellipsis"),
sname("dagger"),
sname("daggerdbl"),
sname("circumflex"),
sname("perthousand"),
sname("Scaron"),
sname("guilsinglleft"),
sname("OE"),
sname("bullet"),
sname("Zcaron"),
sname("bullet"),
sname("bullet"),
sname("quoteleft"),
sname("quoteright"),
sname("quotedblleft"),
sname("quotedblright"),
sname("bullet"),
sname("endash"),
sname("emdash"),
sname("tilde"),
sname("trademark"),
sname("scaron"),
sname("guilsinglright"),
sname("oe"),
sname("bullet"),
sname("zcaron"),
sname("Ydieresis"),
sname("space"),
sname("exclamdown"),
sname("cent"),
sname("sterling"),
sname("currency"),
sname("yen"),
sname("brokenbar"),
sname("section"),
sname("dieresis"),
sname("copyright"),
sname("ordfeminine"),
sname("guillemotleft"),
sname("logicalnot"),
sname("hyphen"),
sname("registered"),
sname("macron"),
sname("degree"),
sname("plusminus"),
sname("twosuperior"),
sname("threesuperior"),
sname("acute"),
sname("mu"),
sname("paragraph"),
sname("periodcentered"),
sname("cedilla"),
sname("onesuperior"),
sname("ordmasculine"),
sname("guillemotright"),
sname("onequarter"),
sname("onehalf"),
sname("threequarters"),
sname("questiondown"),
sname("Agrave"),
sname("Aacute"),
sname("Acircumflex"),
sname("Atilde"),
sname("Adieresis"),
sname("Aring"),
sname("AE"),
sname("Ccedilla"),
sname("Egrave"),
sname("Eacute"),
sname("Ecircumflex"),
sname("Edieresis"),
sname("Igrave"),
sname("Iacute"),
sname("Icircumflex"),
sname("Idieresis"),
sname("Eth"),
sname("Ntilde"),
sname("Ograve"),
sname("Oacute"),
sname("Ocircumflex"),
sname("Otilde"),
sname("Odieresis"),
sname("multiply"),
sname("Oslash"),
sname("Ugrave"),
sname("Uacute"),
sname("Ucircumflex"),
sname("Udieresis"),
sname("Yacute"),
sname("Thorn"),
sname("germandbls"),
sname("agrave"),
sname("aacute"),
sname("acircumflex"),
sname("atilde"),
sname("adieresis"),
sname("aring"),
sname("ae"),
sname("ccedilla"),
sname("egrave"),
sname("eacute"),
sname("ecircumflex"),
sname("edieresis"),
sname("igrave"),
sname("iacute"),
sname("icircumflex"),
sname("idieresis"),
sname("eth"),
sname("ntilde"),
sname("ograve"),
sname("oacute"),
sname("ocircumflex"),
sname("otilde"),
sname("odieresis"),
sname("divide"),
sname("oslash"),
sname("ugrave"),
sname("uacute"),
sname("ucircumflex"),
sname("udieresis"),
sname("yacute"),
sname("thorn"),
sname("ydieresis"),
]);
pub const SYMBOL: Self = Self([
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("space"),
sname("exclam"),
sname("universal"),
sname("numbersign"),
sname("existential"),
sname("percent"),
sname("ampersand"),
sname("suchthat"),
sname("parenleft"),
sname("parenright"),
sname("asteriskmath"),
sname("plus"),
sname("comma"),
sname("minus"),
sname("period"),
sname("slash"),
sname("zero"),
sname("one"),
sname("two"),
sname("three"),
sname("four"),
sname("five"),
sname("six"),
sname("seven"),
sname("eight"),
sname("nine"),
sname("colon"),
sname("semicolon"),
sname("less"),
sname("equal"),
sname("greater"),
sname("question"),
sname("congruent"),
sname("Alpha"),
sname("Beta"),
sname("Chi"),
sname("Delta"),
sname("Epsilon"),
sname("Phi"),
sname("Gamma"),
sname("Eta"),
sname("Iota"),
sname("theta1"),
sname("Kappa"),
sname("Lambda"),
sname("Mu"),
sname("Nu"),
sname("Omicron"),
sname("Pi"),
sname("Theta"),
sname("Rho"),
sname("Sigma"),
sname("Tau"),
sname("Upsilon"),
sname("sigma1"),
sname("Omega"),
sname("Xi"),
sname("Psi"),
sname("Zeta"),
sname("bracketleft"),
sname("therefore"),
sname("bracketright"),
sname("perpendicular"),
sname("underscore"),
sname("radicalex"),
sname("alpha"),
sname("beta"),
sname("chi"),
sname("delta"),
sname("epsilon"),
sname("phi"),
sname("gamma"),
sname("eta"),
sname("iota"),
sname("phi1"),
sname("kappa"),
sname("lambda"),
sname("mu"),
sname("nu"),
sname("omicron"),
sname("pi"),
sname("theta"),
sname("rho"),
sname("sigma"),
sname("tau"),
sname("upsilon"),
sname("omega1"),
sname("omega"),
sname("xi"),
sname("psi"),
sname("zeta"),
sname("braceleft"),
sname("bar"),
sname("braceright"),
sname("similar"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("Upsilon1"),
sname("minute"),
sname("lessequal"),
sname("fraction"),
sname("infinity"),
sname("florin"),
sname("club"),
sname("diamond"),
sname("heart"),
sname("spade"),
sname("arrowboth"),
sname("arrowleft"),
sname("arrowup"),
sname("arrowright"),
sname("arrowdown"),
sname("degree"),
sname("plusminus"),
sname("second"),
sname("greaterequal"),
sname("multiply"),
sname("proportional"),
sname("partialdiff"),
sname("bullet"),
sname("divide"),
sname("notequal"),
sname("equivalence"),
sname("approxequal"),
sname("ellipsis"),
sname("arrowvertex"),
sname("arrowhorizex"),
sname("carriagereturn"),
sname("aleph"),
sname("Ifraktur"),
sname("Rfraktur"),
sname("weierstrass"),
sname("circlemultiply"),
sname("circleplus"),
sname("emptyset"),
sname("intersection"),
sname("union"),
sname("propersuperset"),
sname("reflexsuperset"),
sname("notsubset"),
sname("propersubset"),
sname("reflexsubset"),
sname("element"),
sname("notelement"),
sname("angle"),
sname("gradient"),
sname("registerserif"),
sname("copyrightserif"),
sname("trademarkserif"),
sname("product"),
sname("radical"),
sname("dotmath"),
sname("logicalnot"),
sname("logicaland"),
sname("logicalor"),
sname("arrowdblboth"),
sname("arrowdblleft"),
sname("arrowdblup"),
sname("arrowdblright"),
sname("arrowdbldown"),
sname("lozenge"),
sname("angleleft"),
sname("registersans"),
sname("copyrightsans"),
sname("trademarksans"),
sname("summation"),
sname("parenlefttp"),
sname("parenleftex"),
sname("parenleftbt"),
sname("bracketlefttp"),
sname("bracketleftex"),
sname("bracketleftbt"),
sname("bracelefttp"),
sname("braceleftmid"),
sname("braceleftbt"),
sname("braceex"),
sname(".notdef"),
sname("angleright"),
sname("integral"),
sname("integraltp"),
sname("integralex"),
sname("integralbt"),
sname("parenrighttp"),
sname("parenrightex"),
sname("parenrightbt"),
sname("bracketrighttp"),
sname("bracketrightex"),
sname("bracketrightbt"),
sname("bracerighttp"),
sname("bracerightmid"),
sname("bracerightbt"),
sname(".notdef"),
]);
pub const WIN_ANSI: Self = Self([
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("space"),
sname("exclam"),
sname("quotedbl"),
sname("numbersign"),
sname("dollar"),
sname("percent"),
sname("ampersand"),
sname("quotesingle"),
sname("parenleft"),
sname("parenright"),
sname("asterisk"),
sname("plus"),
sname("comma"),
sname("hyphen"),
sname("period"),
sname("slash"),
sname("zero"),
sname("one"),
sname("two"),
sname("three"),
sname("four"),
sname("five"),
sname("six"),
sname("seven"),
sname("eight"),
sname("nine"),
sname("colon"),
sname("semicolon"),
sname("less"),
sname("equal"),
sname("greater"),
sname("question"),
sname("at"),
sname("A"),
sname("B"),
sname("C"),
sname("D"),
sname("E"),
sname("F"),
sname("G"),
sname("H"),
sname("I"),
sname("J"),
sname("K"),
sname("L"),
sname("M"),
sname("N"),
sname("O"),
sname("P"),
sname("Q"),
sname("R"),
sname("S"),
sname("T"),
sname("U"),
sname("V"),
sname("W"),
sname("X"),
sname("Y"),
sname("Z"),
sname("bracketleft"),
sname("backslash"),
sname("bracketright"),
sname("asciicircum"),
sname("underscore"),
sname("grave"),
sname("a"),
sname("b"),
sname("c"),
sname("d"),
sname("e"),
sname("f"),
sname("g"),
sname("h"),
sname("i"),
sname("j"),
sname("k"),
sname("l"),
sname("m"),
sname("n"),
sname("o"),
sname("p"),
sname("q"),
sname("r"),
sname("s"),
sname("t"),
sname("u"),
sname("v"),
sname("w"),
sname("x"),
sname("y"),
sname("z"),
sname("braceleft"),
sname("bar"),
sname("braceright"),
sname("asciitilde"),
sname("bullet"),
sname("Euro"),
sname("bullet"),
sname("quotesinglbase"),
sname("florin"),
sname("quotedblbase"),
sname("ellipsis"),
sname("dagger"),
sname("daggerdbl"),
sname("circumflex"),
sname("perthousand"),
sname("Scaron"),
sname("guilsinglleft"),
sname("OE"),
sname("bullet"),
sname("Zcaron"),
sname("bullet"),
sname("bullet"),
sname("quoteleft"),
sname("quoteright"),
sname("quotedblleft"),
sname("quotedblright"),
sname("bullet"),
sname("endash"),
sname("emdash"),
sname("tilde"),
sname("trademark"),
sname("scaron"),
sname("guilsinglright"),
sname("oe"),
sname("bullet"),
sname("zcaron"),
sname("Ydieresis"),
sname("space"),
sname("exclamdown"),
sname("cent"),
sname("sterling"),
sname("currency"),
sname("yen"),
sname("brokenbar"),
sname("section"),
sname("dieresis"),
sname("copyright"),
sname("ordfeminine"),
sname("guillemotleft"),
sname("logicalnot"),
sname("hyphen"),
sname("registered"),
sname("macron"),
sname("degree"),
sname("plusminus"),
sname("twosuperior"),
sname("threesuperior"),
sname("acute"),
sname("mu"),
sname("paragraph"),
sname("periodcentered"),
sname("cedilla"),
sname("onesuperior"),
sname("ordmasculine"),
sname("guillemotright"),
sname("onequarter"),
sname("onehalf"),
sname("threequarters"),
sname("questiondown"),
sname("Agrave"),
sname("Aacute"),
sname("Acircumflex"),
sname("Atilde"),
sname("Adieresis"),
sname("Aring"),
sname("AE"),
sname("Ccedilla"),
sname("Egrave"),
sname("Eacute"),
sname("Ecircumflex"),
sname("Edieresis"),
sname("Igrave"),
sname("Iacute"),
sname("Icircumflex"),
sname("Idieresis"),
sname("Eth"),
sname("Ntilde"),
sname("Ograve"),
sname("Oacute"),
sname("Ocircumflex"),
sname("Otilde"),
sname("Odieresis"),
sname("multiply"),
sname("Oslash"),
sname("Ugrave"),
sname("Uacute"),
sname("Ucircumflex"),
sname("Udieresis"),
sname("Yacute"),
sname("Thorn"),
sname("germandbls"),
sname("agrave"),
sname("aacute"),
sname("acircumflex"),
sname("atilde"),
sname("adieresis"),
sname("aring"),
sname("ae"),
sname("ccedilla"),
sname("egrave"),
sname("eacute"),
sname("ecircumflex"),
sname("edieresis"),
sname("igrave"),
sname("iacute"),
sname("icircumflex"),
sname("idieresis"),
sname("eth"),
sname("ntilde"),
sname("ograve"),
sname("oacute"),
sname("ocircumflex"),
sname("otilde"),
sname("odieresis"),
sname("divide"),
sname("oslash"),
sname("ugrave"),
sname("uacute"),
sname("ucircumflex"),
sname("udieresis"),
sname("yacute"),
sname("thorn"),
sname("ydieresis"),
]);
pub const ZAPFDINGBATS: Self = Self([
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("space"),
sname("a1"),
sname("a2"),
sname("a202"),
sname("a3"),
sname("a4"),
sname("a5"),
sname("a119"),
sname("a118"),
sname("a117"),
sname("a11"),
sname("a12"),
sname("a13"),
sname("a14"),
sname("a15"),
sname("a16"),
sname("a105"),
sname("a17"),
sname("a18"),
sname("a19"),
sname("a20"),
sname("a21"),
sname("a22"),
sname("a23"),
sname("a24"),
sname("a25"),
sname("a26"),
sname("a27"),
sname("a28"),
sname("a6"),
sname("a7"),
sname("a8"),
sname("a9"),
sname("a10"),
sname("a29"),
sname("a30"),
sname("a31"),
sname("a32"),
sname("a33"),
sname("a34"),
sname("a35"),
sname("a36"),
sname("a37"),
sname("a38"),
sname("a39"),
sname("a40"),
sname("a41"),
sname("a42"),
sname("a43"),
sname("a44"),
sname("a45"),
sname("a46"),
sname("a47"),
sname("a48"),
sname("a49"),
sname("a50"),
sname("a51"),
sname("a52"),
sname("a53"),
sname("a54"),
sname("a55"),
sname("a56"),
sname("a57"),
sname("a58"),
sname("a59"),
sname("a60"),
sname("a61"),
sname("a62"),
sname("a63"),
sname("a64"),
sname("a65"),
sname("a66"),
sname("a67"),
sname("a68"),
sname("a69"),
sname("a70"),
sname("a71"),
sname("a72"),
sname("a73"),
sname("a74"),
sname("a203"),
sname("a75"),
sname("a204"),
sname("a76"),
sname("a77"),
sname("a78"),
sname("a79"),
sname("a81"),
sname("a82"),
sname("a83"),
sname("a84"),
sname("a97"),
sname("a98"),
sname("a99"),
sname("a100"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname(".notdef"),
sname("a101"),
sname("a102"),
sname("a103"),
sname("a104"),
sname("a106"),
sname("a107"),
sname("a108"),
sname("a112"),
sname("a111"),
sname("a110"),
sname("a109"),
sname("a120"),
sname("a121"),
sname("a122"),
sname("a123"),
sname("a124"),
sname("a125"),
sname("a126"),
sname("a127"),
sname("a128"),
sname("a129"),
sname("a130"),
sname("a131"),
sname("a132"),
sname("a133"),
sname("a134"),
sname("a135"),
sname("a136"),
sname("a137"),
sname("a138"),
sname("a139"),
sname("a140"),
sname("a141"),
sname("a142"),
sname("a143"),
sname("a144"),
sname("a145"),
sname("a146"),
sname("a147"),
sname("a148"),
sname("a149"),
sname("a150"),
sname("a151"),
sname("a152"),
sname("a153"),
sname("a154"),
sname("a155"),
sname("a156"),
sname("a157"),
sname("a158"),
sname("a159"),
sname("a160"),
sname("a161"),
sname("a163"),
sname("a164"),
sname("a196"),
sname("a165"),
sname("a192"),
sname("a166"),
sname("a167"),
sname("a168"),
sname("a169"),
sname("a170"),
sname("a171"),
sname("a172"),
sname("a173"),
sname("a162"),
sname("a174"),
sname("a175"),
sname("a176"),
sname("a177"),
sname("a178"),
sname("a179"),
sname("a193"),
sname("a180"),
sname("a199"),
sname("a181"),
sname("a200"),
sname("a182"),
sname(".notdef"),
sname("a201"),
sname("a183"),
sname("a184"),
sname("a197"),
sname("a185"),
sname("a194"),
sname("a198"),
sname("a186"),
sname("a195"),
sname("a187"),
sname("a188"),
sname("a189"),
sname("a190"),
sname("a191"),
sname(".notdef"),
]);
}