// Array of characters in Windows-1252 (ANSI) as used by PDF WinAnsiEncoding.
// Starts with 32 (space) and ends with 255 (the final character).
// Per PDF spec Table D.1 footnote 3: in WinAnsiEncoding, all unused codes
// greater than 40 octal (32 decimal) map to bullet. Positions 0x7F, 0x81,
// 0x8D, 0x8F, 0x90, 0x9D are mapped to bullet accordingly.
// Per Table D.1 footnote 5: byte 0xAD (255 octal) encodes /hyphen (U+002D);
// "soft hyphen" is only a duplicate alias and is typographically the same
// as hyphen. Preserving U+00AD breaks search/copy on hyphenated line breaks
// because the soft hyphen is invisible.
export const win1252Chars = [' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';',
  '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '',
  ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}',
  '~', '•', '€', '•', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', '•', 'Ž', '•', '•', '‘', '’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'œ', '•', 'ž', 'Ÿ',
  '', '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '-', '®', '¯', '°', '±', '²', '³', '´', 'µ', '¶', '·', '¸', '¹', 'º', '»', '¼', '½', '¾', '¿', 'À', 'Á',
  'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â',
  'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ'];

// Array of characters in MacRoman encoding
// Starts with 32 (space) and ends with 255 (the final character)
// Identical to ASCII for 32-126; differs from Windows-1252 in 128-255 range.
export const macRomanChars = [' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';',
  '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '',
  ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}',
  '~', '',
  'Ä', 'Å', 'Ç', 'É', 'Ñ', 'Ö', 'Ü', 'á', 'à', 'â', 'ä', 'ã', 'å', 'ç', 'é', 'è',
  'ê', 'ë', 'í', 'ì', 'î', 'ï', 'ñ', 'ó', 'ò', 'ô', 'ö', 'õ', 'ú', 'ù', 'û', 'ü',
  '†', '°', '¢', '£', '§', '•', '¶', 'ß', '®', '©', '™', '´', '¨', '≠', 'Æ', 'Ø',
  '∞', '±', '≤', '≥', '¥', 'µ', '∂', '∑', '∏', 'π', '∫', 'ª', 'º', 'Ω', 'æ', 'ø',
  '¿', '¡', '¬', '√', 'ƒ', '≈', '∆', '«', '»', '…', '\u00A0', 'À', 'Ã', 'Õ', 'Œ', 'œ',
  '–', '—', '\u201C', '\u201D', '\u2018', '\u2019', '÷', '◊', 'ÿ', 'Ÿ', '⁄', '€', '‹', '›', '\uFB01', '\uFB02',
  '‡', '·', '‚', '„', '‰', 'Â', 'Ê', 'Á', 'Ë', 'È', 'Í', 'Î', 'Ï', 'Ì', 'Ó', 'Ô',
  '\uF8FF', 'Ò', 'Ú', 'Û', 'Ù', '\u0131', 'ˆ', '˜', '¯', '\u02D8', '\u02D9', '˚', '¸', '\u02DD', '\u02DB', '\u02C7'];

// Mapping between character names and Windows octal encodings
// Parsed from Appendix D of PDF 1.7 spec
// ASCII characters are either "replaced" by themselves or escaped with backslashes in the case
// of special characters to maintain readability in the PDF.
// Non-ASCII characters are replaced by encodings.
const encodingASCII = {
  A: 'A',
  B: 'B',
  C: 'C',
  D: 'D',
  E: 'E',
  F: 'F',
  G: 'G',
  H: 'H',
  I: 'I',
  J: 'J',
  K: 'K',
  L: 'L',
  M: 'M',
  N: 'N',
  O: 'O',
  P: 'P',
  Q: 'Q',
  R: 'R',
  S: 'S',
  T: 'T',
  U: 'U',
  V: 'V',
  W: 'W',
  X: 'X',
  Y: 'Y',
  Z: 'Z',
  a: 'a',
  '&': '&',
  '^': '^',
  '~': '~',
  '*': '*',
  '@': '@',
  b: 'b',
  '\\': '\\\\',
  '|': '|',
  '{': '{',
  '}': '}',
  '[': '[',
  ']': ']',
  c: 'c',
  ':': ':',
  ',': ',',
  d: 'd',
  $: '$',
  e: 'e',
  8: '8',
  '=': '=',
  '!': '!',
  f: 'f',
  5: '5',
  4: '4',
  g: 'g',
  '`': '`',
  '>': '>',
  h: 'h',
  '-': '-',
  i: 'i',
  j: 'j',
  k: 'k',
  l: 'l',
  '<': '<',
  m: 'm',
  n: 'n',
  9: '9',
  '#': '#',
  o: 'o',
  1: '1',
  p: 'p',
  '(': '\\(',
  ')': '\\)',
  '%': '%',
  '.': '.',
  '+': '+',
  q: 'q',
  '?': '?',
  '"': '"',
  "'": "'",
  r: 'r',
  s: 's',
  ';': ';',
  7: '7',
  6: '6',
  '/': '/',
  ' ': ' ',
  t: 't',
  3: '3',
  2: '2',
  u: 'u',
  _: '_',
  v: 'v',
  w: 'w',
  x: 'x',
  y: 'y',
  z: 'z',
  0: '0',
};

const encodingNonASCII = {
  Æ: '\\306',
  Á: '\\301',
  Â: '\\302',
  Ä: '\\304',
  À: '\\300',
  Å: '\\305',
  Ã: '\\303',
  Ç: '\\307',
  É: '\\311',
  Ê: '\\312',
  Ë: '\\313',
  È: '\\310',
  Ð: '\\320',
  '€': '\\200',
  Í: '\\315',
  Î: '\\316',
  Ï: '\\317',
  Ì: '\\314',
  Ñ: '\\321',
  Œ: '\\214',
  Ó: '\\323',
  Ô: '\\324',
  Ö: '\\326',
  Ò: '\\322',
  Ø: '\\330',
  Õ: '\\325',
  Š: '\\212',
  Þ: '\\336',
  Ú: '\\332',
  Û: '\\333',
  Ü: '\\334',
  Ù: '\\331',
  Ý: '\\335',
  Ÿ: '\\237',
  Ž: '\\216',
  á: '\\341',
  â: '\\342',
  '´': '\\264',
  ä: '\\344',
  æ: '\\346',
  à: '\\340',
  å: '\\345',
  ã: '\\343',
  '¦': '\\246',
  '•': '\\225',
  ç: '\\347',
  '¸': '\\270',
  '¢': '\\242',
  ˆ: '\\210',
  '©': '\\251',
  '¤': '\\244',
  '†': '\\206',
  '‡': '\\207',
  '°': '\\260',
  '¨': '\\250',
  '÷': '\\367',
  é: '\\351',
  ê: '\\352',
  ë: '\\353',
  è: '\\350',
  '…': '\\205',
  '—': '\\227',
  '–': '\\226',
  ð: '\\360',
  '¡': '\\241',
  ƒ: '\\203',
  ß: '\\337',
  '«': '\\253',
  '»': '\\273',
  '‹': '\\213',
  '›': '\\233',
  í: '\\355',
  î: '\\356',
  ï: '\\357',
  ì: '\\354',
  '¬': '\\254',
  '¯': '\\257',
  μ: '\\265',
  '×': '\\327',
  ñ: '\\361',
  ó: '\\363',
  ô: '\\364',
  ö: '\\366',
  œ: '\\234',
  ò: '\\362',
  '½': '\\275',
  '¼': '\\274',
  '¹': '\\271',
  ª: '\\252',
  º: '\\272',
  ø: '\\370',
  õ: '\\365',
  '¶': '\\266',
  '·': '\\267',
  '‰': '\\211',
  '±': '\\261',
  '¿': '\\277',
  '„': '\\204',
  '“': '\\223',
  '”': '\\224',
  '‘': '\\221',
  '’': '\\222',
  '‚': '\\202',
  '®': '\\256',
  š: '\\232',
  '§': '\\247',
  '£': '\\243',
  þ: '\\376',
  '¾': '\\276',
  '³': '\\263',
  '˜': '\\230',
  '™': '\\231',
  '²': '\\262',
  ú: '\\372',
  û: '\\373',
  ü: '\\374',
  ù: '\\371',
  ý: '\\375',
  ÿ: '\\377',
  '¥': '\\245',
  ž: '\\236',
  '(': '\\(',
  ')': '\\)',
  '\\': '\\\\',
};

export const winEncodingLookup = {
  ...encodingASCII,
  ...encodingNonASCII,
};

/**
 * Complete Adobe Glyph List: maps PostScript glyph names to Unicode code points.
 * Generated from https://github.com/adobe-type-tools/agl-aglfn glyphlist.txt (4,281 entries).
 * Single-codepoint entries are stored as numbers; multi-codepoint entries as pre-built strings.
 * Used for /Encoding /Differences arrays in Type1 and TrueType fonts.
 * @type {Record<string, number|string>}
 */
export const aglMap = {
  a: 0x61,
  A: 0x41,
  aabengali: 0x986,
  aacute: 0xE1,
  Aacute: 0xC1,
  Aacutesmall: 0xF7E1,
  aadeva: 0x906,
  aagujarati: 0xA86,
  aagurmukhi: 0xA06,
  aamatragurmukhi: 0xA3E,
  aarusquare: 0x3303,
  aavowelsignbengali: 0x9BE,
  aavowelsigndeva: 0x93E,
  aavowelsigngujarati: 0xABE,
  abbreviationmarkarmenian: 0x55F,
  abbreviationsigndeva: 0x970,
  abengali: 0x985,
  abopomofo: 0x311A,
  abreve: 0x103,
  Abreve: 0x102,
  abreveacute: 0x1EAF,
  Abreveacute: 0x1EAE,
  abrevecyrillic: 0x4D1,
  Abrevecyrillic: 0x4D0,
  abrevedotbelow: 0x1EB7,
  Abrevedotbelow: 0x1EB6,
  abrevegrave: 0x1EB1,
  Abrevegrave: 0x1EB0,
  abrevehookabove: 0x1EB3,
  Abrevehookabove: 0x1EB2,
  abrevetilde: 0x1EB5,
  Abrevetilde: 0x1EB4,
  acaron: 0x1CE,
  Acaron: 0x1CD,
  acircle: 0x24D0,
  Acircle: 0x24B6,
  acircumflex: 0xE2,
  Acircumflex: 0xC2,
  acircumflexacute: 0x1EA5,
  Acircumflexacute: 0x1EA4,
  acircumflexdotbelow: 0x1EAD,
  Acircumflexdotbelow: 0x1EAC,
  acircumflexgrave: 0x1EA7,
  Acircumflexgrave: 0x1EA6,
  acircumflexhookabove: 0x1EA9,
  Acircumflexhookabove: 0x1EA8,
  Acircumflexsmall: 0xF7E2,
  acircumflextilde: 0x1EAB,
  Acircumflextilde: 0x1EAA,
  acute: 0xB4,
  Acute: 0xF6C9,
  acutebelowcmb: 0x317,
  acutecmb: 0x301,
  acutecomb: 0x301,
  acutedeva: 0x954,
  acutelowmod: 0x2CF,
  Acutesmall: 0xF7B4,
  acutetonecmb: 0x341,
  acyrillic: 0x430,
  Acyrillic: 0x410,
  adblgrave: 0x201,
  Adblgrave: 0x200,
  addakgurmukhi: 0xA71,
  adeva: 0x905,
  adieresis: 0xE4,
  Adieresis: 0xC4,
  adieresiscyrillic: 0x4D3,
  Adieresiscyrillic: 0x4D2,
  adieresismacron: 0x1DF,
  Adieresismacron: 0x1DE,
  Adieresissmall: 0xF7E4,
  adotbelow: 0x1EA1,
  Adotbelow: 0x1EA0,
  adotmacron: 0x1E1,
  Adotmacron: 0x1E0,
  ae: 0xE6,
  AE: 0xC6,
  aeacute: 0x1FD,
  AEacute: 0x1FC,
  aekorean: 0x3150,
  aemacron: 0x1E3,
  AEmacron: 0x1E2,
  AEsmall: 0xF7E6,
  afii00208: 0x2015,
  afii08941: 0x20A4,
  afii10017: 0x410,
  afii10018: 0x411,
  afii10019: 0x412,
  afii10020: 0x413,
  afii10021: 0x414,
  afii10022: 0x415,
  afii10023: 0x401,
  afii10024: 0x416,
  afii10025: 0x417,
  afii10026: 0x418,
  afii10027: 0x419,
  afii10028: 0x41A,
  afii10029: 0x41B,
  afii10030: 0x41C,
  afii10031: 0x41D,
  afii10032: 0x41E,
  afii10033: 0x41F,
  afii10034: 0x420,
  afii10035: 0x421,
  afii10036: 0x422,
  afii10037: 0x423,
  afii10038: 0x424,
  afii10039: 0x425,
  afii10040: 0x426,
  afii10041: 0x427,
  afii10042: 0x428,
  afii10043: 0x429,
  afii10044: 0x42A,
  afii10045: 0x42B,
  afii10046: 0x42C,
  afii10047: 0x42D,
  afii10048: 0x42E,
  afii10049: 0x42F,
  afii10050: 0x490,
  afii10051: 0x402,
  afii10052: 0x403,
  afii10053: 0x404,
  afii10054: 0x405,
  afii10055: 0x406,
  afii10056: 0x407,
  afii10057: 0x408,
  afii10058: 0x409,
  afii10059: 0x40A,
  afii10060: 0x40B,
  afii10061: 0x40C,
  afii10062: 0x40E,
  afii10063: 0xF6C4,
  afii10064: 0xF6C5,
  afii10065: 0x430,
  afii10066: 0x431,
  afii10067: 0x432,
  afii10068: 0x433,
  afii10069: 0x434,
  afii10070: 0x435,
  afii10071: 0x451,
  afii10072: 0x436,
  afii10073: 0x437,
  afii10074: 0x438,
  afii10075: 0x439,
  afii10076: 0x43A,
  afii10077: 0x43B,
  afii10078: 0x43C,
  afii10079: 0x43D,
  afii10080: 0x43E,
  afii10081: 0x43F,
  afii10082: 0x440,
  afii10083: 0x441,
  afii10084: 0x442,
  afii10085: 0x443,
  afii10086: 0x444,
  afii10087: 0x445,
  afii10088: 0x446,
  afii10089: 0x447,
  afii10090: 0x448,
  afii10091: 0x449,
  afii10092: 0x44A,
  afii10093: 0x44B,
  afii10094: 0x44C,
  afii10095: 0x44D,
  afii10096: 0x44E,
  afii10097: 0x44F,
  afii10098: 0x491,
  afii10099: 0x452,
  afii10100: 0x453,
  afii10101: 0x454,
  afii10102: 0x455,
  afii10103: 0x456,
  afii10104: 0x457,
  afii10105: 0x458,
  afii10106: 0x459,
  afii10107: 0x45A,
  afii10108: 0x45B,
  afii10109: 0x45C,
  afii10110: 0x45E,
  afii10145: 0x40F,
  afii10146: 0x462,
  afii10147: 0x472,
  afii10148: 0x474,
  afii10192: 0xF6C6,
  afii10193: 0x45F,
  afii10194: 0x463,
  afii10195: 0x473,
  afii10196: 0x475,
  afii10831: 0xF6C7,
  afii10832: 0xF6C8,
  afii10846: 0x4D9,
  afii299: 0x200E,
  afii300: 0x200F,
  afii301: 0x200D,
  afii57381: 0x66A,
  afii57388: 0x60C,
  afii57392: 0x660,
  afii57393: 0x661,
  afii57394: 0x662,
  afii57395: 0x663,
  afii57396: 0x664,
  afii57397: 0x665,
  afii57398: 0x666,
  afii57399: 0x667,
  afii57400: 0x668,
  afii57401: 0x669,
  afii57403: 0x61B,
  afii57407: 0x61F,
  afii57409: 0x621,
  afii57410: 0x622,
  afii57411: 0x623,
  afii57412: 0x624,
  afii57413: 0x625,
  afii57414: 0x626,
  afii57415: 0x627,
  afii57416: 0x628,
  afii57417: 0x629,
  afii57418: 0x62A,
  afii57419: 0x62B,
  afii57420: 0x62C,
  afii57421: 0x62D,
  afii57422: 0x62E,
  afii57423: 0x62F,
  afii57424: 0x630,
  afii57425: 0x631,
  afii57426: 0x632,
  afii57427: 0x633,
  afii57428: 0x634,
  afii57429: 0x635,
  afii57430: 0x636,
  afii57431: 0x637,
  afii57432: 0x638,
  afii57433: 0x639,
  afii57434: 0x63A,
  afii57440: 0x640,
  afii57441: 0x641,
  afii57442: 0x642,
  afii57443: 0x643,
  afii57444: 0x644,
  afii57445: 0x645,
  afii57446: 0x646,
  afii57448: 0x648,
  afii57449: 0x649,
  afii57450: 0x64A,
  afii57451: 0x64B,
  afii57452: 0x64C,
  afii57453: 0x64D,
  afii57454: 0x64E,
  afii57455: 0x64F,
  afii57456: 0x650,
  afii57457: 0x651,
  afii57458: 0x652,
  afii57470: 0x647,
  afii57505: 0x6A4,
  afii57506: 0x67E,
  afii57507: 0x686,
  afii57508: 0x698,
  afii57509: 0x6AF,
  afii57511: 0x679,
  afii57512: 0x688,
  afii57513: 0x691,
  afii57514: 0x6BA,
  afii57519: 0x6D2,
  afii57534: 0x6D5,
  afii57636: 0x20AA,
  afii57645: 0x5BE,
  afii57658: 0x5C3,
  afii57664: 0x5D0,
  afii57665: 0x5D1,
  afii57666: 0x5D2,
  afii57667: 0x5D3,
  afii57668: 0x5D4,
  afii57669: 0x5D5,
  afii57670: 0x5D6,
  afii57671: 0x5D7,
  afii57672: 0x5D8,
  afii57673: 0x5D9,
  afii57674: 0x5DA,
  afii57675: 0x5DB,
  afii57676: 0x5DC,
  afii57677: 0x5DD,
  afii57678: 0x5DE,
  afii57679: 0x5DF,
  afii57680: 0x5E0,
  afii57681: 0x5E1,
  afii57682: 0x5E2,
  afii57683: 0x5E3,
  afii57684: 0x5E4,
  afii57685: 0x5E5,
  afii57686: 0x5E6,
  afii57687: 0x5E7,
  afii57688: 0x5E8,
  afii57689: 0x5E9,
  afii57690: 0x5EA,
  afii57694: 0xFB2A,
  afii57695: 0xFB2B,
  afii57700: 0xFB4B,
  afii57705: 0xFB1F,
  afii57716: 0x5F0,
  afii57717: 0x5F1,
  afii57718: 0x5F2,
  afii57723: 0xFB35,
  afii57793: 0x5B4,
  afii57794: 0x5B5,
  afii57795: 0x5B6,
  afii57796: 0x5BB,
  afii57797: 0x5B8,
  afii57798: 0x5B7,
  afii57799: 0x5B0,
  afii57800: 0x5B2,
  afii57801: 0x5B1,
  afii57802: 0x5B3,
  afii57803: 0x5C2,
  afii57804: 0x5C1,
  afii57806: 0x5B9,
  afii57807: 0x5BC,
  afii57839: 0x5BD,
  afii57841: 0x5BF,
  afii57842: 0x5C0,
  afii57929: 0x2BC,
  afii61248: 0x2105,
  afii61289: 0x2113,
  afii61352: 0x2116,
  afii61573: 0x202C,
  afii61574: 0x202D,
  afii61575: 0x202E,
  afii61664: 0x200C,
  afii63167: 0x66D,
  afii64937: 0x2BD,
  agrave: 0xE0,
  Agrave: 0xC0,
  Agravesmall: 0xF7E0,
  agujarati: 0xA85,
  agurmukhi: 0xA05,
  ahiragana: 0x3042,
  ahookabove: 0x1EA3,
  Ahookabove: 0x1EA2,
  aibengali: 0x990,
  aibopomofo: 0x311E,
  aideva: 0x910,
  aiecyrillic: 0x4D5,
  Aiecyrillic: 0x4D4,
  aigujarati: 0xA90,
  aigurmukhi: 0xA10,
  aimatragurmukhi: 0xA48,
  ainarabic: 0x639,
  ainfinalarabic: 0xFECA,
  aininitialarabic: 0xFECB,
  ainmedialarabic: 0xFECC,
  ainvertedbreve: 0x203,
  Ainvertedbreve: 0x202,
  aivowelsignbengali: 0x9C8,
  aivowelsigndeva: 0x948,
  aivowelsigngujarati: 0xAC8,
  akatakana: 0x30A2,
  akatakanahalfwidth: 0xFF71,
  akorean: 0x314F,
  alef: 0x5D0,
  alefarabic: 0x627,
  alefdageshhebrew: 0xFB30,
  aleffinalarabic: 0xFE8E,
  alefhamzaabovearabic: 0x623,
  alefhamzaabovefinalarabic: 0xFE84,
  alefhamzabelowarabic: 0x625,
  alefhamzabelowfinalarabic: 0xFE88,
  alefhebrew: 0x5D0,
  aleflamedhebrew: 0xFB4F,
  alefmaddaabovearabic: 0x622,
  alefmaddaabovefinalarabic: 0xFE82,
  alefmaksuraarabic: 0x649,
  alefmaksurafinalarabic: 0xFEF0,
  alefmaksurainitialarabic: 0xFEF3,
  alefmaksuramedialarabic: 0xFEF4,
  alefpatahhebrew: 0xFB2E,
  alefqamatshebrew: 0xFB2F,
  aleph: 0x2135,
  allequal: 0x224C,
  alpha: 0x3B1,
  Alpha: 0x391,
  alphatonos: 0x3AC,
  Alphatonos: 0x386,
  amacron: 0x101,
  Amacron: 0x100,
  amonospace: 0xFF41,
  Amonospace: 0xFF21,
  ampersand: 0x26,
  ampersandmonospace: 0xFF06,
  ampersandsmall: 0xF726,
  amsquare: 0x33C2,
  anbopomofo: 0x3122,
  angbopomofo: 0x3124,
  angkhankhuthai: 0xE5A,
  angle: 0x2220,
  anglebracketleft: 0x3008,
  anglebracketleftvertical: 0xFE3F,
  anglebracketright: 0x3009,
  anglebracketrightvertical: 0xFE40,
  angleleft: 0x2329,
  angleright: 0x232A,
  angstrom: 0x212B,
  anoteleia: 0x387,
  anudattadeva: 0x952,
  anusvarabengali: 0x982,
  anusvaradeva: 0x902,
  anusvaragujarati: 0xA82,
  aogonek: 0x105,
  Aogonek: 0x104,
  apaatosquare: 0x3300,
  aparen: 0x249C,
  apostrophearmenian: 0x55A,
  apostrophemod: 0x2BC,
  apple: 0xF8FF,
  approaches: 0x2250,
  approxequal: 0x2248,
  approxequalorimage: 0x2252,
  approximatelyequal: 0x2245,
  araeaekorean: 0x318E,
  araeakorean: 0x318D,
  arc: 0x2312,
  arighthalfring: 0x1E9A,
  aring: 0xE5,
  Aring: 0xC5,
  aringacute: 0x1FB,
  Aringacute: 0x1FA,
  aringbelow: 0x1E01,
  Aringbelow: 0x1E00,
  Aringsmall: 0xF7E5,
  arrowboth: 0x2194,
  arrowdashdown: 0x21E3,
  arrowdashleft: 0x21E0,
  arrowdashright: 0x21E2,
  arrowdashup: 0x21E1,
  arrowdblboth: 0x21D4,
  arrowdbldown: 0x21D3,
  arrowdblleft: 0x21D0,
  arrowdblright: 0x21D2,
  arrowdblup: 0x21D1,
  arrowdown: 0x2193,
  arrowdownleft: 0x2199,
  arrowdownright: 0x2198,
  arrowdownwhite: 0x21E9,
  arrowheaddownmod: 0x2C5,
  arrowheadleftmod: 0x2C2,
  arrowheadrightmod: 0x2C3,
  arrowheadupmod: 0x2C4,
  arrowhorizex: 0xF8E7,
  arrowleft: 0x2190,
  arrowleftdbl: 0x21D0,
  arrowleftdblstroke: 0x21CD,
  arrowleftoverright: 0x21C6,
  arrowleftwhite: 0x21E6,
  arrowright: 0x2192,
  arrowrightdblstroke: 0x21CF,
  arrowrightheavy: 0x279E,
  arrowrightoverleft: 0x21C4,
  arrowrightwhite: 0x21E8,
  arrowtableft: 0x21E4,
  arrowtabright: 0x21E5,
  arrowup: 0x2191,
  arrowupdn: 0x2195,
  arrowupdnbse: 0x21A8,
  arrowupdownbase: 0x21A8,
  arrowupleft: 0x2196,
  arrowupleftofdown: 0x21C5,
  arrowupright: 0x2197,
  arrowupwhite: 0x21E7,
  arrowvertex: 0xF8E6,
  asciicircum: 0x5E,
  asciicircummonospace: 0xFF3E,
  asciitilde: 0x7E,
  asciitildemonospace: 0xFF5E,
  ascript: 0x251,
  ascriptturned: 0x252,
  Asmall: 0xF761,
  asmallhiragana: 0x3041,
  asmallkatakana: 0x30A1,
  asmallkatakanahalfwidth: 0xFF67,
  asterisk: 0x2A,
  asteriskaltonearabic: 0x66D,
  asteriskarabic: 0x66D,
  asteriskmath: 0x2217,
  asteriskmonospace: 0xFF0A,
  asterisksmall: 0xFE61,
  asterism: 0x2042,
  asuperior: 0xF6E9,
  asymptoticallyequal: 0x2243,
  at: 0x40,
  atilde: 0xE3,
  Atilde: 0xC3,
  Atildesmall: 0xF7E3,
  atmonospace: 0xFF20,
  atsmall: 0xFE6B,
  aturned: 0x250,
  aubengali: 0x994,
  aubopomofo: 0x3120,
  audeva: 0x914,
  augujarati: 0xA94,
  augurmukhi: 0xA14,
  aulengthmarkbengali: 0x9D7,
  aumatragurmukhi: 0xA4C,
  auvowelsignbengali: 0x9CC,
  auvowelsigndeva: 0x94C,
  auvowelsigngujarati: 0xACC,
  avagrahadeva: 0x93D,
  aybarmenian: 0x561,
  Aybarmenian: 0x531,
  ayin: 0x5E2,
  ayinaltonehebrew: 0xFB20,
  ayinhebrew: 0x5E2,
  b: 0x62,
  B: 0x42,
  babengali: 0x9AC,
  backslash: 0x5C,
  backslashmonospace: 0xFF3C,
  badeva: 0x92C,
  bagujarati: 0xAAC,
  bagurmukhi: 0xA2C,
  bahiragana: 0x3070,
  bahtthai: 0xE3F,
  bakatakana: 0x30D0,
  bar: 0x7C,
  barmonospace: 0xFF5C,
  bbopomofo: 0x3105,
  bcircle: 0x24D1,
  Bcircle: 0x24B7,
  bdotaccent: 0x1E03,
  Bdotaccent: 0x1E02,
  bdotbelow: 0x1E05,
  Bdotbelow: 0x1E04,
  beamedsixteenthnotes: 0x266C,
  because: 0x2235,
  becyrillic: 0x431,
  Becyrillic: 0x411,
  beharabic: 0x628,
  behfinalarabic: 0xFE90,
  behinitialarabic: 0xFE91,
  behiragana: 0x3079,
  behmedialarabic: 0xFE92,
  behmeeminitialarabic: 0xFC9F,
  behmeemisolatedarabic: 0xFC08,
  behnoonfinalarabic: 0xFC6D,
  bekatakana: 0x30D9,
  benarmenian: 0x562,
  Benarmenian: 0x532,
  bet: 0x5D1,
  beta: 0x3B2,
  Beta: 0x392,
  betasymbolgreek: 0x3D0,
  betdagesh: 0xFB31,
  betdageshhebrew: 0xFB31,
  bethebrew: 0x5D1,
  betrafehebrew: 0xFB4C,
  bhabengali: 0x9AD,
  bhadeva: 0x92D,
  bhagujarati: 0xAAD,
  bhagurmukhi: 0xA2D,
  bhook: 0x253,
  Bhook: 0x181,
  bihiragana: 0x3073,
  bikatakana: 0x30D3,
  bilabialclick: 0x298,
  bindigurmukhi: 0xA02,
  birusquare: 0x3331,
  blackcircle: 0x25CF,
  blackdiamond: 0x25C6,
  blackdownpointingtriangle: 0x25BC,
  blackleftpointingpointer: 0x25C4,
  blackleftpointingtriangle: 0x25C0,
  blacklenticularbracketleft: 0x3010,
  blacklenticularbracketleftvertical: 0xFE3B,
  blacklenticularbracketright: 0x3011,
  blacklenticularbracketrightvertical: 0xFE3C,
  blacklowerlefttriangle: 0x25E3,
  blacklowerrighttriangle: 0x25E2,
  blackrectangle: 0x25AC,
  blackrightpointingpointer: 0x25BA,
  blackrightpointingtriangle: 0x25B6,
  blacksmallsquare: 0x25AA,
  blacksmilingface: 0x263B,
  blacksquare: 0x25A0,
  blackstar: 0x2605,
  blackupperlefttriangle: 0x25E4,
  blackupperrighttriangle: 0x25E5,
  blackuppointingsmalltriangle: 0x25B4,
  blackuppointingtriangle: 0x25B2,
  blank: 0x2423,
  blinebelow: 0x1E07,
  Blinebelow: 0x1E06,
  block: 0x2588,
  bmonospace: 0xFF42,
  Bmonospace: 0xFF22,
  bobaimaithai: 0xE1A,
  bohiragana: 0x307C,
  bokatakana: 0x30DC,
  bparen: 0x249D,
  bqsquare: 0x33C3,
  braceex: 0xF8F4,
  braceleft: 0x7B,
  braceleftbt: 0xF8F3,
  braceleftmid: 0xF8F2,
  braceleftmonospace: 0xFF5B,
  braceleftsmall: 0xFE5B,
  bracelefttp: 0xF8F1,
  braceleftvertical: 0xFE37,
  braceright: 0x7D,
  bracerightbt: 0xF8FE,
  bracerightmid: 0xF8FD,
  bracerightmonospace: 0xFF5D,
  bracerightsmall: 0xFE5C,
  bracerighttp: 0xF8FC,
  bracerightvertical: 0xFE38,
  bracketleft: 0x5B,
  bracketleftbt: 0xF8F0,
  bracketleftex: 0xF8EF,
  bracketleftmonospace: 0xFF3B,
  bracketlefttp: 0xF8EE,
  bracketright: 0x5D,
  bracketrightbt: 0xF8FB,
  bracketrightex: 0xF8FA,
  bracketrightmonospace: 0xFF3D,
  bracketrighttp: 0xF8F9,
  breve: 0x2D8,
  brevebelowcmb: 0x32E,
  brevecmb: 0x306,
  breveinvertedbelowcmb: 0x32F,
  breveinvertedcmb: 0x311,
  breveinverteddoublecmb: 0x361,
  Brevesmall: 0xF6F4,
  bridgebelowcmb: 0x32A,
  bridgeinvertedbelowcmb: 0x33A,
  brokenbar: 0xA6,
  Bsmall: 0xF762,
  bstroke: 0x180,
  bsuperior: 0xF6EA,
  btopbar: 0x183,
  Btopbar: 0x182,
  buhiragana: 0x3076,
  bukatakana: 0x30D6,
  bullet: 0x2022,
  bulletinverse: 0x25D8,
  bulletoperator: 0x2219,
  bullseye: 0x25CE,
  c: 0x63,
  C: 0x43,
  caarmenian: 0x56E,
  Caarmenian: 0x53E,
  cabengali: 0x99A,
  cacute: 0x107,
  Cacute: 0x106,
  cadeva: 0x91A,
  cagujarati: 0xA9A,
  cagurmukhi: 0xA1A,
  calsquare: 0x3388,
  candrabindubengali: 0x981,
  candrabinducmb: 0x310,
  candrabindudeva: 0x901,
  candrabindugujarati: 0xA81,
  capslock: 0x21EA,
  careof: 0x2105,
  caron: 0x2C7,
  Caron: 0xF6CA,
  caronbelowcmb: 0x32C,
  caroncmb: 0x30C,
  Caronsmall: 0xF6F5,
  carriagereturn: 0x21B5,
  cbopomofo: 0x3118,
  ccaron: 0x10D,
  Ccaron: 0x10C,
  ccedilla: 0xE7,
  Ccedilla: 0xC7,
  ccedillaacute: 0x1E09,
  Ccedillaacute: 0x1E08,
  Ccedillasmall: 0xF7E7,
  ccircle: 0x24D2,
  Ccircle: 0x24B8,
  ccircumflex: 0x109,
  Ccircumflex: 0x108,
  ccurl: 0x255,
  cdot: 0x10B,
  Cdot: 0x10A,
  cdotaccent: 0x10B,
  Cdotaccent: 0x10A,
  cdsquare: 0x33C5,
  cedilla: 0xB8,
  cedillacmb: 0x327,
  Cedillasmall: 0xF7B8,
  cent: 0xA2,
  centigrade: 0x2103,
  centinferior: 0xF6DF,
  centmonospace: 0xFFE0,
  centoldstyle: 0xF7A2,
  centsuperior: 0xF6E0,
  chaarmenian: 0x579,
  Chaarmenian: 0x549,
  chabengali: 0x99B,
  chadeva: 0x91B,
  chagujarati: 0xA9B,
  chagurmukhi: 0xA1B,
  chbopomofo: 0x3114,
  cheabkhasiancyrillic: 0x4BD,
  Cheabkhasiancyrillic: 0x4BC,
  checkmark: 0x2713,
  checyrillic: 0x447,
  Checyrillic: 0x427,
  chedescenderabkhasiancyrillic: 0x4BF,
  Chedescenderabkhasiancyrillic: 0x4BE,
  chedescendercyrillic: 0x4B7,
  Chedescendercyrillic: 0x4B6,
  chedieresiscyrillic: 0x4F5,
  Chedieresiscyrillic: 0x4F4,
  cheharmenian: 0x573,
  Cheharmenian: 0x543,
  chekhakassiancyrillic: 0x4CC,
  Chekhakassiancyrillic: 0x4CB,
  cheverticalstrokecyrillic: 0x4B9,
  Cheverticalstrokecyrillic: 0x4B8,
  chi: 0x3C7,
  Chi: 0x3A7,
  chieuchacirclekorean: 0x3277,
  chieuchaparenkorean: 0x3217,
  chieuchcirclekorean: 0x3269,
  chieuchkorean: 0x314A,
  chieuchparenkorean: 0x3209,
  chochangthai: 0xE0A,
  chochanthai: 0xE08,
  chochingthai: 0xE09,
  chochoethai: 0xE0C,
  chook: 0x188,
  Chook: 0x187,
  cieucacirclekorean: 0x3276,
  cieucaparenkorean: 0x3216,
  cieuccirclekorean: 0x3268,
  cieuckorean: 0x3148,
  cieucparenkorean: 0x3208,
  cieucuparenkorean: 0x321C,
  circle: 0x25CB,
  circlemultiply: 0x2297,
  circleot: 0x2299,
  circleplus: 0x2295,
  circlepostalmark: 0x3036,
  circlewithlefthalfblack: 0x25D0,
  circlewithrighthalfblack: 0x25D1,
  circumflex: 0x2C6,
  circumflexbelowcmb: 0x32D,
  circumflexcmb: 0x302,
  Circumflexsmall: 0xF6F6,
  clear: 0x2327,
  clickalveolar: 0x1C2,
  clickdental: 0x1C0,
  clicklateral: 0x1C1,
  clickretroflex: 0x1C3,
  club: 0x2663,
  clubsuitblack: 0x2663,
  clubsuitwhite: 0x2667,
  cmcubedsquare: 0x33A4,
  cmonospace: 0xFF43,
  Cmonospace: 0xFF23,
  cmsquaredsquare: 0x33A0,
  coarmenian: 0x581,
  Coarmenian: 0x551,
  colon: 0x3A,
  colonmonetary: 0x20A1,
  colonmonospace: 0xFF1A,
  colonsign: 0x20A1,
  colonsmall: 0xFE55,
  colontriangularhalfmod: 0x2D1,
  colontriangularmod: 0x2D0,
  comma: 0x2C,
  commaabovecmb: 0x313,
  commaaboverightcmb: 0x315,
  commaaccent: 0xF6C3,
  commaarabic: 0x60C,
  commaarmenian: 0x55D,
  commainferior: 0xF6E1,
  commamonospace: 0xFF0C,
  commareversedabovecmb: 0x314,
  commareversedmod: 0x2BD,
  commasmall: 0xFE50,
  commasuperior: 0xF6E2,
  commaturnedabovecmb: 0x312,
  commaturnedmod: 0x2BB,
  compass: 0x263C,
  congruent: 0x2245,
  contourintegral: 0x222E,
  control: 0x2303,
  controlACK: 0x6,
  controlBEL: 0x7,
  controlBS: 0x8,
  controlCAN: 0x18,
  controlCR: 0xD,
  controlDC1: 0x11,
  controlDC2: 0x12,
  controlDC3: 0x13,
  controlDC4: 0x14,
  controlDEL: 0x7F,
  controlDLE: 0x10,
  controlEM: 0x19,
  controlENQ: 0x5,
  controlEOT: 0x4,
  controlESC: 0x1B,
  controlETB: 0x17,
  controlETX: 0x3,
  controlFF: 0xC,
  controlFS: 0x1C,
  controlGS: 0x1D,
  controlHT: 0x9,
  controlLF: 0xA,
  controlNAK: 0x15,
  controlRS: 0x1E,
  controlSI: 0xF,
  controlSO: 0xE,
  controlSOT: 0x2,
  controlSTX: 0x1,
  controlSUB: 0x1A,
  controlSYN: 0x16,
  controlUS: 0x1F,
  controlVT: 0xB,
  copyright: 0xA9,
  copyrightsans: 0xA9, // Adobe corporate PUA U+F8E9 → standard © for system font compatibility
  copyrightserif: 0xA9, // Adobe corporate PUA U+F6D9 → standard © for system font compatibility
  cornerbracketleft: 0x300C,
  cornerbracketlefthalfwidth: 0xFF62,
  cornerbracketleftvertical: 0xFE41,
  cornerbracketright: 0x300D,
  cornerbracketrighthalfwidth: 0xFF63,
  cornerbracketrightvertical: 0xFE42,
  corporationsquare: 0x337F,
  cosquare: 0x33C7,
  coverkgsquare: 0x33C6,
  cparen: 0x249E,
  cruzeiro: 0x20A2,
  Csmall: 0xF763,
  cstretched: 0x297,
  curlyand: 0x22CF,
  curlyor: 0x22CE,
  currency: 0xA4,
  cyrbreve: 0xF6D4,
  cyrBreve: 0xF6D1,
  cyrflex: 0xF6D5,
  cyrFlex: 0xF6D2,
  d: 0x64,
  D: 0x44,
  daarmenian: 0x564,
  Daarmenian: 0x534,
  dabengali: 0x9A6,
  dadarabic: 0x636,
  dadeva: 0x926,
  dadfinalarabic: 0xFEBE,
  dadinitialarabic: 0xFEBF,
  dadmedialarabic: 0xFEC0,
  Dafrican: 0x189,
  dagesh: 0x5BC,
  dageshhebrew: 0x5BC,
  dagger: 0x2020,
  daggerdbl: 0x2021,
  dagujarati: 0xAA6,
  dagurmukhi: 0xA26,
  dahiragana: 0x3060,
  dakatakana: 0x30C0,
  dalarabic: 0x62F,
  dalet: 0x5D3,
  daletdagesh: 0xFB33,
  daletdageshhebrew: 0xFB33,
  dalethebrew: 0x5D3,
  dalfinalarabic: 0xFEAA,
  dammaarabic: 0x64F,
  dammalowarabic: 0x64F,
  dammatanaltonearabic: 0x64C,
  dammatanarabic: 0x64C,
  danda: 0x964,
  dargahebrew: 0x5A7,
  dargalefthebrew: 0x5A7,
  dasiapneumatacyrilliccmb: 0x485,
  dblanglebracketleft: 0x300A,
  dblanglebracketleftvertical: 0xFE3D,
  dblanglebracketright: 0x300B,
  dblanglebracketrightvertical: 0xFE3E,
  dblarchinvertedbelowcmb: 0x32B,
  dblarrowleft: 0x21D4,
  dblarrowright: 0x21D2,
  dbldanda: 0x965,
  dblgrave: 0xF6D6,
  dblGrave: 0xF6D3,
  dblgravecmb: 0x30F,
  dblintegral: 0x222C,
  dbllowline: 0x2017,
  dbllowlinecmb: 0x333,
  dbloverlinecmb: 0x33F,
  dblprimemod: 0x2BA,
  dblverticalbar: 0x2016,
  dblverticallineabovecmb: 0x30E,
  dbopomofo: 0x3109,
  dbsquare: 0x33C8,
  dcaron: 0x10F,
  Dcaron: 0x10E,
  dcedilla: 0x1E11,
  Dcedilla: 0x1E10,
  dcircle: 0x24D3,
  Dcircle: 0x24B9,
  dcircumflexbelow: 0x1E13,
  Dcircumflexbelow: 0x1E12,
  dcroat: 0x111,
  Dcroat: 0x110,
  ddabengali: 0x9A1,
  ddadeva: 0x921,
  ddagujarati: 0xAA1,
  ddagurmukhi: 0xA21,
  ddalarabic: 0x688,
  ddalfinalarabic: 0xFB89,
  dddhadeva: 0x95C,
  ddhabengali: 0x9A2,
  ddhadeva: 0x922,
  ddhagujarati: 0xAA2,
  ddhagurmukhi: 0xA22,
  ddotaccent: 0x1E0B,
  Ddotaccent: 0x1E0A,
  ddotbelow: 0x1E0D,
  Ddotbelow: 0x1E0C,
  decimalseparatorarabic: 0x66B,
  decimalseparatorpersian: 0x66B,
  decyrillic: 0x434,
  Decyrillic: 0x414,
  degree: 0xB0,
  dehihebrew: 0x5AD,
  dehiragana: 0x3067,
  deicoptic: 0x3EF,
  Deicoptic: 0x3EE,
  dekatakana: 0x30C7,
  deleteleft: 0x232B,
  deleteright: 0x2326,
  delta: 0x3B4,
  Delta: 0x2206,
  Deltagreek: 0x394,
  deltaturned: 0x18D,
  denominatorminusonenumeratorbengali: 0x9F8,
  dezh: 0x2A4,
  dhabengali: 0x9A7,
  dhadeva: 0x927,
  dhagujarati: 0xAA7,
  dhagurmukhi: 0xA27,
  dhook: 0x257,
  Dhook: 0x18A,
  dialytikatonos: 0x385,
  dialytikatonoscmb: 0x344,
  diamond: 0x2666,
  diamondsuitwhite: 0x2662,
  dieresis: 0xA8,
  Dieresis: 0xF6CB,
  dieresisacute: 0xF6D7,
  DieresisAcute: 0xF6CC,
  dieresisbelowcmb: 0x324,
  dieresiscmb: 0x308,
  dieresisgrave: 0xF6D8,
  DieresisGrave: 0xF6CD,
  Dieresissmall: 0xF7A8,
  dieresistonos: 0x385,
  Digammagreek: 0x3DC,
  dihiragana: 0x3062,
  dikatakana: 0x30C2,
  dittomark: 0x3003,
  divide: 0xF7,
  divides: 0x2223,
  divisionslash: 0x2215,
  djecyrillic: 0x452,
  Djecyrillic: 0x402,
  dkshade: 0x2593,
  dlinebelow: 0x1E0F,
  Dlinebelow: 0x1E0E,
  dlsquare: 0x3397,
  dmacron: 0x111,
  dmonospace: 0xFF44,
  Dmonospace: 0xFF24,
  dnblock: 0x2584,
  dochadathai: 0xE0E,
  dodekthai: 0xE14,
  dohiragana: 0x3069,
  dokatakana: 0x30C9,
  dollar: 0x24,
  dollarinferior: 0xF6E3,
  dollarmonospace: 0xFF04,
  dollaroldstyle: 0xF724,
  dollarsmall: 0xFE69,
  dollarsuperior: 0xF6E4,
  dong: 0x20AB,
  dorusquare: 0x3326,
  dotaccent: 0x2D9,
  dotaccentcmb: 0x307,
  Dotaccentsmall: 0xF6F7,
  dotbelowcmb: 0x323,
  dotbelowcomb: 0x323,
  dotkatakana: 0x30FB,
  dotlessi: 0x131,
  dotlessj: 0xF6BE,
  dotlessjstrokehook: 0x284,
  dotmath: 0x22C5,
  dottedcircle: 0x25CC,
  doubleyodpatah: 0xFB1F,
  doubleyodpatahhebrew: 0xFB1F,
  downtackbelowcmb: 0x31E,
  downtackmod: 0x2D5,
  dparen: 0x249F,
  Dslash: 0x110,
  Dsmall: 0xF764,
  dsuperior: 0xF6EB,
  dtail: 0x256,
  dtopbar: 0x18C,
  Dtopbar: 0x18B,
  duhiragana: 0x3065,
  dukatakana: 0x30C5,
  dz: 0x1F3,
  Dz: 0x1F2,
  DZ: 0x1F1,
  dzaltone: 0x2A3,
  dzcaron: 0x1C6,
  Dzcaron: 0x1C5,
  DZcaron: 0x1C4,
  dzcurl: 0x2A5,
  dzeabkhasiancyrillic: 0x4E1,
  Dzeabkhasiancyrillic: 0x4E0,
  dzecyrillic: 0x455,
  Dzecyrillic: 0x405,
  dzhecyrillic: 0x45F,
  Dzhecyrillic: 0x40F,
  e: 0x65,
  E: 0x45,
  eacute: 0xE9,
  Eacute: 0xC9,
  Eacutesmall: 0xF7E9,
  earth: 0x2641,
  ebengali: 0x98F,
  ebopomofo: 0x311C,
  ebreve: 0x115,
  Ebreve: 0x114,
  ecandradeva: 0x90D,
  ecandragujarati: 0xA8D,
  ecandravowelsigndeva: 0x945,
  ecandravowelsigngujarati: 0xAC5,
  ecaron: 0x11B,
  Ecaron: 0x11A,
  ecedillabreve: 0x1E1D,
  Ecedillabreve: 0x1E1C,
  echarmenian: 0x565,
  Echarmenian: 0x535,
  echyiwnarmenian: 0x587,
  ecircle: 0x24D4,
  Ecircle: 0x24BA,
  ecircumflex: 0xEA,
  Ecircumflex: 0xCA,
  ecircumflexacute: 0x1EBF,
  Ecircumflexacute: 0x1EBE,
  ecircumflexbelow: 0x1E19,
  Ecircumflexbelow: 0x1E18,
  ecircumflexdotbelow: 0x1EC7,
  Ecircumflexdotbelow: 0x1EC6,
  ecircumflexgrave: 0x1EC1,
  Ecircumflexgrave: 0x1EC0,
  ecircumflexhookabove: 0x1EC3,
  Ecircumflexhookabove: 0x1EC2,
  Ecircumflexsmall: 0xF7EA,
  ecircumflextilde: 0x1EC5,
  Ecircumflextilde: 0x1EC4,
  ecyrillic: 0x454,
  Ecyrillic: 0x404,
  edblgrave: 0x205,
  Edblgrave: 0x204,
  edeva: 0x90F,
  edieresis: 0xEB,
  Edieresis: 0xCB,
  Edieresissmall: 0xF7EB,
  edot: 0x117,
  Edot: 0x116,
  edotaccent: 0x117,
  Edotaccent: 0x116,
  edotbelow: 0x1EB9,
  Edotbelow: 0x1EB8,
  eegurmukhi: 0xA0F,
  eematragurmukhi: 0xA47,
  efcyrillic: 0x444,
  Efcyrillic: 0x424,
  egrave: 0xE8,
  Egrave: 0xC8,
  Egravesmall: 0xF7E8,
  egujarati: 0xA8F,
  eharmenian: 0x567,
  Eharmenian: 0x537,
  ehbopomofo: 0x311D,
  ehiragana: 0x3048,
  ehookabove: 0x1EBB,
  Ehookabove: 0x1EBA,
  eibopomofo: 0x311F,
  eight: 0x38,
  eightarabic: 0x668,
  eightbengali: 0x9EE,
  eightcircle: 0x2467,
  eightcircleinversesansserif: 0x2791,
  eightdeva: 0x96E,
  eighteencircle: 0x2471,
  eighteenparen: 0x2485,
  eighteenperiod: 0x2499,
  eightgujarati: 0xAEE,
  eightgurmukhi: 0xA6E,
  eighthackarabic: 0x668,
  eighthangzhou: 0x3028,
  eighthnotebeamed: 0x266B,
  eightideographicparen: 0x3227,
  eightinferior: 0x2088,
  eightmonospace: 0xFF18,
  eightoldstyle: 0xF738,
  eightparen: 0x247B,
  eightperiod: 0x248F,
  eightpersian: 0x6F8,
  eightroman: 0x2177,
  Eightroman: 0x2167,
  eightsuperior: 0x2078,
  eightthai: 0xE58,
  einvertedbreve: 0x207,
  Einvertedbreve: 0x206,
  eiotifiedcyrillic: 0x465,
  Eiotifiedcyrillic: 0x464,
  ekatakana: 0x30A8,
  ekatakanahalfwidth: 0xFF74,
  ekonkargurmukhi: 0xA74,
  ekorean: 0x3154,
  elcyrillic: 0x43B,
  Elcyrillic: 0x41B,
  element: 0x2208,
  elevencircle: 0x246A,
  elevenparen: 0x247E,
  elevenperiod: 0x2492,
  elevenroman: 0x217A,
  Elevenroman: 0x216A,
  ellipsis: 0x2026,
  ellipsisvertical: 0x22EE,
  emacron: 0x113,
  Emacron: 0x112,
  emacronacute: 0x1E17,
  Emacronacute: 0x1E16,
  emacrongrave: 0x1E15,
  Emacrongrave: 0x1E14,
  emcyrillic: 0x43C,
  Emcyrillic: 0x41C,
  emdash: 0x2014,
  emdashvertical: 0xFE31,
  emonospace: 0xFF45,
  Emonospace: 0xFF25,
  emphasismarkarmenian: 0x55B,
  emptyset: 0x2205,
  enbopomofo: 0x3123,
  encyrillic: 0x43D,
  Encyrillic: 0x41D,
  endash: 0x2013,
  endashvertical: 0xFE32,
  endescendercyrillic: 0x4A3,
  Endescendercyrillic: 0x4A2,
  eng: 0x14B,
  Eng: 0x14A,
  engbopomofo: 0x3125,
  enghecyrillic: 0x4A5,
  Enghecyrillic: 0x4A4,
  enhookcyrillic: 0x4C8,
  Enhookcyrillic: 0x4C7,
  enspace: 0x2002,
  eogonek: 0x119,
  Eogonek: 0x118,
  eokorean: 0x3153,
  eopen: 0x25B,
  Eopen: 0x190,
  eopenclosed: 0x29A,
  eopenreversed: 0x25C,
  eopenreversedclosed: 0x25E,
  eopenreversedhook: 0x25D,
  eparen: 0x24A0,
  epsilon: 0x3B5,
  Epsilon: 0x395,
  epsilontonos: 0x3AD,
  Epsilontonos: 0x388,
  equal: 0x3D,
  equalmonospace: 0xFF1D,
  equalsmall: 0xFE66,
  equalsuperior: 0x207C,
  equivalence: 0x2261,
  erbopomofo: 0x3126,
  ercyrillic: 0x440,
  Ercyrillic: 0x420,
  ereversed: 0x258,
  Ereversed: 0x18E,
  ereversedcyrillic: 0x44D,
  Ereversedcyrillic: 0x42D,
  escyrillic: 0x441,
  Escyrillic: 0x421,
  esdescendercyrillic: 0x4AB,
  Esdescendercyrillic: 0x4AA,
  esh: 0x283,
  Esh: 0x1A9,
  eshcurl: 0x286,
  eshortdeva: 0x90E,
  eshortvowelsigndeva: 0x946,
  eshreversedloop: 0x1AA,
  eshsquatreversed: 0x285,
  Esmall: 0xF765,
  esmallhiragana: 0x3047,
  esmallkatakana: 0x30A7,
  esmallkatakanahalfwidth: 0xFF6A,
  estimated: 0x212E,
  esuperior: 0xF6EC,
  eta: 0x3B7,
  Eta: 0x397,
  etarmenian: 0x568,
  Etarmenian: 0x538,
  etatonos: 0x3AE,
  Etatonos: 0x389,
  eth: 0xF0,
  Eth: 0xD0,
  Ethsmall: 0xF7F0,
  etilde: 0x1EBD,
  Etilde: 0x1EBC,
  etildebelow: 0x1E1B,
  Etildebelow: 0x1E1A,
  etnahtafoukhhebrew: 0x591,
  etnahtafoukhlefthebrew: 0x591,
  etnahtahebrew: 0x591,
  etnahtalefthebrew: 0x591,
  eturned: 0x1DD,
  eukorean: 0x3161,
  euro: 0x20AC,
  Euro: 0x20AC,
  evowelsignbengali: 0x9C7,
  evowelsigndeva: 0x947,
  evowelsigngujarati: 0xAC7,
  exclam: 0x21,
  exclamarmenian: 0x55C,
  exclamdbl: 0x203C,
  exclamdown: 0xA1,
  exclamdownsmall: 0xF7A1,
  exclammonospace: 0xFF01,
  exclamsmall: 0xF721,
  existential: 0x2203,
  ezh: 0x292,
  Ezh: 0x1B7,
  ezhcaron: 0x1EF,
  Ezhcaron: 0x1EE,
  ezhcurl: 0x293,
  ezhreversed: 0x1B9,
  Ezhreversed: 0x1B8,
  ezhtail: 0x1BA,
  f: 0x66,
  F: 0x46,
  fadeva: 0x95E,
  fagurmukhi: 0xA5E,
  fahrenheit: 0x2109,
  fathaarabic: 0x64E,
  fathalowarabic: 0x64E,
  fathatanarabic: 0x64B,
  fbopomofo: 0x3108,
  fcircle: 0x24D5,
  Fcircle: 0x24BB,
  fdotaccent: 0x1E1F,
  Fdotaccent: 0x1E1E,
  feharabic: 0x641,
  feharmenian: 0x586,
  Feharmenian: 0x556,
  fehfinalarabic: 0xFED2,
  fehinitialarabic: 0xFED3,
  fehmedialarabic: 0xFED4,
  feicoptic: 0x3E5,
  Feicoptic: 0x3E4,
  female: 0x2640,
  ff: 0xFB00,
  ffi: 0xFB03,
  ffl: 0xFB04,
  Fhook: 0x191,
  fi: 0xFB01,
  fifteencircle: 0x246E,
  fifteenparen: 0x2482,
  fifteenperiod: 0x2496,
  figuredash: 0x2012,
  filledbox: 0x25A0,
  filledrect: 0x25AC,
  finalkaf: 0x5DA,
  finalkafdagesh: 0xFB3A,
  finalkafdageshhebrew: 0xFB3A,
  finalkafhebrew: 0x5DA,
  finalmem: 0x5DD,
  finalmemhebrew: 0x5DD,
  finalnun: 0x5DF,
  finalnunhebrew: 0x5DF,
  finalpe: 0x5E3,
  finalpehebrew: 0x5E3,
  finaltsadi: 0x5E5,
  finaltsadihebrew: 0x5E5,
  firsttonechinese: 0x2C9,
  fisheye: 0x25C9,
  fitacyrillic: 0x473,
  Fitacyrillic: 0x472,
  five: 0x35,
  fivearabic: 0x665,
  fivebengali: 0x9EB,
  fivecircle: 0x2464,
  fivecircleinversesansserif: 0x278E,
  fivedeva: 0x96B,
  fiveeighths: 0x215D,
  fivegujarati: 0xAEB,
  fivegurmukhi: 0xA6B,
  fivehackarabic: 0x665,
  fivehangzhou: 0x3025,
  fiveideographicparen: 0x3224,
  fiveinferior: 0x2085,
  fivemonospace: 0xFF15,
  fiveoldstyle: 0xF735,
  fiveparen: 0x2478,
  fiveperiod: 0x248C,
  fivepersian: 0x6F5,
  fiveroman: 0x2174,
  Fiveroman: 0x2164,
  fivesuperior: 0x2075,
  fivethai: 0xE55,
  fl: 0xFB02,
  florin: 0x192,
  fmonospace: 0xFF46,
  Fmonospace: 0xFF26,
  fmsquare: 0x3399,
  fofanthai: 0xE1F,
  fofathai: 0xE1D,
  fongmanthai: 0xE4F,
  forall: 0x2200,
  four: 0x34,
  fourarabic: 0x664,
  fourbengali: 0x9EA,
  fourcircle: 0x2463,
  fourcircleinversesansserif: 0x278D,
  fourdeva: 0x96A,
  fourgujarati: 0xAEA,
  fourgurmukhi: 0xA6A,
  fourhackarabic: 0x664,
  fourhangzhou: 0x3024,
  fourideographicparen: 0x3223,
  fourinferior: 0x2084,
  fourmonospace: 0xFF14,
  fournumeratorbengali: 0x9F7,
  fouroldstyle: 0xF734,
  fourparen: 0x2477,
  fourperiod: 0x248B,
  fourpersian: 0x6F4,
  fourroman: 0x2173,
  Fourroman: 0x2163,
  foursuperior: 0x2074,
  fourteencircle: 0x246D,
  fourteenparen: 0x2481,
  fourteenperiod: 0x2495,
  fourthai: 0xE54,
  fourthtonechinese: 0x2CB,
  fparen: 0x24A1,
  fraction: 0x2044,
  franc: 0x20A3,
  Fsmall: 0xF766,
  g: 0x67,
  G: 0x47,
  gabengali: 0x997,
  gacute: 0x1F5,
  Gacute: 0x1F4,
  gadeva: 0x917,
  gafarabic: 0x6AF,
  gaffinalarabic: 0xFB93,
  gafinitialarabic: 0xFB94,
  gafmedialarabic: 0xFB95,
  gagujarati: 0xA97,
  gagurmukhi: 0xA17,
  gahiragana: 0x304C,
  gakatakana: 0x30AC,
  gamma: 0x3B3,
  Gamma: 0x393,
  Gammaafrican: 0x194,
  gammalatinsmall: 0x263,
  gammasuperior: 0x2E0,
  gangiacoptic: 0x3EB,
  Gangiacoptic: 0x3EA,
  gbopomofo: 0x310D,
  gbreve: 0x11F,
  Gbreve: 0x11E,
  GBsquare: 0x3387,
  gcaron: 0x1E7,
  Gcaron: 0x1E6,
  gcedilla: 0x123,
  Gcedilla: 0x122,
  gcircle: 0x24D6,
  Gcircle: 0x24BC,
  gcircumflex: 0x11D,
  Gcircumflex: 0x11C,
  gcommaaccent: 0x123,
  Gcommaaccent: 0x122,
  gdot: 0x121,
  Gdot: 0x120,
  gdotaccent: 0x121,
  Gdotaccent: 0x120,
  gecyrillic: 0x433,
  Gecyrillic: 0x413,
  gehiragana: 0x3052,
  gekatakana: 0x30B2,
  geometricallyequal: 0x2251,
  gereshaccenthebrew: 0x59C,
  gereshhebrew: 0x5F3,
  gereshmuqdamhebrew: 0x59D,
  germandbls: 0xDF,
  gershayimaccenthebrew: 0x59E,
  gershayimhebrew: 0x5F4,
  getamark: 0x3013,
  ghabengali: 0x998,
  ghadarmenian: 0x572,
  Ghadarmenian: 0x542,
  ghadeva: 0x918,
  ghagujarati: 0xA98,
  ghagurmukhi: 0xA18,
  ghainarabic: 0x63A,
  ghainfinalarabic: 0xFECE,
  ghaininitialarabic: 0xFECF,
  ghainmedialarabic: 0xFED0,
  ghemiddlehookcyrillic: 0x495,
  Ghemiddlehookcyrillic: 0x494,
  ghestrokecyrillic: 0x493,
  Ghestrokecyrillic: 0x492,
  gheupturncyrillic: 0x491,
  Gheupturncyrillic: 0x490,
  ghhadeva: 0x95A,
  ghhagurmukhi: 0xA5A,
  ghook: 0x260,
  Ghook: 0x193,
  ghzsquare: 0x3393,
  gihiragana: 0x304E,
  gikatakana: 0x30AE,
  gimarmenian: 0x563,
  Gimarmenian: 0x533,
  gimel: 0x5D2,
  gimeldagesh: 0xFB32,
  gimeldageshhebrew: 0xFB32,
  gimelhebrew: 0x5D2,
  gjecyrillic: 0x453,
  Gjecyrillic: 0x403,
  glottalinvertedstroke: 0x1BE,
  glottalstop: 0x294,
  glottalstopinverted: 0x296,
  glottalstopmod: 0x2C0,
  glottalstopreversed: 0x295,
  glottalstopreversedmod: 0x2C1,
  glottalstopreversedsuperior: 0x2E4,
  glottalstopstroke: 0x2A1,
  glottalstopstrokereversed: 0x2A2,
  gmacron: 0x1E21,
  Gmacron: 0x1E20,
  gmonospace: 0xFF47,
  Gmonospace: 0xFF27,
  gohiragana: 0x3054,
  gokatakana: 0x30B4,
  gparen: 0x24A2,
  gpasquare: 0x33AC,
  gradient: 0x2207,
  grave: 0x60,
  Grave: 0xF6CE,
  gravebelowcmb: 0x316,
  gravecmb: 0x300,
  gravecomb: 0x300,
  gravedeva: 0x953,
  gravelowmod: 0x2CE,
  gravemonospace: 0xFF40,
  Gravesmall: 0xF760,
  gravetonecmb: 0x340,
  greater: 0x3E,
  greaterequal: 0x2265,
  greaterequalorless: 0x22DB,
  greatermonospace: 0xFF1E,
  greaterorequivalent: 0x2273,
  greaterorless: 0x2277,
  greateroverequal: 0x2267,
  greatersmall: 0xFE65,
  gscript: 0x261,
  Gsmall: 0xF767,
  Gsmallhook: 0x29B,
  gstroke: 0x1E5,
  Gstroke: 0x1E4,
  guhiragana: 0x3050,
  guillemotleft: 0xAB,
  guillemotright: 0xBB,
  guilsinglleft: 0x2039,
  guilsinglright: 0x203A,
  gukatakana: 0x30B0,
  guramusquare: 0x3318,
  gysquare: 0x33C9,
  h: 0x68,
  H: 0x48,
  H18533: 0x25CF,
  H18543: 0x25AA,
  H18551: 0x25AB,
  H22073: 0x25A1,
  haabkhasiancyrillic: 0x4A9,
  Haabkhasiancyrillic: 0x4A8,
  haaltonearabic: 0x6C1,
  habengali: 0x9B9,
  hadescendercyrillic: 0x4B3,
  Hadescendercyrillic: 0x4B2,
  hadeva: 0x939,
  hagujarati: 0xAB9,
  hagurmukhi: 0xA39,
  haharabic: 0x62D,
  hahfinalarabic: 0xFEA2,
  hahinitialarabic: 0xFEA3,
  hahiragana: 0x306F,
  hahmedialarabic: 0xFEA4,
  haitusquare: 0x332A,
  hakatakana: 0x30CF,
  hakatakanahalfwidth: 0xFF8A,
  halantgurmukhi: 0xA4D,
  hamzaarabic: 0x621,
  hamzalowarabic: 0x621,
  hangulfiller: 0x3164,
  hardsigncyrillic: 0x44A,
  Hardsigncyrillic: 0x42A,
  harpoonleftbarbup: 0x21BC,
  harpoonrightbarbup: 0x21C0,
  hasquare: 0x33CA,
  hatafpatah: 0x5B2,
  hatafpatah16: 0x5B2,
  hatafpatah23: 0x5B2,
  hatafpatah2f: 0x5B2,
  hatafpatahhebrew: 0x5B2,
  hatafpatahnarrowhebrew: 0x5B2,
  hatafpatahquarterhebrew: 0x5B2,
  hatafpatahwidehebrew: 0x5B2,
  hatafqamats: 0x5B3,
  hatafqamats1b: 0x5B3,
  hatafqamats28: 0x5B3,
  hatafqamats34: 0x5B3,
  hatafqamatshebrew: 0x5B3,
  hatafqamatsnarrowhebrew: 0x5B3,
  hatafqamatsquarterhebrew: 0x5B3,
  hatafqamatswidehebrew: 0x5B3,
  hatafsegol: 0x5B1,
  hatafsegol17: 0x5B1,
  hatafsegol24: 0x5B1,
  hatafsegol30: 0x5B1,
  hatafsegolhebrew: 0x5B1,
  hatafsegolnarrowhebrew: 0x5B1,
  hatafsegolquarterhebrew: 0x5B1,
  hatafsegolwidehebrew: 0x5B1,
  hbar: 0x127,
  Hbar: 0x126,
  hbopomofo: 0x310F,
  hbrevebelow: 0x1E2B,
  Hbrevebelow: 0x1E2A,
  hcedilla: 0x1E29,
  Hcedilla: 0x1E28,
  hcircle: 0x24D7,
  Hcircle: 0x24BD,
  hcircumflex: 0x125,
  Hcircumflex: 0x124,
  hdieresis: 0x1E27,
  Hdieresis: 0x1E26,
  hdotaccent: 0x1E23,
  Hdotaccent: 0x1E22,
  hdotbelow: 0x1E25,
  Hdotbelow: 0x1E24,
  he: 0x5D4,
  heart: 0x2665,
  heartsuitblack: 0x2665,
  heartsuitwhite: 0x2661,
  hedagesh: 0xFB34,
  hedageshhebrew: 0xFB34,
  hehaltonearabic: 0x6C1,
  heharabic: 0x647,
  hehebrew: 0x5D4,
  hehfinalaltonearabic: 0xFBA7,
  hehfinalalttwoarabic: 0xFEEA,
  hehfinalarabic: 0xFEEA,
  hehhamzaabovefinalarabic: 0xFBA5,
  hehhamzaaboveisolatedarabic: 0xFBA4,
  hehinitialaltonearabic: 0xFBA8,
  hehinitialarabic: 0xFEEB,
  hehiragana: 0x3078,
  hehmedialaltonearabic: 0xFBA9,
  hehmedialarabic: 0xFEEC,
  heiseierasquare: 0x337B,
  hekatakana: 0x30D8,
  hekatakanahalfwidth: 0xFF8D,
  hekutaarusquare: 0x3336,
  henghook: 0x267,
  herutusquare: 0x3339,
  het: 0x5D7,
  hethebrew: 0x5D7,
  hhook: 0x266,
  hhooksuperior: 0x2B1,
  hieuhacirclekorean: 0x327B,
  hieuhaparenkorean: 0x321B,
  hieuhcirclekorean: 0x326D,
  hieuhkorean: 0x314E,
  hieuhparenkorean: 0x320D,
  hihiragana: 0x3072,
  hikatakana: 0x30D2,
  hikatakanahalfwidth: 0xFF8B,
  hiriq: 0x5B4,
  hiriq14: 0x5B4,
  hiriq21: 0x5B4,
  hiriq2d: 0x5B4,
  hiriqhebrew: 0x5B4,
  hiriqnarrowhebrew: 0x5B4,
  hiriqquarterhebrew: 0x5B4,
  hiriqwidehebrew: 0x5B4,
  hlinebelow: 0x1E96,
  hmonospace: 0xFF48,
  Hmonospace: 0xFF28,
  hoarmenian: 0x570,
  Hoarmenian: 0x540,
  hohipthai: 0xE2B,
  hohiragana: 0x307B,
  hokatakana: 0x30DB,
  hokatakanahalfwidth: 0xFF8E,
  holam: 0x5B9,
  holam19: 0x5B9,
  holam26: 0x5B9,
  holam32: 0x5B9,
  holamhebrew: 0x5B9,
  holamnarrowhebrew: 0x5B9,
  holamquarterhebrew: 0x5B9,
  holamwidehebrew: 0x5B9,
  honokhukthai: 0xE2E,
  hookabovecomb: 0x309,
  hookcmb: 0x309,
  hookpalatalizedbelowcmb: 0x321,
  hookretroflexbelowcmb: 0x322,
  hoonsquare: 0x3342,
  horicoptic: 0x3E9,
  Horicoptic: 0x3E8,
  horizontalbar: 0x2015,
  horncmb: 0x31B,
  hotsprings: 0x2668,
  house: 0x2302,
  hparen: 0x24A3,
  HPsquare: 0x33CB,
  Hsmall: 0xF768,
  hsuperior: 0x2B0,
  hturned: 0x265,
  huhiragana: 0x3075,
  huiitosquare: 0x3333,
  hukatakana: 0x30D5,
  hukatakanahalfwidth: 0xFF8C,
  hungarumlaut: 0x2DD,
  Hungarumlaut: 0xF6CF,
  hungarumlautcmb: 0x30B,
  Hungarumlautsmall: 0xF6F8,
  hv: 0x195,
  hyphen: 0x2D,
  hypheninferior: 0xF6E5,
  hyphenmonospace: 0xFF0D,
  hyphensmall: 0xFE63,
  hyphensuperior: 0xF6E6,
  hyphentwo: 0x2010,
  Hzsquare: 0x3390,
  i: 0x69,
  I: 0x49,
  iacute: 0xED,
  Iacute: 0xCD,
  Iacutesmall: 0xF7ED,
  iacyrillic: 0x44F,
  IAcyrillic: 0x42F,
  ibengali: 0x987,
  ibopomofo: 0x3127,
  ibreve: 0x12D,
  Ibreve: 0x12C,
  icaron: 0x1D0,
  Icaron: 0x1CF,
  icircle: 0x24D8,
  Icircle: 0x24BE,
  icircumflex: 0xEE,
  Icircumflex: 0xCE,
  Icircumflexsmall: 0xF7EE,
  icyrillic: 0x456,
  Icyrillic: 0x406,
  idblgrave: 0x209,
  Idblgrave: 0x208,
  ideographearthcircle: 0x328F,
  ideographfirecircle: 0x328B,
  ideographicallianceparen: 0x323F,
  ideographiccallparen: 0x323A,
  ideographiccentrecircle: 0x32A5,
  ideographicclose: 0x3006,
  ideographiccomma: 0x3001,
  ideographiccommaleft: 0xFF64,
  ideographiccongratulationparen: 0x3237,
  ideographiccorrectcircle: 0x32A3,
  ideographicearthparen: 0x322F,
  ideographicenterpriseparen: 0x323D,
  ideographicexcellentcircle: 0x329D,
  ideographicfestivalparen: 0x3240,
  ideographicfinancialcircle: 0x3296,
  ideographicfinancialparen: 0x3236,
  ideographicfireparen: 0x322B,
  ideographichaveparen: 0x3232,
  ideographichighcircle: 0x32A4,
  ideographiciterationmark: 0x3005,
  ideographiclaborcircle: 0x3298,
  ideographiclaborparen: 0x3238,
  ideographicleftcircle: 0x32A7,
  ideographiclowcircle: 0x32A6,
  ideographicmedicinecircle: 0x32A9,
  ideographicmetalparen: 0x322E,
  ideographicmoonparen: 0x322A,
  ideographicnameparen: 0x3234,
  ideographicperiod: 0x3002,
  ideographicprintcircle: 0x329E,
  ideographicreachparen: 0x3243,
  ideographicrepresentparen: 0x3239,
  ideographicresourceparen: 0x323E,
  ideographicrightcircle: 0x32A8,
  ideographicsecretcircle: 0x3299,
  ideographicselfparen: 0x3242,
  ideographicsocietyparen: 0x3233,
  ideographicspace: 0x3000,
  ideographicspecialparen: 0x3235,
  ideographicstockparen: 0x3231,
  ideographicstudyparen: 0x323B,
  ideographicsunparen: 0x3230,
  ideographicsuperviseparen: 0x323C,
  ideographicwaterparen: 0x322C,
  ideographicwoodparen: 0x322D,
  ideographiczero: 0x3007,
  ideographmetalcircle: 0x328E,
  ideographmooncircle: 0x328A,
  ideographnamecircle: 0x3294,
  ideographsuncircle: 0x3290,
  ideographwatercircle: 0x328C,
  ideographwoodcircle: 0x328D,
  ideva: 0x907,
  idieresis: 0xEF,
  Idieresis: 0xCF,
  idieresisacute: 0x1E2F,
  Idieresisacute: 0x1E2E,
  idieresiscyrillic: 0x4E5,
  Idieresiscyrillic: 0x4E4,
  Idieresissmall: 0xF7EF,
  Idot: 0x130,
  Idotaccent: 0x130,
  idotbelow: 0x1ECB,
  Idotbelow: 0x1ECA,
  iebrevecyrillic: 0x4D7,
  Iebrevecyrillic: 0x4D6,
  iecyrillic: 0x435,
  Iecyrillic: 0x415,
  ieungacirclekorean: 0x3275,
  ieungaparenkorean: 0x3215,
  ieungcirclekorean: 0x3267,
  ieungkorean: 0x3147,
  ieungparenkorean: 0x3207,
  Ifraktur: 0x2111,
  igrave: 0xEC,
  Igrave: 0xCC,
  Igravesmall: 0xF7EC,
  igujarati: 0xA87,
  igurmukhi: 0xA07,
  ihiragana: 0x3044,
  ihookabove: 0x1EC9,
  Ihookabove: 0x1EC8,
  iibengali: 0x988,
  iicyrillic: 0x438,
  Iicyrillic: 0x418,
  iideva: 0x908,
  iigujarati: 0xA88,
  iigurmukhi: 0xA08,
  iimatragurmukhi: 0xA40,
  iinvertedbreve: 0x20B,
  Iinvertedbreve: 0x20A,
  iishortcyrillic: 0x439,
  Iishortcyrillic: 0x419,
  iivowelsignbengali: 0x9C0,
  iivowelsigndeva: 0x940,
  iivowelsigngujarati: 0xAC0,
  ij: 0x133,
  IJ: 0x132,
  ikatakana: 0x30A4,
  ikatakanahalfwidth: 0xFF72,
  ikorean: 0x3163,
  ilde: 0x2DC,
  iluyhebrew: 0x5AC,
  imacron: 0x12B,
  Imacron: 0x12A,
  imacroncyrillic: 0x4E3,
  Imacroncyrillic: 0x4E2,
  imageorapproximatelyequal: 0x2253,
  imatragurmukhi: 0xA3F,
  imonospace: 0xFF49,
  Imonospace: 0xFF29,
  increment: 0x2206,
  infinity: 0x221E,
  iniarmenian: 0x56B,
  Iniarmenian: 0x53B,
  integral: 0x222B,
  integralbottom: 0x2321,
  integralbt: 0x2321,
  integralex: 0xF8F5,
  integraltop: 0x2320,
  integraltp: 0x2320,
  intersection: 0x2229,
  intisquare: 0x3305,
  invbullet: 0x25D8,
  invcircle: 0x25D9,
  invsmileface: 0x263B,
  iocyrillic: 0x451,
  Iocyrillic: 0x401,
  iogonek: 0x12F,
  Iogonek: 0x12E,
  iota: 0x3B9,
  Iota: 0x399,
  Iotaafrican: 0x196,
  iotadieresis: 0x3CA,
  Iotadieresis: 0x3AA,
  iotadieresistonos: 0x390,
  iotalatin: 0x269,
  iotatonos: 0x3AF,
  Iotatonos: 0x38A,
  iparen: 0x24A4,
  irigurmukhi: 0xA72,
  Ismall: 0xF769,
  ismallhiragana: 0x3043,
  ismallkatakana: 0x30A3,
  ismallkatakanahalfwidth: 0xFF68,
  issharbengali: 0x9FA,
  istroke: 0x268,
  Istroke: 0x197,
  isuperior: 0xF6ED,
  iterationhiragana: 0x309D,
  iterationkatakana: 0x30FD,
  itilde: 0x129,
  Itilde: 0x128,
  itildebelow: 0x1E2D,
  Itildebelow: 0x1E2C,
  iubopomofo: 0x3129,
  iucyrillic: 0x44E,
  IUcyrillic: 0x42E,
  ivowelsignbengali: 0x9BF,
  ivowelsigndeva: 0x93F,
  ivowelsigngujarati: 0xABF,
  izhitsacyrillic: 0x475,
  Izhitsacyrillic: 0x474,
  izhitsadblgravecyrillic: 0x477,
  Izhitsadblgravecyrillic: 0x476,
  j: 0x6A,
  J: 0x4A,
  jaarmenian: 0x571,
  Jaarmenian: 0x541,
  jabengali: 0x99C,
  jadeva: 0x91C,
  jagujarati: 0xA9C,
  jagurmukhi: 0xA1C,
  jbopomofo: 0x3110,
  jcaron: 0x1F0,
  jcircle: 0x24D9,
  Jcircle: 0x24BF,
  jcircumflex: 0x135,
  Jcircumflex: 0x134,
  jcrossedtail: 0x29D,
  jdotlessstroke: 0x25F,
  jecyrillic: 0x458,
  Jecyrillic: 0x408,
  jeemarabic: 0x62C,
  jeemfinalarabic: 0xFE9E,
  jeeminitialarabic: 0xFE9F,
  jeemmedialarabic: 0xFEA0,
  jeharabic: 0x698,
  jehfinalarabic: 0xFB8B,
  jhabengali: 0x99D,
  jhadeva: 0x91D,
  jhagujarati: 0xA9D,
  jhagurmukhi: 0xA1D,
  jheharmenian: 0x57B,
  Jheharmenian: 0x54B,
  jis: 0x3004,
  jmonospace: 0xFF4A,
  Jmonospace: 0xFF2A,
  jparen: 0x24A5,
  Jsmall: 0xF76A,
  jsuperior: 0x2B2,
  k: 0x6B,
  K: 0x4B,
  kabashkircyrillic: 0x4A1,
  Kabashkircyrillic: 0x4A0,
  kabengali: 0x995,
  kacute: 0x1E31,
  Kacute: 0x1E30,
  kacyrillic: 0x43A,
  Kacyrillic: 0x41A,
  kadescendercyrillic: 0x49B,
  Kadescendercyrillic: 0x49A,
  kadeva: 0x915,
  kaf: 0x5DB,
  kafarabic: 0x643,
  kafdagesh: 0xFB3B,
  kafdageshhebrew: 0xFB3B,
  kaffinalarabic: 0xFEDA,
  kafhebrew: 0x5DB,
  kafinitialarabic: 0xFEDB,
  kafmedialarabic: 0xFEDC,
  kafrafehebrew: 0xFB4D,
  kagujarati: 0xA95,
  kagurmukhi: 0xA15,
  kahiragana: 0x304B,
  kahookcyrillic: 0x4C4,
  Kahookcyrillic: 0x4C3,
  kakatakana: 0x30AB,
  kakatakanahalfwidth: 0xFF76,
  kappa: 0x3BA,
  Kappa: 0x39A,
  kappasymbolgreek: 0x3F0,
  kapyeounmieumkorean: 0x3171,
  kapyeounphieuphkorean: 0x3184,
  kapyeounpieupkorean: 0x3178,
  kapyeounssangpieupkorean: 0x3179,
  karoriisquare: 0x330D,
  kashidaautoarabic: 0x640,
  kashidaautonosidebearingarabic: 0x640,
  kasmallkatakana: 0x30F5,
  kasquare: 0x3384,
  kasraarabic: 0x650,
  kasratanarabic: 0x64D,
  kastrokecyrillic: 0x49F,
  Kastrokecyrillic: 0x49E,
  katahiraprolongmarkhalfwidth: 0xFF70,
  kaverticalstrokecyrillic: 0x49D,
  Kaverticalstrokecyrillic: 0x49C,
  kbopomofo: 0x310E,
  KBsquare: 0x3385,
  kcalsquare: 0x3389,
  kcaron: 0x1E9,
  Kcaron: 0x1E8,
  kcedilla: 0x137,
  Kcedilla: 0x136,
  kcircle: 0x24DA,
  Kcircle: 0x24C0,
  kcommaaccent: 0x137,
  Kcommaaccent: 0x136,
  kdotbelow: 0x1E33,
  Kdotbelow: 0x1E32,
  keharmenian: 0x584,
  Keharmenian: 0x554,
  kehiragana: 0x3051,
  kekatakana: 0x30B1,
  kekatakanahalfwidth: 0xFF79,
  kenarmenian: 0x56F,
  Kenarmenian: 0x53F,
  kesmallkatakana: 0x30F6,
  kgreenlandic: 0x138,
  khabengali: 0x996,
  khacyrillic: 0x445,
  Khacyrillic: 0x425,
  khadeva: 0x916,
  khagujarati: 0xA96,
  khagurmukhi: 0xA16,
  khaharabic: 0x62E,
  khahfinalarabic: 0xFEA6,
  khahinitialarabic: 0xFEA7,
  khahmedialarabic: 0xFEA8,
  kheicoptic: 0x3E7,
  Kheicoptic: 0x3E6,
  khhadeva: 0x959,
  khhagurmukhi: 0xA59,
  khieukhacirclekorean: 0x3278,
  khieukhaparenkorean: 0x3218,
  khieukhcirclekorean: 0x326A,
  khieukhkorean: 0x314B,
  khieukhparenkorean: 0x320A,
  khokhaithai: 0xE02,
  khokhonthai: 0xE05,
  khokhuatthai: 0xE03,
  khokhwaithai: 0xE04,
  khomutthai: 0xE5B,
  khook: 0x199,
  Khook: 0x198,
  khorakhangthai: 0xE06,
  khzsquare: 0x3391,
  kihiragana: 0x304D,
  kikatakana: 0x30AD,
  kikatakanahalfwidth: 0xFF77,
  kiroguramusquare: 0x3315,
  kiromeetorusquare: 0x3316,
  kirosquare: 0x3314,
  kiyeokacirclekorean: 0x326E,
  kiyeokaparenkorean: 0x320E,
  kiyeokcirclekorean: 0x3260,
  kiyeokkorean: 0x3131,
  kiyeokparenkorean: 0x3200,
  kiyeoksioskorean: 0x3133,
  kjecyrillic: 0x45C,
  Kjecyrillic: 0x40C,
  KKsquare: 0x33CD,
  klinebelow: 0x1E35,
  Klinebelow: 0x1E34,
  klsquare: 0x3398,
  kmcubedsquare: 0x33A6,
  kmonospace: 0xFF4B,
  Kmonospace: 0xFF2B,
  kmsquaredsquare: 0x33A2,
  kohiragana: 0x3053,
  kohmsquare: 0x33C0,
  kokaithai: 0xE01,
  kokatakana: 0x30B3,
  kokatakanahalfwidth: 0xFF7A,
  kooposquare: 0x331E,
  koppacyrillic: 0x481,
  Koppacyrillic: 0x480,
  Koppagreek: 0x3DE,
  koreanstandardsymbol: 0x327F,
  koroniscmb: 0x343,
  kparen: 0x24A6,
  kpasquare: 0x33AA,
  ksicyrillic: 0x46F,
  Ksicyrillic: 0x46E,
  Ksmall: 0xF76B,
  ktsquare: 0x33CF,
  kturned: 0x29E,
  kuhiragana: 0x304F,
  kukatakana: 0x30AF,
  kukatakanahalfwidth: 0xFF78,
  kvsquare: 0x33B8,
  kwsquare: 0x33BE,
  l: 0x6C,
  L: 0x4C,
  labengali: 0x9B2,
  lacute: 0x13A,
  Lacute: 0x139,
  ladeva: 0x932,
  lagujarati: 0xAB2,
  lagurmukhi: 0xA32,
  lakkhangyaothai: 0xE45,
  lamaleffinalarabic: 0xFEFC,
  lamalefhamzaabovefinalarabic: 0xFEF8,
  lamalefhamzaaboveisolatedarabic: 0xFEF7,
  lamalefhamzabelowfinalarabic: 0xFEFA,
  lamalefhamzabelowisolatedarabic: 0xFEF9,
  lamalefisolatedarabic: 0xFEFB,
  lamalefmaddaabovefinalarabic: 0xFEF6,
  lamalefmaddaaboveisolatedarabic: 0xFEF5,
  lamarabic: 0x644,
  lambda: 0x3BB,
  Lambda: 0x39B,
  lambdastroke: 0x19B,
  lamed: 0x5DC,
  lameddagesh: 0xFB3C,
  lameddageshhebrew: 0xFB3C,
  lamedhebrew: 0x5DC,
  lamfinalarabic: 0xFEDE,
  lamhahinitialarabic: 0xFCCA,
  laminitialarabic: 0xFEDF,
  lamjeeminitialarabic: 0xFCC9,
  lamkhahinitialarabic: 0xFCCB,
  lamlamhehisolatedarabic: 0xFDF2,
  lammedialarabic: 0xFEE0,
  lammeemhahinitialarabic: 0xFD88,
  lammeeminitialarabic: 0xFCCC,
  largecircle: 0x25EF,
  lbar: 0x19A,
  lbelt: 0x26C,
  lbopomofo: 0x310C,
  lcaron: 0x13E,
  Lcaron: 0x13D,
  lcedilla: 0x13C,
  Lcedilla: 0x13B,
  lcircle: 0x24DB,
  Lcircle: 0x24C1,
  lcircumflexbelow: 0x1E3D,
  Lcircumflexbelow: 0x1E3C,
  lcommaaccent: 0x13C,
  Lcommaaccent: 0x13B,
  ldot: 0x140,
  Ldot: 0x13F,
  ldotaccent: 0x140,
  Ldotaccent: 0x13F,
  ldotbelow: 0x1E37,
  Ldotbelow: 0x1E36,
  ldotbelowmacron: 0x1E39,
  Ldotbelowmacron: 0x1E38,
  leftangleabovecmb: 0x31A,
  lefttackbelowcmb: 0x318,
  less: 0x3C,
  lessequal: 0x2264,
  lessequalorgreater: 0x22DA,
  lessmonospace: 0xFF1C,
  lessorequivalent: 0x2272,
  lessorgreater: 0x2276,
  lessoverequal: 0x2266,
  lesssmall: 0xFE64,
  lezh: 0x26E,
  lfblock: 0x258C,
  lhookretroflex: 0x26D,
  lira: 0x20A4,
  liwnarmenian: 0x56C,
  Liwnarmenian: 0x53C,
  lj: 0x1C9,
  Lj: 0x1C8,
  LJ: 0x1C7,
  ljecyrillic: 0x459,
  Ljecyrillic: 0x409,
  ll: 0xF6C0,
  LL: 0xF6BF,
  lladeva: 0x933,
  llagujarati: 0xAB3,
  llinebelow: 0x1E3B,
  Llinebelow: 0x1E3A,
  llladeva: 0x934,
  llvocalicbengali: 0x9E1,
  llvocalicdeva: 0x961,
  llvocalicvowelsignbengali: 0x9E3,
  llvocalicvowelsigndeva: 0x963,
  lmiddletilde: 0x26B,
  lmonospace: 0xFF4C,
  Lmonospace: 0xFF2C,
  lmsquare: 0x33D0,
  lochulathai: 0xE2C,
  logicaland: 0x2227,
  logicalnot: 0xAC,
  logicalnotreversed: 0x2310,
  logicalor: 0x2228,
  lolingthai: 0xE25,
  longs: 0x17F,
  lowlinecenterline: 0xFE4E,
  lowlinecmb: 0x332,
  lowlinedashed: 0xFE4D,
  lozenge: 0x25CA,
  lparen: 0x24A7,
  lslash: 0x142,
  Lslash: 0x141,
  Lslashsmall: 0xF6F9,
  Lsmall: 0xF76C,
  lsquare: 0x2113,
  lsuperior: 0xF6EE,
  ltshade: 0x2591,
  luthai: 0xE26,
  lvocalicbengali: 0x98C,
  lvocalicdeva: 0x90C,
  lvocalicvowelsignbengali: 0x9E2,
  lvocalicvowelsigndeva: 0x962,
  lxsquare: 0x33D3,
  m: 0x6D,
  M: 0x4D,
  mabengali: 0x9AE,
  macron: 0xAF,
  Macron: 0xF6D0,
  macronbelowcmb: 0x331,
  macroncmb: 0x304,
  macronlowmod: 0x2CD,
  macronmonospace: 0xFFE3,
  Macronsmall: 0xF7AF,
  macute: 0x1E3F,
  Macute: 0x1E3E,
  madeva: 0x92E,
  magujarati: 0xAAE,
  magurmukhi: 0xA2E,
  mahapakhhebrew: 0x5A4,
  mahapakhlefthebrew: 0x5A4,
  mahiragana: 0x307E,
  maichattawalowleftthai: 0xF895,
  maichattawalowrightthai: 0xF894,
  maichattawathai: 0xE4B,
  maichattawaupperleftthai: 0xF893,
  maieklowleftthai: 0xF88C,
  maieklowrightthai: 0xF88B,
  maiekthai: 0xE48,
  maiekupperleftthai: 0xF88A,
  maihanakatleftthai: 0xF884,
  maihanakatthai: 0xE31,
  maitaikhuleftthai: 0xF889,
  maitaikhuthai: 0xE47,
  maitholowleftthai: 0xF88F,
  maitholowrightthai: 0xF88E,
  maithothai: 0xE49,
  maithoupperleftthai: 0xF88D,
  maitrilowleftthai: 0xF892,
  maitrilowrightthai: 0xF891,
  maitrithai: 0xE4A,
  maitriupperleftthai: 0xF890,
  maiyamokthai: 0xE46,
  makatakana: 0x30DE,
  makatakanahalfwidth: 0xFF8F,
  male: 0x2642,
  mansyonsquare: 0x3347,
  maqafhebrew: 0x5BE,
  mars: 0x2642,
  masoracirclehebrew: 0x5AF,
  masquare: 0x3383,
  mbopomofo: 0x3107,
  mbsquare: 0x33D4,
  MBsquare: 0x3386,
  mcircle: 0x24DC,
  Mcircle: 0x24C2,
  mcubedsquare: 0x33A5,
  mdotaccent: 0x1E41,
  Mdotaccent: 0x1E40,
  mdotbelow: 0x1E43,
  Mdotbelow: 0x1E42,
  meemarabic: 0x645,
  meemfinalarabic: 0xFEE2,
  meeminitialarabic: 0xFEE3,
  meemmedialarabic: 0xFEE4,
  meemmeeminitialarabic: 0xFCD1,
  meemmeemisolatedarabic: 0xFC48,
  meetorusquare: 0x334D,
  mehiragana: 0x3081,
  meizierasquare: 0x337E,
  mekatakana: 0x30E1,
  mekatakanahalfwidth: 0xFF92,
  mem: 0x5DE,
  memdagesh: 0xFB3E,
  memdageshhebrew: 0xFB3E,
  memhebrew: 0x5DE,
  menarmenian: 0x574,
  Menarmenian: 0x544,
  merkhahebrew: 0x5A5,
  merkhakefulahebrew: 0x5A6,
  merkhakefulalefthebrew: 0x5A6,
  merkhalefthebrew: 0x5A5,
  mhook: 0x271,
  mhzsquare: 0x3392,
  middledotkatakanahalfwidth: 0xFF65,
  middot: 0xB7,
  mieumacirclekorean: 0x3272,
  mieumaparenkorean: 0x3212,
  mieumcirclekorean: 0x3264,
  mieumkorean: 0x3141,
  mieumpansioskorean: 0x3170,
  mieumparenkorean: 0x3204,
  mieumpieupkorean: 0x316E,
  mieumsioskorean: 0x316F,
  mihiragana: 0x307F,
  mikatakana: 0x30DF,
  mikatakanahalfwidth: 0xFF90,
  minus: 0x2212,
  minusbelowcmb: 0x320,
  minuscircle: 0x2296,
  minusmod: 0x2D7,
  minusplus: 0x2213,
  minute: 0x2032,
  miribaarusquare: 0x334A,
  mirisquare: 0x3349,
  mlonglegturned: 0x270,
  mlsquare: 0x3396,
  mmcubedsquare: 0x33A3,
  mmonospace: 0xFF4D,
  Mmonospace: 0xFF2D,
  mmsquaredsquare: 0x339F,
  mohiragana: 0x3082,
  mohmsquare: 0x33C1,
  mokatakana: 0x30E2,
  mokatakanahalfwidth: 0xFF93,
  molsquare: 0x33D6,
  momathai: 0xE21,
  moverssquare: 0x33A7,
  moverssquaredsquare: 0x33A8,
  mparen: 0x24A8,
  mpasquare: 0x33AB,
  Msmall: 0xF76D,
  mssquare: 0x33B3,
  msuperior: 0xF6EF,
  mturned: 0x26F,
  Mturned: 0x19C,
  mu: 0xB5,
  Mu: 0x39C,
  mu1: 0xB5,
  muasquare: 0x3382,
  muchgreater: 0x226B,
  muchless: 0x226A,
  mufsquare: 0x338C,
  mugreek: 0x3BC,
  mugsquare: 0x338D,
  muhiragana: 0x3080,
  mukatakana: 0x30E0,
  mukatakanahalfwidth: 0xFF91,
  mulsquare: 0x3395,
  multiply: 0xD7,
  mumsquare: 0x339B,
  munahhebrew: 0x5A3,
  munahlefthebrew: 0x5A3,
  musicalnote: 0x266A,
  musicalnotedbl: 0x266B,
  musicflatsign: 0x266D,
  musicsharpsign: 0x266F,
  mussquare: 0x33B2,
  muvsquare: 0x33B6,
  muwsquare: 0x33BC,
  mvmegasquare: 0x33B9,
  mvsquare: 0x33B7,
  mwmegasquare: 0x33BF,
  mwsquare: 0x33BD,
  n: 0x6E,
  N: 0x4E,
  nabengali: 0x9A8,
  nabla: 0x2207,
  nacute: 0x144,
  Nacute: 0x143,
  nadeva: 0x928,
  nagujarati: 0xAA8,
  nagurmukhi: 0xA28,
  nahiragana: 0x306A,
  nakatakana: 0x30CA,
  nakatakanahalfwidth: 0xFF85,
  napostrophe: 0x149,
  nasquare: 0x3381,
  nbopomofo: 0x310B,
  nbspace: 0xA0,
  ncaron: 0x148,
  Ncaron: 0x147,
  ncedilla: 0x146,
  Ncedilla: 0x145,
  ncircle: 0x24DD,
  Ncircle: 0x24C3,
  ncircumflexbelow: 0x1E4B,
  Ncircumflexbelow: 0x1E4A,
  ncommaaccent: 0x146,
  Ncommaaccent: 0x145,
  ndotaccent: 0x1E45,
  Ndotaccent: 0x1E44,
  ndotbelow: 0x1E47,
  Ndotbelow: 0x1E46,
  nehiragana: 0x306D,
  nekatakana: 0x30CD,
  nekatakanahalfwidth: 0xFF88,
  newsheqelsign: 0x20AA,
  nfsquare: 0x338B,
  ngabengali: 0x999,
  ngadeva: 0x919,
  ngagujarati: 0xA99,
  ngagurmukhi: 0xA19,
  ngonguthai: 0xE07,
  nhiragana: 0x3093,
  nhookleft: 0x272,
  Nhookleft: 0x19D,
  nhookretroflex: 0x273,
  nieunacirclekorean: 0x326F,
  nieunaparenkorean: 0x320F,
  nieuncieuckorean: 0x3135,
  nieuncirclekorean: 0x3261,
  nieunhieuhkorean: 0x3136,
  nieunkorean: 0x3134,
  nieunpansioskorean: 0x3168,
  nieunparenkorean: 0x3201,
  nieunsioskorean: 0x3167,
  nieuntikeutkorean: 0x3166,
  nihiragana: 0x306B,
  nikatakana: 0x30CB,
  nikatakanahalfwidth: 0xFF86,
  nikhahitleftthai: 0xF899,
  nikhahitthai: 0xE4D,
  nine: 0x39,
  ninearabic: 0x669,
  ninebengali: 0x9EF,
  ninecircle: 0x2468,
  ninecircleinversesansserif: 0x2792,
  ninedeva: 0x96F,
  ninegujarati: 0xAEF,
  ninegurmukhi: 0xA6F,
  ninehackarabic: 0x669,
  ninehangzhou: 0x3029,
  nineideographicparen: 0x3228,
  nineinferior: 0x2089,
  ninemonospace: 0xFF19,
  nineoldstyle: 0xF739,
  nineparen: 0x247C,
  nineperiod: 0x2490,
  ninepersian: 0x6F9,
  nineroman: 0x2178,
  Nineroman: 0x2168,
  ninesuperior: 0x2079,
  nineteencircle: 0x2472,
  nineteenparen: 0x2486,
  nineteenperiod: 0x249A,
  ninethai: 0xE59,
  nj: 0x1CC,
  Nj: 0x1CB,
  NJ: 0x1CA,
  njecyrillic: 0x45A,
  Njecyrillic: 0x40A,
  nkatakana: 0x30F3,
  nkatakanahalfwidth: 0xFF9D,
  nlegrightlong: 0x19E,
  nlinebelow: 0x1E49,
  Nlinebelow: 0x1E48,
  nmonospace: 0xFF4E,
  Nmonospace: 0xFF2E,
  nmsquare: 0x339A,
  nnabengali: 0x9A3,
  nnadeva: 0x923,
  nnagujarati: 0xAA3,
  nnagurmukhi: 0xA23,
  nnnadeva: 0x929,
  nohiragana: 0x306E,
  nokatakana: 0x30CE,
  nokatakanahalfwidth: 0xFF89,
  nonbreakingspace: 0xA0,
  nonenthai: 0xE13,
  nonuthai: 0xE19,
  noonarabic: 0x646,
  noonfinalarabic: 0xFEE6,
  noonghunnaarabic: 0x6BA,
  noonghunnafinalarabic: 0xFB9F,
  nooninitialarabic: 0xFEE7,
  noonjeeminitialarabic: 0xFCD2,
  noonjeemisolatedarabic: 0xFC4B,
  noonmedialarabic: 0xFEE8,
  noonmeeminitialarabic: 0xFCD5,
  noonmeemisolatedarabic: 0xFC4E,
  noonnoonfinalarabic: 0xFC8D,
  notcontains: 0x220C,
  notelement: 0x2209,
  notelementof: 0x2209,
  notequal: 0x2260,
  notgreater: 0x226F,
  notgreaternorequal: 0x2271,
  notgreaternorless: 0x2279,
  notidentical: 0x2262,
  notless: 0x226E,
  notlessnorequal: 0x2270,
  notparallel: 0x2226,
  notprecedes: 0x2280,
  notsubset: 0x2284,
  notsucceeds: 0x2281,
  notsuperset: 0x2285,
  nowarmenian: 0x576,
  Nowarmenian: 0x546,
  nparen: 0x24A9,
  Nsmall: 0xF76E,
  nssquare: 0x33B1,
  nsuperior: 0x207F,
  ntilde: 0xF1,
  Ntilde: 0xD1,
  Ntildesmall: 0xF7F1,
  nu: 0x3BD,
  Nu: 0x39D,
  nuhiragana: 0x306C,
  nukatakana: 0x30CC,
  nukatakanahalfwidth: 0xFF87,
  nuktabengali: 0x9BC,
  nuktadeva: 0x93C,
  nuktagujarati: 0xABC,
  nuktagurmukhi: 0xA3C,
  numbersign: 0x23,
  numbersignmonospace: 0xFF03,
  numbersignsmall: 0xFE5F,
  numeralsigngreek: 0x374,
  numeralsignlowergreek: 0x375,
  numero: 0x2116,
  nun: 0x5E0,
  nundagesh: 0xFB40,
  nundageshhebrew: 0xFB40,
  nunhebrew: 0x5E0,
  nvsquare: 0x33B5,
  nwsquare: 0x33BB,
  nyabengali: 0x99E,
  nyadeva: 0x91E,
  nyagujarati: 0xA9E,
  nyagurmukhi: 0xA1E,
  o: 0x6F,
  O: 0x4F,
  oacute: 0xF3,
  Oacute: 0xD3,
  Oacutesmall: 0xF7F3,
  oangthai: 0xE2D,
  obarred: 0x275,
  obarredcyrillic: 0x4E9,
  Obarredcyrillic: 0x4E8,
  obarreddieresiscyrillic: 0x4EB,
  Obarreddieresiscyrillic: 0x4EA,
  obengali: 0x993,
  obopomofo: 0x311B,
  obreve: 0x14F,
  Obreve: 0x14E,
  ocandradeva: 0x911,
  ocandragujarati: 0xA91,
  ocandravowelsigndeva: 0x949,
  ocandravowelsigngujarati: 0xAC9,
  ocaron: 0x1D2,
  Ocaron: 0x1D1,
  Ocenteredtilde: 0x19F,
  ocircle: 0x24DE,
  Ocircle: 0x24C4,
  ocircumflex: 0xF4,
  Ocircumflex: 0xD4,
  ocircumflexacute: 0x1ED1,
  Ocircumflexacute: 0x1ED0,
  ocircumflexdotbelow: 0x1ED9,
  Ocircumflexdotbelow: 0x1ED8,
  ocircumflexgrave: 0x1ED3,
  Ocircumflexgrave: 0x1ED2,
  ocircumflexhookabove: 0x1ED5,
  Ocircumflexhookabove: 0x1ED4,
  Ocircumflexsmall: 0xF7F4,
  ocircumflextilde: 0x1ED7,
  Ocircumflextilde: 0x1ED6,
  ocyrillic: 0x43E,
  Ocyrillic: 0x41E,
  odblacute: 0x151,
  Odblacute: 0x150,
  odblgrave: 0x20D,
  Odblgrave: 0x20C,
  odeva: 0x913,
  odieresis: 0xF6,
  Odieresis: 0xD6,
  odieresiscyrillic: 0x4E7,
  Odieresiscyrillic: 0x4E6,
  Odieresissmall: 0xF7F6,
  odotbelow: 0x1ECD,
  Odotbelow: 0x1ECC,
  oe: 0x153,
  OE: 0x152,
  oekorean: 0x315A,
  OEsmall: 0xF6FA,
  ogonek: 0x2DB,
  ogonekcmb: 0x328,
  Ogoneksmall: 0xF6FB,
  ograve: 0xF2,
  Ograve: 0xD2,
  Ogravesmall: 0xF7F2,
  ogujarati: 0xA93,
  oharmenian: 0x585,
  Oharmenian: 0x555,
  ohiragana: 0x304A,
  Ohm: 0x2126,
  ohookabove: 0x1ECF,
  Ohookabove: 0x1ECE,
  ohorn: 0x1A1,
  Ohorn: 0x1A0,
  ohornacute: 0x1EDB,
  Ohornacute: 0x1EDA,
  ohorndotbelow: 0x1EE3,
  Ohorndotbelow: 0x1EE2,
  ohorngrave: 0x1EDD,
  Ohorngrave: 0x1EDC,
  ohornhookabove: 0x1EDF,
  Ohornhookabove: 0x1EDE,
  ohorntilde: 0x1EE1,
  Ohorntilde: 0x1EE0,
  ohungarumlaut: 0x151,
  Ohungarumlaut: 0x150,
  oi: 0x1A3,
  Oi: 0x1A2,
  oinvertedbreve: 0x20F,
  Oinvertedbreve: 0x20E,
  okatakana: 0x30AA,
  okatakanahalfwidth: 0xFF75,
  okorean: 0x3157,
  olehebrew: 0x5AB,
  omacron: 0x14D,
  Omacron: 0x14C,
  omacronacute: 0x1E53,
  Omacronacute: 0x1E52,
  omacrongrave: 0x1E51,
  Omacrongrave: 0x1E50,
  omdeva: 0x950,
  omega: 0x3C9,
  Omega: 0x2126,
  omega1: 0x3D6,
  omegacyrillic: 0x461,
  Omegacyrillic: 0x460,
  Omegagreek: 0x3A9,
  omegalatinclosed: 0x277,
  omegaroundcyrillic: 0x47B,
  Omegaroundcyrillic: 0x47A,
  omegatitlocyrillic: 0x47D,
  Omegatitlocyrillic: 0x47C,
  omegatonos: 0x3CE,
  Omegatonos: 0x38F,
  omgujarati: 0xAD0,
  omicron: 0x3BF,
  Omicron: 0x39F,
  omicrontonos: 0x3CC,
  Omicrontonos: 0x38C,
  omonospace: 0xFF4F,
  Omonospace: 0xFF2F,
  one: 0x31,
  onearabic: 0x661,
  onebengali: 0x9E7,
  onecircle: 0x2460,
  onecircleinversesansserif: 0x278A,
  onedeva: 0x967,
  onedotenleader: 0x2024,
  oneeighth: 0x215B,
  onefitted: 0xF6DC,
  onegujarati: 0xAE7,
  onegurmukhi: 0xA67,
  onehackarabic: 0x661,
  onehalf: 0xBD,
  onehangzhou: 0x3021,
  oneideographicparen: 0x3220,
  oneinferior: 0x2081,
  onemonospace: 0xFF11,
  onenumeratorbengali: 0x9F4,
  oneoldstyle: 0xF731,
  oneparen: 0x2474,
  oneperiod: 0x2488,
  onepersian: 0x6F1,
  onequarter: 0xBC,
  oneroman: 0x2170,
  Oneroman: 0x2160,
  onesuperior: 0xB9,
  onethai: 0xE51,
  onethird: 0x2153,
  oogonek: 0x1EB,
  Oogonek: 0x1EA,
  oogonekmacron: 0x1ED,
  Oogonekmacron: 0x1EC,
  oogurmukhi: 0xA13,
  oomatragurmukhi: 0xA4B,
  oopen: 0x254,
  Oopen: 0x186,
  oparen: 0x24AA,
  openbullet: 0x25E6,
  option: 0x2325,
  ordfeminine: 0xAA,
  ordmasculine: 0xBA,
  orthogonal: 0x221F,
  oshortdeva: 0x912,
  oshortvowelsigndeva: 0x94A,
  oslash: 0xF8,
  Oslash: 0xD8,
  oslashacute: 0x1FF,
  Oslashacute: 0x1FE,
  Oslashsmall: 0xF7F8,
  Osmall: 0xF76F,
  osmallhiragana: 0x3049,
  osmallkatakana: 0x30A9,
  osmallkatakanahalfwidth: 0xFF6B,
  ostrokeacute: 0x1FF,
  Ostrokeacute: 0x1FE,
  osuperior: 0xF6F0,
  otcyrillic: 0x47F,
  Otcyrillic: 0x47E,
  otilde: 0xF5,
  Otilde: 0xD5,
  otildeacute: 0x1E4D,
  Otildeacute: 0x1E4C,
  otildedieresis: 0x1E4F,
  Otildedieresis: 0x1E4E,
  Otildesmall: 0xF7F5,
  oubopomofo: 0x3121,
  overline: 0x203E,
  overlinecenterline: 0xFE4A,
  overlinecmb: 0x305,
  overlinedashed: 0xFE49,
  overlinedblwavy: 0xFE4C,
  overlinewavy: 0xFE4B,
  overscore: 0xAF,
  ovowelsignbengali: 0x9CB,
  ovowelsigndeva: 0x94B,
  ovowelsigngujarati: 0xACB,
  p: 0x70,
  P: 0x50,
  paampssquare: 0x3380,
  paasentosquare: 0x332B,
  pabengali: 0x9AA,
  pacute: 0x1E55,
  Pacute: 0x1E54,
  padeva: 0x92A,
  pagedown: 0x21DF,
  pageup: 0x21DE,
  pagujarati: 0xAAA,
  pagurmukhi: 0xA2A,
  pahiragana: 0x3071,
  paiyannoithai: 0xE2F,
  pakatakana: 0x30D1,
  palatalizationcyrilliccmb: 0x484,
  palochkacyrillic: 0x4C0,
  pansioskorean: 0x317F,
  paragraph: 0xB6,
  parallel: 0x2225,
  parenleft: 0x28,
  parenleftaltonearabic: 0xFD3E,
  parenleftbt: 0xF8ED,
  parenleftex: 0xF8EC,
  parenleftinferior: 0x208D,
  parenleftmonospace: 0xFF08,
  parenleftsmall: 0xFE59,
  parenleftsuperior: 0x207D,
  parenlefttp: 0xF8EB,
  parenleftvertical: 0xFE35,
  parenright: 0x29,
  parenrightaltonearabic: 0xFD3F,
  parenrightbt: 0xF8F8,
  parenrightex: 0xF8F7,
  parenrightinferior: 0x208E,
  parenrightmonospace: 0xFF09,
  parenrightsmall: 0xFE5A,
  parenrightsuperior: 0x207E,
  parenrighttp: 0xF8F6,
  parenrightvertical: 0xFE36,
  partialdiff: 0x2202,
  paseqhebrew: 0x5C0,
  pashtahebrew: 0x599,
  pasquare: 0x33A9,
  patah: 0x5B7,
  patah11: 0x5B7,
  patah1d: 0x5B7,
  patah2a: 0x5B7,
  patahhebrew: 0x5B7,
  patahnarrowhebrew: 0x5B7,
  patahquarterhebrew: 0x5B7,
  patahwidehebrew: 0x5B7,
  pazerhebrew: 0x5A1,
  pbopomofo: 0x3106,
  pcircle: 0x24DF,
  Pcircle: 0x24C5,
  pdotaccent: 0x1E57,
  Pdotaccent: 0x1E56,
  pe: 0x5E4,
  pecyrillic: 0x43F,
  Pecyrillic: 0x41F,
  pedagesh: 0xFB44,
  pedageshhebrew: 0xFB44,
  peezisquare: 0x333B,
  pefinaldageshhebrew: 0xFB43,
  peharabic: 0x67E,
  peharmenian: 0x57A,
  Peharmenian: 0x54A,
  pehebrew: 0x5E4,
  pehfinalarabic: 0xFB57,
  pehinitialarabic: 0xFB58,
  pehiragana: 0x307A,
  pehmedialarabic: 0xFB59,
  pekatakana: 0x30DA,
  pemiddlehookcyrillic: 0x4A7,
  Pemiddlehookcyrillic: 0x4A6,
  perafehebrew: 0xFB4E,
  percent: 0x25,
  percentarabic: 0x66A,
  percentmonospace: 0xFF05,
  percentsmall: 0xFE6A,
  period: 0x2E,
  periodarmenian: 0x589,
  periodcentered: 0xB7,
  periodhalfwidth: 0xFF61,
  periodinferior: 0xF6E7,
  periodmonospace: 0xFF0E,
  periodsmall: 0xFE52,
  periodsuperior: 0xF6E8,
  perispomenigreekcmb: 0x342,
  perpendicular: 0x22A5,
  perthousand: 0x2030,
  peseta: 0x20A7,
  pfsquare: 0x338A,
  phabengali: 0x9AB,
  phadeva: 0x92B,
  phagujarati: 0xAAB,
  phagurmukhi: 0xA2B,
  phi: 0x3C6,
  Phi: 0x3A6,
  phi1: 0x3D5,
  phieuphacirclekorean: 0x327A,
  phieuphaparenkorean: 0x321A,
  phieuphcirclekorean: 0x326C,
  phieuphkorean: 0x314D,
  phieuphparenkorean: 0x320C,
  philatin: 0x278,
  phinthuthai: 0xE3A,
  phisymbolgreek: 0x3D5,
  phook: 0x1A5,
  Phook: 0x1A4,
  phophanthai: 0xE1E,
  phophungthai: 0xE1C,
  phosamphaothai: 0xE20,
  pi: 0x3C0,
  Pi: 0x3A0,
  pieupacirclekorean: 0x3273,
  pieupaparenkorean: 0x3213,
  pieupcieuckorean: 0x3176,
  pieupcirclekorean: 0x3265,
  pieupkiyeokkorean: 0x3172,
  pieupkorean: 0x3142,
  pieupparenkorean: 0x3205,
  pieupsioskiyeokkorean: 0x3174,
  pieupsioskorean: 0x3144,
  pieupsiostikeutkorean: 0x3175,
  pieupthieuthkorean: 0x3177,
  pieuptikeutkorean: 0x3173,
  pihiragana: 0x3074,
  pikatakana: 0x30D4,
  pisymbolgreek: 0x3D6,
  piwrarmenian: 0x583,
  Piwrarmenian: 0x553,
  plus: 0x2B,
  plusbelowcmb: 0x31F,
  pluscircle: 0x2295,
  plusminus: 0xB1,
  plusmod: 0x2D6,
  plusmonospace: 0xFF0B,
  plussmall: 0xFE62,
  plussuperior: 0x207A,
  pmonospace: 0xFF50,
  Pmonospace: 0xFF30,
  pmsquare: 0x33D8,
  pohiragana: 0x307D,
  pointingindexdownwhite: 0x261F,
  pointingindexleftwhite: 0x261C,
  pointingindexrightwhite: 0x261E,
  pointingindexupwhite: 0x261D,
  pokatakana: 0x30DD,
  poplathai: 0xE1B,
  postalmark: 0x3012,
  postalmarkface: 0x3020,
  pparen: 0x24AB,
  precedes: 0x227A,
  prescription: 0x211E,
  primemod: 0x2B9,
  primereversed: 0x2035,
  product: 0x220F,
  projective: 0x2305,
  prolongedkana: 0x30FC,
  propellor: 0x2318,
  propersubset: 0x2282,
  propersuperset: 0x2283,
  proportion: 0x2237,
  proportional: 0x221D,
  psi: 0x3C8,
  Psi: 0x3A8,
  psicyrillic: 0x471,
  Psicyrillic: 0x470,
  psilipneumatacyrilliccmb: 0x486,
  Psmall: 0xF770,
  pssquare: 0x33B0,
  puhiragana: 0x3077,
  pukatakana: 0x30D7,
  pvsquare: 0x33B4,
  pwsquare: 0x33BA,
  q: 0x71,
  Q: 0x51,
  qadeva: 0x958,
  qadmahebrew: 0x5A8,
  qafarabic: 0x642,
  qaffinalarabic: 0xFED6,
  qafinitialarabic: 0xFED7,
  qafmedialarabic: 0xFED8,
  qamats: 0x5B8,
  qamats10: 0x5B8,
  qamats1a: 0x5B8,
  qamats1c: 0x5B8,
  qamats27: 0x5B8,
  qamats29: 0x5B8,
  qamats33: 0x5B8,
  qamatsde: 0x5B8,
  qamatshebrew: 0x5B8,
  qamatsnarrowhebrew: 0x5B8,
  qamatsqatanhebrew: 0x5B8,
  qamatsqatannarrowhebrew: 0x5B8,
  qamatsqatanquarterhebrew: 0x5B8,
  qamatsqatanwidehebrew: 0x5B8,
  qamatsquarterhebrew: 0x5B8,
  qamatswidehebrew: 0x5B8,
  qarneyparahebrew: 0x59F,
  qbopomofo: 0x3111,
  qcircle: 0x24E0,
  Qcircle: 0x24C6,
  qhook: 0x2A0,
  qmonospace: 0xFF51,
  Qmonospace: 0xFF31,
  qof: 0x5E7,
  qofdagesh: 0xFB47,
  qofdageshhebrew: 0xFB47,
  qofhebrew: 0x5E7,
  qparen: 0x24AC,
  Qsmall: 0xF771,
  quarternote: 0x2669,
  qubuts: 0x5BB,
  qubuts18: 0x5BB,
  qubuts25: 0x5BB,
  qubuts31: 0x5BB,
  qubutshebrew: 0x5BB,
  qubutsnarrowhebrew: 0x5BB,
  qubutsquarterhebrew: 0x5BB,
  qubutswidehebrew: 0x5BB,
  question: 0x3F,
  questionarabic: 0x61F,
  questionarmenian: 0x55E,
  questiondown: 0xBF,
  questiondownsmall: 0xF7BF,
  questiongreek: 0x37E,
  questionmonospace: 0xFF1F,
  questionsmall: 0xF73F,
  quotedbl: 0x22,
  quotedblbase: 0x201E,
  quotedblleft: 0x201C,
  quotedblmonospace: 0xFF02,
  quotedblprime: 0x301E,
  quotedblprimereversed: 0x301D,
  quotedblright: 0x201D,
  quoteleft: 0x2018,
  quoteleftreversed: 0x201B,
  quotereversed: 0x201B,
  quoteright: 0x2019,
  quoterightn: 0x149,
  quotesinglbase: 0x201A,
  quotesingle: 0x27,
  quotesinglemonospace: 0xFF07,
  r: 0x72,
  R: 0x52,
  raarmenian: 0x57C,
  Raarmenian: 0x54C,
  rabengali: 0x9B0,
  racute: 0x155,
  Racute: 0x154,
  radeva: 0x930,
  radical: 0x221A,
  radicalex: 0xF8E5,
  radoverssquare: 0x33AE,
  radoverssquaredsquare: 0x33AF,
  radsquare: 0x33AD,
  rafe: 0x5BF,
  rafehebrew: 0x5BF,
  ragujarati: 0xAB0,
  ragurmukhi: 0xA30,
  rahiragana: 0x3089,
  rakatakana: 0x30E9,
  rakatakanahalfwidth: 0xFF97,
  ralowerdiagonalbengali: 0x9F1,
  ramiddlediagonalbengali: 0x9F0,
  ramshorn: 0x264,
  ratio: 0x2236,
  rbopomofo: 0x3116,
  rcaron: 0x159,
  Rcaron: 0x158,
  rcedilla: 0x157,
  Rcedilla: 0x156,
  rcircle: 0x24E1,
  Rcircle: 0x24C7,
  rcommaaccent: 0x157,
  Rcommaaccent: 0x156,
  rdblgrave: 0x211,
  Rdblgrave: 0x210,
  rdotaccent: 0x1E59,
  Rdotaccent: 0x1E58,
  rdotbelow: 0x1E5B,
  Rdotbelow: 0x1E5A,
  rdotbelowmacron: 0x1E5D,
  Rdotbelowmacron: 0x1E5C,
  referencemark: 0x203B,
  reflexsubset: 0x2286,
  reflexsuperset: 0x2287,
  registered: 0xAE,
  registersans: 0xAE, // Adobe corporate PUA U+F8E8 → standard ® for system font compatibility
  registerserif: 0xAE, // Adobe corporate PUA U+F6DA → standard ® for system font compatibility
  reharabic: 0x631,
  reharmenian: 0x580,
  Reharmenian: 0x550,
  rehfinalarabic: 0xFEAE,
  rehiragana: 0x308C,
  rekatakana: 0x30EC,
  rekatakanahalfwidth: 0xFF9A,
  resh: 0x5E8,
  reshdageshhebrew: 0xFB48,
  reshhebrew: 0x5E8,
  reversedtilde: 0x223D,
  reviahebrew: 0x597,
  reviamugrashhebrew: 0x597,
  revlogicalnot: 0x2310,
  rfishhook: 0x27E,
  rfishhookreversed: 0x27F,
  Rfraktur: 0x211C,
  rhabengali: 0x9DD,
  rhadeva: 0x95D,
  rho: 0x3C1,
  Rho: 0x3A1,
  rhook: 0x27D,
  rhookturned: 0x27B,
  rhookturnedsuperior: 0x2B5,
  rhosymbolgreek: 0x3F1,
  rhotichookmod: 0x2DE,
  rieulacirclekorean: 0x3271,
  rieulaparenkorean: 0x3211,
  rieulcirclekorean: 0x3263,
  rieulhieuhkorean: 0x3140,
  rieulkiyeokkorean: 0x313A,
  rieulkiyeoksioskorean: 0x3169,
  rieulkorean: 0x3139,
  rieulmieumkorean: 0x313B,
  rieulpansioskorean: 0x316C,
  rieulparenkorean: 0x3203,
  rieulphieuphkorean: 0x313F,
  rieulpieupkorean: 0x313C,
  rieulpieupsioskorean: 0x316B,
  rieulsioskorean: 0x313D,
  rieulthieuthkorean: 0x313E,
  rieultikeutkorean: 0x316A,
  rieulyeorinhieuhkorean: 0x316D,
  rightangle: 0x221F,
  righttackbelowcmb: 0x319,
  righttriangle: 0x22BF,
  rihiragana: 0x308A,
  rikatakana: 0x30EA,
  rikatakanahalfwidth: 0xFF98,
  ring: 0x2DA,
  ringbelowcmb: 0x325,
  ringcmb: 0x30A,
  ringhalfleft: 0x2BF,
  ringhalfleftarmenian: 0x559,
  ringhalfleftbelowcmb: 0x31C,
  ringhalfleftcentered: 0x2D3,
  ringhalfright: 0x2BE,
  ringhalfrightbelowcmb: 0x339,
  ringhalfrightcentered: 0x2D2,
  Ringsmall: 0xF6FC,
  rinvertedbreve: 0x213,
  Rinvertedbreve: 0x212,
  rittorusquare: 0x3351,
  rlinebelow: 0x1E5F,
  Rlinebelow: 0x1E5E,
  rlongleg: 0x27C,
  rlonglegturned: 0x27A,
  rmonospace: 0xFF52,
  Rmonospace: 0xFF32,
  rohiragana: 0x308D,
  rokatakana: 0x30ED,
  rokatakanahalfwidth: 0xFF9B,
  roruathai: 0xE23,
  rparen: 0x24AD,
  rrabengali: 0x9DC,
  rradeva: 0x931,
  rragurmukhi: 0xA5C,
  rreharabic: 0x691,
  rrehfinalarabic: 0xFB8D,
  rrvocalicbengali: 0x9E0,
  rrvocalicdeva: 0x960,
  rrvocalicgujarati: 0xAE0,
  rrvocalicvowelsignbengali: 0x9C4,
  rrvocalicvowelsigndeva: 0x944,
  rrvocalicvowelsigngujarati: 0xAC4,
  Rsmall: 0xF772,
  Rsmallinverted: 0x281,
  Rsmallinvertedsuperior: 0x2B6,
  rsuperior: 0xF6F1,
  rtblock: 0x2590,
  rturned: 0x279,
  rturnedsuperior: 0x2B4,
  ruhiragana: 0x308B,
  rukatakana: 0x30EB,
  rukatakanahalfwidth: 0xFF99,
  rupeemarkbengali: 0x9F2,
  rupeesignbengali: 0x9F3,
  rupiah: 0xF6DD,
  ruthai: 0xE24,
  rvocalicbengali: 0x98B,
  rvocalicdeva: 0x90B,
  rvocalicgujarati: 0xA8B,
  rvocalicvowelsignbengali: 0x9C3,
  rvocalicvowelsigndeva: 0x943,
  rvocalicvowelsigngujarati: 0xAC3,
  s: 0x73,
  S: 0x53,
  sabengali: 0x9B8,
  sacute: 0x15B,
  Sacute: 0x15A,
  sacutedotaccent: 0x1E65,
  Sacutedotaccent: 0x1E64,
  sadarabic: 0x635,
  sadeva: 0x938,
  sadfinalarabic: 0xFEBA,
  sadinitialarabic: 0xFEBB,
  sadmedialarabic: 0xFEBC,
  sagujarati: 0xAB8,
  sagurmukhi: 0xA38,
  sahiragana: 0x3055,
  sakatakana: 0x30B5,
  sakatakanahalfwidth: 0xFF7B,
  sallallahoualayhewasallamarabic: 0xFDFA,
  samekh: 0x5E1,
  samekhdagesh: 0xFB41,
  samekhdageshhebrew: 0xFB41,
  samekhhebrew: 0x5E1,
  Sampigreek: 0x3E0,
  saraaathai: 0xE32,
  saraaethai: 0xE41,
  saraaimaimalaithai: 0xE44,
  saraaimaimuanthai: 0xE43,
  saraamthai: 0xE33,
  saraathai: 0xE30,
  saraethai: 0xE40,
  saraiileftthai: 0xF886,
  saraiithai: 0xE35,
  saraileftthai: 0xF885,
  saraithai: 0xE34,
  saraothai: 0xE42,
  saraueeleftthai: 0xF888,
  saraueethai: 0xE37,
  saraueleftthai: 0xF887,
  sarauethai: 0xE36,
  sarauthai: 0xE38,
  sarauuthai: 0xE39,
  sbopomofo: 0x3119,
  scaron: 0x161,
  Scaron: 0x160,
  scarondotaccent: 0x1E67,
  Scarondotaccent: 0x1E66,
  Scaronsmall: 0xF6FD,
  scedilla: 0x15F,
  Scedilla: 0x15E,
  schwa: 0x259,
  Schwa: 0x18F,
  schwacyrillic: 0x4D9,
  Schwacyrillic: 0x4D8,
  schwadieresiscyrillic: 0x4DB,
  Schwadieresiscyrillic: 0x4DA,
  schwahook: 0x25A,
  scircle: 0x24E2,
  Scircle: 0x24C8,
  scircumflex: 0x15D,
  Scircumflex: 0x15C,
  scommaaccent: 0x219,
  Scommaaccent: 0x218,
  sdotaccent: 0x1E61,
  Sdotaccent: 0x1E60,
  sdotbelow: 0x1E63,
  Sdotbelow: 0x1E62,
  sdotbelowdotaccent: 0x1E69,
  Sdotbelowdotaccent: 0x1E68,
  seagullbelowcmb: 0x33C,
  second: 0x2033,
  secondtonechinese: 0x2CA,
  section: 0xA7,
  seenarabic: 0x633,
  seenfinalarabic: 0xFEB2,
  seeninitialarabic: 0xFEB3,
  seenmedialarabic: 0xFEB4,
  segol: 0x5B6,
  segol13: 0x5B6,
  segol1f: 0x5B6,
  segol2c: 0x5B6,
  segolhebrew: 0x5B6,
  segolnarrowhebrew: 0x5B6,
  segolquarterhebrew: 0x5B6,
  segoltahebrew: 0x592,
  segolwidehebrew: 0x5B6,
  seharmenian: 0x57D,
  Seharmenian: 0x54D,
  sehiragana: 0x305B,
  sekatakana: 0x30BB,
  sekatakanahalfwidth: 0xFF7E,
  semicolon: 0x3B,
  semicolonarabic: 0x61B,
  semicolonmonospace: 0xFF1B,
  semicolonsmall: 0xFE54,
  semivoicedmarkkana: 0x309C,
  semivoicedmarkkanahalfwidth: 0xFF9F,
  sentisquare: 0x3322,
  sentosquare: 0x3323,
  seven: 0x37,
  sevenarabic: 0x667,
  sevenbengali: 0x9ED,
  sevencircle: 0x2466,
  sevencircleinversesansserif: 0x2790,
  sevendeva: 0x96D,
  seveneighths: 0x215E,
  sevengujarati: 0xAED,
  sevengurmukhi: 0xA6D,
  sevenhackarabic: 0x667,
  sevenhangzhou: 0x3027,
  sevenideographicparen: 0x3226,
  seveninferior: 0x2087,
  sevenmonospace: 0xFF17,
  sevenoldstyle: 0xF737,
  sevenparen: 0x247A,
  sevenperiod: 0x248E,
  sevenpersian: 0x6F7,
  sevenroman: 0x2176,
  Sevenroman: 0x2166,
  sevensuperior: 0x2077,
  seventeencircle: 0x2470,
  seventeenparen: 0x2484,
  seventeenperiod: 0x2498,
  seventhai: 0xE57,
  SF010000: 0x250C,
  SF020000: 0x2514,
  SF030000: 0x2510,
  SF040000: 0x2518,
  SF050000: 0x253C,
  SF060000: 0x252C,
  SF070000: 0x2534,
  SF080000: 0x251C,
  SF090000: 0x2524,
  SF100000: 0x2500,
  SF110000: 0x2502,
  SF190000: 0x2561,
  SF200000: 0x2562,
  SF210000: 0x2556,
  SF220000: 0x2555,
  SF230000: 0x2563,
  SF240000: 0x2551,
  SF250000: 0x2557,
  SF260000: 0x255D,
  SF270000: 0x255C,
  SF280000: 0x255B,
  SF360000: 0x255E,
  SF370000: 0x255F,
  SF380000: 0x255A,
  SF390000: 0x2554,
  SF400000: 0x2569,
  SF410000: 0x2566,
  SF420000: 0x2560,
  SF430000: 0x2550,
  SF440000: 0x256C,
  SF450000: 0x2567,
  SF460000: 0x2568,
  SF470000: 0x2564,
  SF480000: 0x2565,
  SF490000: 0x2559,
  SF500000: 0x2558,
  SF510000: 0x2552,
  SF520000: 0x2553,
  SF530000: 0x256B,
  SF540000: 0x256A,
  sfthyphen: 0xAD,
  shaarmenian: 0x577,
  Shaarmenian: 0x547,
  shabengali: 0x9B6,
  shacyrillic: 0x448,
  Shacyrillic: 0x428,
  shaddaarabic: 0x651,
  shaddadammaarabic: 0xFC61,
  shaddadammatanarabic: 0xFC5E,
  shaddafathaarabic: 0xFC60,
  shaddakasraarabic: 0xFC62,
  shaddakasratanarabic: 0xFC5F,
  shade: 0x2592,
  shadedark: 0x2593,
  shadelight: 0x2591,
  shademedium: 0x2592,
  shadeva: 0x936,
  shagujarati: 0xAB6,
  shagurmukhi: 0xA36,
  shalshelethebrew: 0x593,
  shbopomofo: 0x3115,
  shchacyrillic: 0x449,
  Shchacyrillic: 0x429,
  sheenarabic: 0x634,
  sheenfinalarabic: 0xFEB6,
  sheeninitialarabic: 0xFEB7,
  sheenmedialarabic: 0xFEB8,
  sheicoptic: 0x3E3,
  Sheicoptic: 0x3E2,
  sheqel: 0x20AA,
  sheqelhebrew: 0x20AA,
  sheva: 0x5B0,
  sheva115: 0x5B0,
  sheva15: 0x5B0,
  sheva22: 0x5B0,
  sheva2e: 0x5B0,
  shevahebrew: 0x5B0,
  shevanarrowhebrew: 0x5B0,
  shevaquarterhebrew: 0x5B0,
  shevawidehebrew: 0x5B0,
  shhacyrillic: 0x4BB,
  Shhacyrillic: 0x4BA,
  shimacoptic: 0x3ED,
  Shimacoptic: 0x3EC,
  shin: 0x5E9,
  shindagesh: 0xFB49,
  shindageshhebrew: 0xFB49,
  shindageshshindot: 0xFB2C,
  shindageshshindothebrew: 0xFB2C,
  shindageshsindot: 0xFB2D,
  shindageshsindothebrew: 0xFB2D,
  shindothebrew: 0x5C1,
  shinhebrew: 0x5E9,
  shinshindot: 0xFB2A,
  shinshindothebrew: 0xFB2A,
  shinsindot: 0xFB2B,
  shinsindothebrew: 0xFB2B,
  shook: 0x282,
  sigma: 0x3C3,
  Sigma: 0x3A3,
  sigma1: 0x3C2,
  sigmafinal: 0x3C2,
  sigmalunatesymbolgreek: 0x3F2,
  sihiragana: 0x3057,
  sikatakana: 0x30B7,
  sikatakanahalfwidth: 0xFF7C,
  siluqhebrew: 0x5BD,
  siluqlefthebrew: 0x5BD,
  similar: 0x223C,
  sindothebrew: 0x5C2,
  siosacirclekorean: 0x3274,
  siosaparenkorean: 0x3214,
  sioscieuckorean: 0x317E,
  sioscirclekorean: 0x3266,
  sioskiyeokkorean: 0x317A,
  sioskorean: 0x3145,
  siosnieunkorean: 0x317B,
  siosparenkorean: 0x3206,
  siospieupkorean: 0x317D,
  siostikeutkorean: 0x317C,
  six: 0x36,
  sixarabic: 0x666,
  sixbengali: 0x9EC,
  sixcircle: 0x2465,
  sixcircleinversesansserif: 0x278F,
  sixdeva: 0x96C,
  sixgujarati: 0xAEC,
  sixgurmukhi: 0xA6C,
  sixhackarabic: 0x666,
  sixhangzhou: 0x3026,
  sixideographicparen: 0x3225,
  sixinferior: 0x2086,
  sixmonospace: 0xFF16,
  sixoldstyle: 0xF736,
  sixparen: 0x2479,
  sixperiod: 0x248D,
  sixpersian: 0x6F6,
  sixroman: 0x2175,
  Sixroman: 0x2165,
  sixsuperior: 0x2076,
  sixteencircle: 0x246F,
  sixteencurrencydenominatorbengali: 0x9F9,
  sixteenparen: 0x2483,
  sixteenperiod: 0x2497,
  sixthai: 0xE56,
  slash: 0x2F,
  slashmonospace: 0xFF0F,
  slong: 0x17F,
  slongdotaccent: 0x1E9B,
  smileface: 0x263A,
  smonospace: 0xFF53,
  Smonospace: 0xFF33,
  sofpasuqhebrew: 0x5C3,
  softhyphen: 0xAD,
  softsigncyrillic: 0x44C,
  Softsigncyrillic: 0x42C,
  sohiragana: 0x305D,
  sokatakana: 0x30BD,
  sokatakanahalfwidth: 0xFF7F,
  soliduslongoverlaycmb: 0x338,
  solidusshortoverlaycmb: 0x337,
  sorusithai: 0xE29,
  sosalathai: 0xE28,
  sosothai: 0xE0B,
  sosuathai: 0xE2A,
  space: 0x20,
  spacehackarabic: 0x20,
  spade: 0x2660,
  spadesuitblack: 0x2660,
  spadesuitwhite: 0x2664,
  sparen: 0x24AE,
  squarebelowcmb: 0x33B,
  squarecc: 0x33C4,
  squarecm: 0x339D,
  squarediagonalcrosshatchfill: 0x25A9,
  squarehorizontalfill: 0x25A4,
  squarekg: 0x338F,
  squarekm: 0x339E,
  squarekmcapital: 0x33CE,
  squareln: 0x33D1,
  squarelog: 0x33D2,
  squaremg: 0x338E,
  squaremil: 0x33D5,
  squaremm: 0x339C,
  squaremsquared: 0x33A1,
  squareorthogonalcrosshatchfill: 0x25A6,
  squareupperlefttolowerrightfill: 0x25A7,
  squareupperrighttolowerleftfill: 0x25A8,
  squareverticalfill: 0x25A5,
  squarewhitewithsmallblack: 0x25A3,
  srsquare: 0x33DB,
  ssabengali: 0x9B7,
  ssadeva: 0x937,
  ssagujarati: 0xAB7,
  ssangcieuckorean: 0x3149,
  ssanghieuhkorean: 0x3185,
  ssangieungkorean: 0x3180,
  ssangkiyeokkorean: 0x3132,
  ssangnieunkorean: 0x3165,
  ssangpieupkorean: 0x3143,
  ssangsioskorean: 0x3146,
  ssangtikeutkorean: 0x3138,
  Ssmall: 0xF773,
  ssuperior: 0xF6F2,
  sterling: 0xA3,
  sterlingmonospace: 0xFFE1,
  Stigmagreek: 0x3DA,
  strokelongoverlaycmb: 0x336,
  strokeshortoverlaycmb: 0x335,
  subset: 0x2282,
  subsetnotequal: 0x228A,
  subsetorequal: 0x2286,
  succeeds: 0x227B,
  suchthat: 0x220B,
  suhiragana: 0x3059,
  sukatakana: 0x30B9,
  sukatakanahalfwidth: 0xFF7D,
  sukunarabic: 0x652,
  summation: 0x2211,
  sun: 0x263C,
  superset: 0x2283,
  supersetnotequal: 0x228B,
  supersetorequal: 0x2287,
  svsquare: 0x33DC,
  syouwaerasquare: 0x337C,
  t: 0x74,
  T: 0x54,
  tabengali: 0x9A4,
  tackdown: 0x22A4,
  tackleft: 0x22A3,
  tadeva: 0x924,
  tagujarati: 0xAA4,
  tagurmukhi: 0xA24,
  taharabic: 0x637,
  tahfinalarabic: 0xFEC2,
  tahinitialarabic: 0xFEC3,
  tahiragana: 0x305F,
  tahmedialarabic: 0xFEC4,
  taisyouerasquare: 0x337D,
  takatakana: 0x30BF,
  takatakanahalfwidth: 0xFF80,
  tatweelarabic: 0x640,
  tau: 0x3C4,
  Tau: 0x3A4,
  tav: 0x5EA,
  tavdages: 0xFB4A,
  tavdagesh: 0xFB4A,
  tavdageshhebrew: 0xFB4A,
  tavhebrew: 0x5EA,
  tbar: 0x167,
  Tbar: 0x166,
  tbopomofo: 0x310A,
  tcaron: 0x165,
  Tcaron: 0x164,
  tccurl: 0x2A8,
  tcedilla: 0x163,
  Tcedilla: 0x162,
  tcheharabic: 0x686,
  tchehfinalarabic: 0xFB7B,
  tchehinitialarabic: 0xFB7C,
  tchehmedialarabic: 0xFB7D,
  tcircle: 0x24E3,
  Tcircle: 0x24C9,
  tcircumflexbelow: 0x1E71,
  Tcircumflexbelow: 0x1E70,
  tcommaaccent: 0x163,
  Tcommaaccent: 0x162,
  tdieresis: 0x1E97,
  tdotaccent: 0x1E6B,
  Tdotaccent: 0x1E6A,
  tdotbelow: 0x1E6D,
  Tdotbelow: 0x1E6C,
  tecyrillic: 0x442,
  Tecyrillic: 0x422,
  tedescendercyrillic: 0x4AD,
  Tedescendercyrillic: 0x4AC,
  teharabic: 0x62A,
  tehfinalarabic: 0xFE96,
  tehhahinitialarabic: 0xFCA2,
  tehhahisolatedarabic: 0xFC0C,
  tehinitialarabic: 0xFE97,
  tehiragana: 0x3066,
  tehjeeminitialarabic: 0xFCA1,
  tehjeemisolatedarabic: 0xFC0B,
  tehmarbutaarabic: 0x629,
  tehmarbutafinalarabic: 0xFE94,
  tehmedialarabic: 0xFE98,
  tehmeeminitialarabic: 0xFCA4,
  tehmeemisolatedarabic: 0xFC0E,
  tehnoonfinalarabic: 0xFC73,
  tekatakana: 0x30C6,
  tekatakanahalfwidth: 0xFF83,
  telephone: 0x2121,
  telephoneblack: 0x260E,
  telishagedolahebrew: 0x5A0,
  telishaqetanahebrew: 0x5A9,
  tencircle: 0x2469,
  tenideographicparen: 0x3229,
  tenparen: 0x247D,
  tenperiod: 0x2491,
  tenroman: 0x2179,
  Tenroman: 0x2169,
  tesh: 0x2A7,
  tet: 0x5D8,
  tetdagesh: 0xFB38,
  tetdageshhebrew: 0xFB38,
  tethebrew: 0x5D8,
  tetsecyrillic: 0x4B5,
  Tetsecyrillic: 0x4B4,
  tevirhebrew: 0x59B,
  tevirlefthebrew: 0x59B,
  thabengali: 0x9A5,
  thadeva: 0x925,
  thagujarati: 0xAA5,
  thagurmukhi: 0xA25,
  thalarabic: 0x630,
  thalfinalarabic: 0xFEAC,
  thanthakhatlowleftthai: 0xF898,
  thanthakhatlowrightthai: 0xF897,
  thanthakhatthai: 0xE4C,
  thanthakhatupperleftthai: 0xF896,
  theharabic: 0x62B,
  thehfinalarabic: 0xFE9A,
  thehinitialarabic: 0xFE9B,
  thehmedialarabic: 0xFE9C,
  thereexists: 0x2203,
  therefore: 0x2234,
  theta: 0x3B8,
  Theta: 0x398,
  theta1: 0x3D1,
  thetasymbolgreek: 0x3D1,
  thieuthacirclekorean: 0x3279,
  thieuthaparenkorean: 0x3219,
  thieuthcirclekorean: 0x326B,
  thieuthkorean: 0x314C,
  thieuthparenkorean: 0x320B,
  thirteencircle: 0x246C,
  thirteenparen: 0x2480,
  thirteenperiod: 0x2494,
  thonangmonthothai: 0xE11,
  thook: 0x1AD,
  Thook: 0x1AC,
  thophuthaothai: 0xE12,
  thorn: 0xFE,
  Thorn: 0xDE,
  Thornsmall: 0xF7FE,
  thothahanthai: 0xE17,
  thothanthai: 0xE10,
  thothongthai: 0xE18,
  thothungthai: 0xE16,
  thousandcyrillic: 0x482,
  thousandsseparatorarabic: 0x66C,
  thousandsseparatorpersian: 0x66C,
  three: 0x33,
  threearabic: 0x663,
  threebengali: 0x9E9,
  threecircle: 0x2462,
  threecircleinversesansserif: 0x278C,
  threedeva: 0x969,
  threeeighths: 0x215C,
  threegujarati: 0xAE9,
  threegurmukhi: 0xA69,
  threehackarabic: 0x663,
  threehangzhou: 0x3023,
  threeideographicparen: 0x3222,
  threeinferior: 0x2083,
  threemonospace: 0xFF13,
  threenumeratorbengali: 0x9F6,
  threeoldstyle: 0xF733,
  threeparen: 0x2476,
  threeperiod: 0x248A,
  threepersian: 0x6F3,
  threequarters: 0xBE,
  threequartersemdash: 0xF6DE,
  threeroman: 0x2172,
  Threeroman: 0x2162,
  threesuperior: 0xB3,
  threethai: 0xE53,
  thzsquare: 0x3394,
  tihiragana: 0x3061,
  tikatakana: 0x30C1,
  tikatakanahalfwidth: 0xFF81,
  tikeutacirclekorean: 0x3270,
  tikeutaparenkorean: 0x3210,
  tikeutcirclekorean: 0x3262,
  tikeutkorean: 0x3137,
  tikeutparenkorean: 0x3202,
  tilde: 0x2DC,
  tildebelowcmb: 0x330,
  tildecmb: 0x303,
  tildecomb: 0x303,
  tildedoublecmb: 0x360,
  tildeoperator: 0x223C,
  tildeoverlaycmb: 0x334,
  Tildesmall: 0xF6FE,
  tildeverticalcmb: 0x33E,
  timescircle: 0x2297,
  tipehahebrew: 0x596,
  tipehalefthebrew: 0x596,
  tippigurmukhi: 0xA70,
  titlocyrilliccmb: 0x483,
  tiwnarmenian: 0x57F,
  Tiwnarmenian: 0x54F,
  tlinebelow: 0x1E6F,
  Tlinebelow: 0x1E6E,
  tmonospace: 0xFF54,
  Tmonospace: 0xFF34,
  toarmenian: 0x569,
  Toarmenian: 0x539,
  tohiragana: 0x3068,
  tokatakana: 0x30C8,
  tokatakanahalfwidth: 0xFF84,
  tonebarextrahighmod: 0x2E5,
  tonebarextralowmod: 0x2E9,
  tonebarhighmod: 0x2E6,
  tonebarlowmod: 0x2E8,
  tonebarmidmod: 0x2E7,
  tonefive: 0x1BD,
  Tonefive: 0x1BC,
  tonesix: 0x185,
  Tonesix: 0x184,
  tonetwo: 0x1A8,
  Tonetwo: 0x1A7,
  tonos: 0x384,
  tonsquare: 0x3327,
  topatakthai: 0xE0F,
  tortoiseshellbracketleft: 0x3014,
  tortoiseshellbracketleftsmall: 0xFE5D,
  tortoiseshellbracketleftvertical: 0xFE39,
  tortoiseshellbracketright: 0x3015,
  tortoiseshellbracketrightsmall: 0xFE5E,
  tortoiseshellbracketrightvertical: 0xFE3A,
  totaothai: 0xE15,
  tpalatalhook: 0x1AB,
  tparen: 0x24AF,
  trademark: 0x2122,
  trademarksans: 0x2122, // Adobe corporate PUA U+F8EA → standard ™ for system font compatibility
  trademarkserif: 0x2122, // Adobe corporate PUA U+F6DB → standard ™ for system font compatibility
  tretroflexhook: 0x288,
  Tretroflexhook: 0x1AE,
  triagdn: 0x25BC,
  triaglf: 0x25C4,
  triagrt: 0x25BA,
  triagup: 0x25B2,
  ts: 0x2A6,
  tsadi: 0x5E6,
  tsadidagesh: 0xFB46,
  tsadidageshhebrew: 0xFB46,
  tsadihebrew: 0x5E6,
  tsecyrillic: 0x446,
  Tsecyrillic: 0x426,
  tsere: 0x5B5,
  tsere12: 0x5B5,
  tsere1e: 0x5B5,
  tsere2b: 0x5B5,
  tserehebrew: 0x5B5,
  tserenarrowhebrew: 0x5B5,
  tserequarterhebrew: 0x5B5,
  tserewidehebrew: 0x5B5,
  tshecyrillic: 0x45B,
  Tshecyrillic: 0x40B,
  Tsmall: 0xF774,
  tsuperior: 0xF6F3,
  ttabengali: 0x99F,
  ttadeva: 0x91F,
  ttagujarati: 0xA9F,
  ttagurmukhi: 0xA1F,
  tteharabic: 0x679,
  ttehfinalarabic: 0xFB67,
  ttehinitialarabic: 0xFB68,
  ttehmedialarabic: 0xFB69,
  tthabengali: 0x9A0,
  tthadeva: 0x920,
  tthagujarati: 0xAA0,
  tthagurmukhi: 0xA20,
  tturned: 0x287,
  tuhiragana: 0x3064,
  tukatakana: 0x30C4,
  tukatakanahalfwidth: 0xFF82,
  tusmallhiragana: 0x3063,
  tusmallkatakana: 0x30C3,
  tusmallkatakanahalfwidth: 0xFF6F,
  twelvecircle: 0x246B,
  twelveparen: 0x247F,
  twelveperiod: 0x2493,
  twelveroman: 0x217B,
  Twelveroman: 0x216B,
  twentycircle: 0x2473,
  twentyhangzhou: 0x5344,
  twentyparen: 0x2487,
  twentyperiod: 0x249B,
  two: 0x32,
  twoarabic: 0x662,
  twobengali: 0x9E8,
  twocircle: 0x2461,
  twocircleinversesansserif: 0x278B,
  twodeva: 0x968,
  twodotenleader: 0x2025,
  twodotleader: 0x2025,
  twodotleadervertical: 0xFE30,
  twogujarati: 0xAE8,
  twogurmukhi: 0xA68,
  twohackarabic: 0x662,
  twohangzhou: 0x3022,
  twoideographicparen: 0x3221,
  twoinferior: 0x2082,
  twomonospace: 0xFF12,
  twonumeratorbengali: 0x9F5,
  twooldstyle: 0xF732,
  twoparen: 0x2475,
  twoperiod: 0x2489,
  twopersian: 0x6F2,
  tworoman: 0x2171,
  Tworoman: 0x2161,
  twostroke: 0x1BB,
  twosuperior: 0xB2,
  twothai: 0xE52,
  twothirds: 0x2154,
  u: 0x75,
  U: 0x55,
  uacute: 0xFA,
  Uacute: 0xDA,
  Uacutesmall: 0xF7FA,
  ubar: 0x289,
  ubengali: 0x989,
  ubopomofo: 0x3128,
  ubreve: 0x16D,
  Ubreve: 0x16C,
  ucaron: 0x1D4,
  Ucaron: 0x1D3,
  ucircle: 0x24E4,
  Ucircle: 0x24CA,
  ucircumflex: 0xFB,
  Ucircumflex: 0xDB,
  ucircumflexbelow: 0x1E77,
  Ucircumflexbelow: 0x1E76,
  Ucircumflexsmall: 0xF7FB,
  ucyrillic: 0x443,
  Ucyrillic: 0x423,
  udattadeva: 0x951,
  udblacute: 0x171,
  Udblacute: 0x170,
  udblgrave: 0x215,
  Udblgrave: 0x214,
  udeva: 0x909,
  udieresis: 0xFC,
  Udieresis: 0xDC,
  udieresisacute: 0x1D8,
  Udieresisacute: 0x1D7,
  udieresisbelow: 0x1E73,
  Udieresisbelow: 0x1E72,
  udieresiscaron: 0x1DA,
  Udieresiscaron: 0x1D9,
  udieresiscyrillic: 0x4F1,
  Udieresiscyrillic: 0x4F0,
  udieresisgrave: 0x1DC,
  Udieresisgrave: 0x1DB,
  udieresismacron: 0x1D6,
  Udieresismacron: 0x1D5,
  Udieresissmall: 0xF7FC,
  udotbelow: 0x1EE5,
  Udotbelow: 0x1EE4,
  ugrave: 0xF9,
  Ugrave: 0xD9,
  Ugravesmall: 0xF7F9,
  ugujarati: 0xA89,
  ugurmukhi: 0xA09,
  uhiragana: 0x3046,
  uhookabove: 0x1EE7,
  Uhookabove: 0x1EE6,
  uhorn: 0x1B0,
  Uhorn: 0x1AF,
  uhornacute: 0x1EE9,
  Uhornacute: 0x1EE8,
  uhorndotbelow: 0x1EF1,
  Uhorndotbelow: 0x1EF0,
  uhorngrave: 0x1EEB,
  Uhorngrave: 0x1EEA,
  uhornhookabove: 0x1EED,
  Uhornhookabove: 0x1EEC,
  uhorntilde: 0x1EEF,
  Uhorntilde: 0x1EEE,
  uhungarumlaut: 0x171,
  Uhungarumlaut: 0x170,
  uhungarumlautcyrillic: 0x4F3,
  Uhungarumlautcyrillic: 0x4F2,
  uinvertedbreve: 0x217,
  Uinvertedbreve: 0x216,
  ukatakana: 0x30A6,
  ukatakanahalfwidth: 0xFF73,
  ukcyrillic: 0x479,
  Ukcyrillic: 0x478,
  ukorean: 0x315C,
  umacron: 0x16B,
  Umacron: 0x16A,
  umacroncyrillic: 0x4EF,
  Umacroncyrillic: 0x4EE,
  umacrondieresis: 0x1E7B,
  Umacrondieresis: 0x1E7A,
  umatragurmukhi: 0xA41,
  umonospace: 0xFF55,
  Umonospace: 0xFF35,
  underscore: 0x5F,
  underscoredbl: 0x2017,
  underscoremonospace: 0xFF3F,
  underscorevertical: 0xFE33,
  underscorewavy: 0xFE4F,
  union: 0x222A,
  universal: 0x2200,
  uogonek: 0x173,
  Uogonek: 0x172,
  uparen: 0x24B0,
  upblock: 0x2580,
  upperdothebrew: 0x5C4,
  upsilon: 0x3C5,
  Upsilon: 0x3A5,
  Upsilon1: 0x3D2,
  Upsilonacutehooksymbolgreek: 0x3D3,
  Upsilonafrican: 0x1B1,
  upsilondieresis: 0x3CB,
  Upsilondieresis: 0x3AB,
  Upsilondieresishooksymbolgreek: 0x3D4,
  upsilondieresistonos: 0x3B0,
  Upsilonhooksymbol: 0x3D2,
  upsilonlatin: 0x28A,
  upsilontonos: 0x3CD,
  Upsilontonos: 0x38E,
  uptackbelowcmb: 0x31D,
  uptackmod: 0x2D4,
  uragurmukhi: 0xA73,
  uring: 0x16F,
  Uring: 0x16E,
  ushortcyrillic: 0x45E,
  Ushortcyrillic: 0x40E,
  Usmall: 0xF775,
  usmallhiragana: 0x3045,
  usmallkatakana: 0x30A5,
  usmallkatakanahalfwidth: 0xFF69,
  ustraightcyrillic: 0x4AF,
  Ustraightcyrillic: 0x4AE,
  ustraightstrokecyrillic: 0x4B1,
  Ustraightstrokecyrillic: 0x4B0,
  utilde: 0x169,
  Utilde: 0x168,
  utildeacute: 0x1E79,
  Utildeacute: 0x1E78,
  utildebelow: 0x1E75,
  Utildebelow: 0x1E74,
  uubengali: 0x98A,
  uudeva: 0x90A,
  uugujarati: 0xA8A,
  uugurmukhi: 0xA0A,
  uumatragurmukhi: 0xA42,
  uuvowelsignbengali: 0x9C2,
  uuvowelsigndeva: 0x942,
  uuvowelsigngujarati: 0xAC2,
  uvowelsignbengali: 0x9C1,
  uvowelsigndeva: 0x941,
  uvowelsigngujarati: 0xAC1,
  v: 0x76,
  V: 0x56,
  vadeva: 0x935,
  vagujarati: 0xAB5,
  vagurmukhi: 0xA35,
  vakatakana: 0x30F7,
  vav: 0x5D5,
  vavdagesh: 0xFB35,
  vavdagesh65: 0xFB35,
  vavdageshhebrew: 0xFB35,
  vavhebrew: 0x5D5,
  vavholam: 0xFB4B,
  vavholamhebrew: 0xFB4B,
  vavvavhebrew: 0x5F0,
  vavyodhebrew: 0x5F1,
  vcircle: 0x24E5,
  Vcircle: 0x24CB,
  vdotbelow: 0x1E7F,
  Vdotbelow: 0x1E7E,
  vecyrillic: 0x432,
  Vecyrillic: 0x412,
  veharabic: 0x6A4,
  vehfinalarabic: 0xFB6B,
  vehinitialarabic: 0xFB6C,
  vehmedialarabic: 0xFB6D,
  vekatakana: 0x30F9,
  venus: 0x2640,
  verticalbar: 0x7C,
  verticallineabovecmb: 0x30D,
  verticallinebelowcmb: 0x329,
  verticallinelowmod: 0x2CC,
  verticallinemod: 0x2C8,
  vewarmenian: 0x57E,
  Vewarmenian: 0x54E,
  vhook: 0x28B,
  Vhook: 0x1B2,
  vikatakana: 0x30F8,
  viramabengali: 0x9CD,
  viramadeva: 0x94D,
  viramagujarati: 0xACD,
  visargabengali: 0x983,
  visargadeva: 0x903,
  visargagujarati: 0xA83,
  vmonospace: 0xFF56,
  Vmonospace: 0xFF36,
  voarmenian: 0x578,
  Voarmenian: 0x548,
  voicediterationhiragana: 0x309E,
  voicediterationkatakana: 0x30FE,
  voicedmarkkana: 0x309B,
  voicedmarkkanahalfwidth: 0xFF9E,
  vokatakana: 0x30FA,
  vparen: 0x24B1,
  Vsmall: 0xF776,
  vtilde: 0x1E7D,
  Vtilde: 0x1E7C,
  vturned: 0x28C,
  vuhiragana: 0x3094,
  vukatakana: 0x30F4,
  w: 0x77,
  W: 0x57,
  wacute: 0x1E83,
  Wacute: 0x1E82,
  waekorean: 0x3159,
  wahiragana: 0x308F,
  wakatakana: 0x30EF,
  wakatakanahalfwidth: 0xFF9C,
  wakorean: 0x3158,
  wasmallhiragana: 0x308E,
  wasmallkatakana: 0x30EE,
  wattosquare: 0x3357,
  wavedash: 0x301C,
  wavyunderscorevertical: 0xFE34,
  wawarabic: 0x648,
  wawfinalarabic: 0xFEEE,
  wawhamzaabovearabic: 0x624,
  wawhamzaabovefinalarabic: 0xFE86,
  wbsquare: 0x33DD,
  wcircle: 0x24E6,
  Wcircle: 0x24CC,
  wcircumflex: 0x175,
  Wcircumflex: 0x174,
  wdieresis: 0x1E85,
  Wdieresis: 0x1E84,
  wdotaccent: 0x1E87,
  Wdotaccent: 0x1E86,
  wdotbelow: 0x1E89,
  Wdotbelow: 0x1E88,
  wehiragana: 0x3091,
  weierstrass: 0x2118,
  wekatakana: 0x30F1,
  wekorean: 0x315E,
  weokorean: 0x315D,
  wgrave: 0x1E81,
  Wgrave: 0x1E80,
  whitebullet: 0x25E6,
  whitecircle: 0x25CB,
  whitecircleinverse: 0x25D9,
  whitecornerbracketleft: 0x300E,
  whitecornerbracketleftvertical: 0xFE43,
  whitecornerbracketright: 0x300F,
  whitecornerbracketrightvertical: 0xFE44,
  whitediamond: 0x25C7,
  whitediamondcontainingblacksmalldiamond: 0x25C8,
  whitedownpointingsmalltriangle: 0x25BF,
  whitedownpointingtriangle: 0x25BD,
  whiteleftpointingsmalltriangle: 0x25C3,
  whiteleftpointingtriangle: 0x25C1,
  whitelenticularbracketleft: 0x3016,
  whitelenticularbracketright: 0x3017,
  whiterightpointingsmalltriangle: 0x25B9,
  whiterightpointingtriangle: 0x25B7,
  whitesmallsquare: 0x25AB,
  whitesmilingface: 0x263A,
  whitesquare: 0x25A1,
  whitestar: 0x2606,
  whitetelephone: 0x260F,
  whitetortoiseshellbracketleft: 0x3018,
  whitetortoiseshellbracketright: 0x3019,
  whiteuppointingsmalltriangle: 0x25B5,
  whiteuppointingtriangle: 0x25B3,
  wihiragana: 0x3090,
  wikatakana: 0x30F0,
  wikorean: 0x315F,
  wmonospace: 0xFF57,
  Wmonospace: 0xFF37,
  wohiragana: 0x3092,
  wokatakana: 0x30F2,
  wokatakanahalfwidth: 0xFF66,
  won: 0x20A9,
  wonmonospace: 0xFFE6,
  wowaenthai: 0xE27,
  wparen: 0x24B2,
  wring: 0x1E98,
  Wsmall: 0xF777,
  wsuperior: 0x2B7,
  wturned: 0x28D,
  wynn: 0x1BF,
  x: 0x78,
  X: 0x58,
  xabovecmb: 0x33D,
  xbopomofo: 0x3112,
  xcircle: 0x24E7,
  Xcircle: 0x24CD,
  xdieresis: 0x1E8D,
  Xdieresis: 0x1E8C,
  xdotaccent: 0x1E8B,
  Xdotaccent: 0x1E8A,
  xeharmenian: 0x56D,
  Xeharmenian: 0x53D,
  xi: 0x3BE,
  Xi: 0x39E,
  xmonospace: 0xFF58,
  Xmonospace: 0xFF38,
  xparen: 0x24B3,
  Xsmall: 0xF778,
  xsuperior: 0x2E3,
  y: 0x79,
  Y: 0x59,
  yaadosquare: 0x334E,
  yabengali: 0x9AF,
  yacute: 0xFD,
  Yacute: 0xDD,
  Yacutesmall: 0xF7FD,
  yadeva: 0x92F,
  yaekorean: 0x3152,
  yagujarati: 0xAAF,
  yagurmukhi: 0xA2F,
  yahiragana: 0x3084,
  yakatakana: 0x30E4,
  yakatakanahalfwidth: 0xFF94,
  yakorean: 0x3151,
  yamakkanthai: 0xE4E,
  yasmallhiragana: 0x3083,
  yasmallkatakana: 0x30E3,
  yasmallkatakanahalfwidth: 0xFF6C,
  yatcyrillic: 0x463,
  Yatcyrillic: 0x462,
  ycircle: 0x24E8,
  Ycircle: 0x24CE,
  ycircumflex: 0x177,
  Ycircumflex: 0x176,
  ydieresis: 0xFF,
  Ydieresis: 0x178,
  Ydieresissmall: 0xF7FF,
  ydotaccent: 0x1E8F,
  Ydotaccent: 0x1E8E,
  ydotbelow: 0x1EF5,
  Ydotbelow: 0x1EF4,
  yeharabic: 0x64A,
  yehbarreearabic: 0x6D2,
  yehbarreefinalarabic: 0xFBAF,
  yehfinalarabic: 0xFEF2,
  yehhamzaabovearabic: 0x626,
  yehhamzaabovefinalarabic: 0xFE8A,
  yehhamzaaboveinitialarabic: 0xFE8B,
  yehhamzaabovemedialarabic: 0xFE8C,
  yehinitialarabic: 0xFEF3,
  yehmedialarabic: 0xFEF4,
  yehmeeminitialarabic: 0xFCDD,
  yehmeemisolatedarabic: 0xFC58,
  yehnoonfinalarabic: 0xFC94,
  yehthreedotsbelowarabic: 0x6D1,
  yekorean: 0x3156,
  yen: 0xA5,
  yenmonospace: 0xFFE5,
  yeokorean: 0x3155,
  yeorinhieuhkorean: 0x3186,
  yerahbenyomohebrew: 0x5AA,
  yerahbenyomolefthebrew: 0x5AA,
  yericyrillic: 0x44B,
  Yericyrillic: 0x42B,
  yerudieresiscyrillic: 0x4F9,
  Yerudieresiscyrillic: 0x4F8,
  yesieungkorean: 0x3181,
  yesieungpansioskorean: 0x3183,
  yesieungsioskorean: 0x3182,
  yetivhebrew: 0x59A,
  ygrave: 0x1EF3,
  Ygrave: 0x1EF2,
  yhook: 0x1B4,
  Yhook: 0x1B3,
  yhookabove: 0x1EF7,
  Yhookabove: 0x1EF6,
  yiarmenian: 0x575,
  Yiarmenian: 0x545,
  yicyrillic: 0x457,
  Yicyrillic: 0x407,
  yikorean: 0x3162,
  yinyang: 0x262F,
  yiwnarmenian: 0x582,
  Yiwnarmenian: 0x552,
  ymonospace: 0xFF59,
  Ymonospace: 0xFF39,
  yod: 0x5D9,
  yoddagesh: 0xFB39,
  yoddageshhebrew: 0xFB39,
  yodhebrew: 0x5D9,
  yodyodhebrew: 0x5F2,
  yodyodpatahhebrew: 0xFB1F,
  yohiragana: 0x3088,
  yoikorean: 0x3189,
  yokatakana: 0x30E8,
  yokatakanahalfwidth: 0xFF96,
  yokorean: 0x315B,
  yosmallhiragana: 0x3087,
  yosmallkatakana: 0x30E7,
  yosmallkatakanahalfwidth: 0xFF6E,
  yotgreek: 0x3F3,
  yoyaekorean: 0x3188,
  yoyakorean: 0x3187,
  yoyakthai: 0xE22,
  yoyingthai: 0xE0D,
  yparen: 0x24B4,
  ypogegrammeni: 0x37A,
  ypogegrammenigreekcmb: 0x345,
  yr: 0x1A6,
  yring: 0x1E99,
  Ysmall: 0xF779,
  ysuperior: 0x2B8,
  ytilde: 0x1EF9,
  Ytilde: 0x1EF8,
  yturned: 0x28E,
  yuhiragana: 0x3086,
  yuikorean: 0x318C,
  yukatakana: 0x30E6,
  yukatakanahalfwidth: 0xFF95,
  yukorean: 0x3160,
  yusbigcyrillic: 0x46B,
  Yusbigcyrillic: 0x46A,
  yusbigiotifiedcyrillic: 0x46D,
  Yusbigiotifiedcyrillic: 0x46C,
  yuslittlecyrillic: 0x467,
  Yuslittlecyrillic: 0x466,
  yuslittleiotifiedcyrillic: 0x469,
  Yuslittleiotifiedcyrillic: 0x468,
  yusmallhiragana: 0x3085,
  yusmallkatakana: 0x30E5,
  yusmallkatakanahalfwidth: 0xFF6D,
  yuyekorean: 0x318B,
  yuyeokorean: 0x318A,
  yyabengali: 0x9DF,
  yyadeva: 0x95F,
  z: 0x7A,
  Z: 0x5A,
  zaarmenian: 0x566,
  Zaarmenian: 0x536,
  zacute: 0x17A,
  Zacute: 0x179,
  zadeva: 0x95B,
  zagurmukhi: 0xA5B,
  zaharabic: 0x638,
  zahfinalarabic: 0xFEC6,
  zahinitialarabic: 0xFEC7,
  zahiragana: 0x3056,
  zahmedialarabic: 0xFEC8,
  zainarabic: 0x632,
  zainfinalarabic: 0xFEB0,
  zakatakana: 0x30B6,
  zaqefgadolhebrew: 0x595,
  zaqefqatanhebrew: 0x594,
  zarqahebrew: 0x598,
  zayin: 0x5D6,
  zayindagesh: 0xFB36,
  zayindageshhebrew: 0xFB36,
  zayinhebrew: 0x5D6,
  zbopomofo: 0x3117,
  zcaron: 0x17E,
  Zcaron: 0x17D,
  Zcaronsmall: 0xF6FF,
  zcircle: 0x24E9,
  Zcircle: 0x24CF,
  zcircumflex: 0x1E91,
  Zcircumflex: 0x1E90,
  zcurl: 0x291,
  zdot: 0x17C,
  Zdot: 0x17B,
  zdotaccent: 0x17C,
  Zdotaccent: 0x17B,
  zdotbelow: 0x1E93,
  Zdotbelow: 0x1E92,
  zecyrillic: 0x437,
  Zecyrillic: 0x417,
  zedescendercyrillic: 0x499,
  Zedescendercyrillic: 0x498,
  zedieresiscyrillic: 0x4DF,
  Zedieresiscyrillic: 0x4DE,
  zehiragana: 0x305C,
  zekatakana: 0x30BC,
  zero: 0x30,
  zeroarabic: 0x660,
  zerobengali: 0x9E6,
  zerodeva: 0x966,
  zerogujarati: 0xAE6,
  zerogurmukhi: 0xA66,
  zerohackarabic: 0x660,
  zeroinferior: 0x2080,
  zeromonospace: 0xFF10,
  zerooldstyle: 0xF730,
  zeropersian: 0x6F0,
  zerosuperior: 0x2070,
  zerothai: 0xE50,
  zerowidthjoiner: 0xFEFF,
  zerowidthnonjoiner: 0x200C,
  zerowidthspace: 0x200B,
  zeta: 0x3B6,
  Zeta: 0x396,
  zhbopomofo: 0x3113,
  zhearmenian: 0x56A,
  Zhearmenian: 0x53A,
  zhebrevecyrillic: 0x4C2,
  Zhebrevecyrillic: 0x4C1,
  zhecyrillic: 0x436,
  Zhecyrillic: 0x416,
  zhedescendercyrillic: 0x497,
  Zhedescendercyrillic: 0x496,
  zhedieresiscyrillic: 0x4DD,
  Zhedieresiscyrillic: 0x4DC,
  zihiragana: 0x3058,
  zikatakana: 0x30B8,
  zinorhebrew: 0x5AE,
  zlinebelow: 0x1E95,
  Zlinebelow: 0x1E94,
  zmonospace: 0xFF5A,
  Zmonospace: 0xFF3A,
  zohiragana: 0x305E,
  zokatakana: 0x30BE,
  zparen: 0x24B5,
  zretroflexhook: 0x290,
  Zsmall: 0xF77A,
  zstroke: 0x1B6,
  Zstroke: 0x1B5,
  zuhiragana: 0x305A,
  zukatakana: 0x30BA,
  // Multi-codepoint entries (Hebrew combining sequences, etc.)
  dalethatafpatah: 'דֲ',
  dalethatafpatahhebrew: 'דֲ',
  dalethatafsegol: 'דֱ',
  dalethatafsegolhebrew: 'דֱ',
  dalethiriq: 'דִ',
  dalethiriqhebrew: 'דִ',
  daletholam: 'דֹ',
  daletholamhebrew: 'דֹ',
  daletpatah: 'דַ',
  daletpatahhebrew: 'דַ',
  daletqamats: 'דָ',
  daletqamatshebrew: 'דָ',
  daletqubuts: 'דֻ',
  daletqubutshebrew: 'דֻ',
  daletsegol: 'דֶ',
  daletsegolhebrew: 'דֶ',
  daletsheva: 'דְ',
  daletshevahebrew: 'דְ',
  dalettsere: 'דֵ',
  dalettserehebrew: 'דֵ',
  finalkafqamats: 'ךָ',
  finalkafqamatshebrew: 'ךָ',
  finalkafsheva: 'ךְ',
  finalkafshevahebrew: 'ךְ',
  hamzadammaarabic: 'ءُ',
  hamzadammatanarabic: 'ءٌ',
  hamzafathaarabic: 'ءَ',
  hamzafathatanarabic: 'ءً',
  hamzalowkasraarabic: 'ءِ',
  hamzalowkasratanarabic: 'ءٍ',
  hamzasukunarabic: 'ءْ',
  lamedholam: 'לֹ',
  lamedholamdagesh: 'לֹּ',
  lamedholamdageshhebrew: 'לֹּ',
  lamedholamhebrew: 'לֹ',
  lammeemjeeminitialarabic: 'ﻟﻤﺠ',
  lammeemkhahinitialarabic: 'ﻟﻤﺨ',
  noonhehinitialarabic: 'ﻧﻬ',
  qofhatafpatah: 'קֲ',
  qofhatafpatahhebrew: 'קֲ',
  qofhatafsegol: 'קֱ',
  qofhatafsegolhebrew: 'קֱ',
  qofhiriq: 'קִ',
  qofhiriqhebrew: 'קִ',
  qofholam: 'קֹ',
  qofholamhebrew: 'קֹ',
  qofpatah: 'קַ',
  qofpatahhebrew: 'קַ',
  qofqamats: 'קָ',
  qofqamatshebrew: 'קָ',
  qofqubuts: 'קֻ',
  qofqubutshebrew: 'קֻ',
  qofsegol: 'קֶ',
  qofsegolhebrew: 'קֶ',
  qofsheva: 'קְ',
  qofshevahebrew: 'קְ',
  qoftsere: 'קֵ',
  qoftserehebrew: 'קֵ',
  rehyehaleflamarabic: 'رﻳﺎل',
  reshhatafpatah: 'רֲ',
  reshhatafpatahhebrew: 'רֲ',
  reshhatafsegol: 'רֱ',
  reshhatafsegolhebrew: 'רֱ',
  reshhiriq: 'רִ',
  reshhiriqhebrew: 'רִ',
  reshholam: 'רֹ',
  reshholamhebrew: 'רֹ',
  reshpatah: 'רַ',
  reshpatahhebrew: 'רַ',
  reshqamats: 'רָ',
  reshqamatshebrew: 'רָ',
  reshqubuts: 'רֻ',
  reshqubutshebrew: 'רֻ',
  reshsegol: 'רֶ',
  reshsegolhebrew: 'רֶ',
  reshsheva: 'רְ',
  reshshevahebrew: 'רְ',
  reshtsere: 'רֵ',
  reshtserehebrew: 'רֵ',
  shaddafathatanarabic: 'ًّ',
  tchehmeeminitialarabic: 'ﭼﻤ',
};

/**
 * Reverse AGL: unicode codepoint → glyph name (only matches single-codepoint entries).
 * Built lazily on first call because the forward map has ~4300 entries.
 *
 * @type {Map<number, string>|null}
 */
let aglReverseMap = null;
export function unicodeToAGL(cp) {
  if (aglReverseMap === null) {
    aglReverseMap = new Map();
    for (const [name, uni] of Object.entries(aglMap)) {
      if (typeof uni === 'number' && !aglReverseMap.has(uni)) aglReverseMap.set(uni, name);
    }
  }
  return aglReverseMap.get(cp) || null;
}

/**
 * AGL glyph name → Unicode string, handling period suffixes and underscore ligatures.
 * @param {string} glyphName
 */
export function aglLookup(glyphName) {
  // Direct lookup — value is a number (single codepoint) or string (multi-codepoint)
  const direct = aglMap[glyphName];
  if (direct !== undefined) return typeof direct === 'string' ? direct : String.fromCodePoint(direct);

  // Strip period suffix (e.g. "one.oldstyle" → "one")
  const dotIdx = glyphName.indexOf('.');
  if (dotIdx > 0) {
    const baseName = glyphName.substring(0, dotIdx);
    const base = aglMap[baseName];
    if (base !== undefined) return typeof base === 'string' ? base : String.fromCodePoint(base);
  }

  // "uni" prefix: uniXXXX or uniXXXXYYYY... (groups of 4 hex digits)
  const uniMatch = /^uni([0-9A-Fa-f]{4,})$/.exec(glyphName);
  if (uniMatch) {
    const hex = uniMatch[1];
    if (hex.length % 4 === 0) {
      let result = '';
      for (let i = 0; i < hex.length; i += 4) {
        result += String.fromCodePoint(parseInt(hex.substring(i, i + 4), 16));
      }
      return result;
    }
  }

  // PostScript "C" prefix: C0065 → charCode 65 → "A". Some PDF producers (e.g., Bosch
  // manuals) use /Differences with glyph names like C0097, C0065, C0034 where the number
  // is the standard character code. Map printable ASCII range (32-255) to their character.
  const cMatch = /^C(\d{1,5})$/.exec(glyphName);
  if (cMatch) {
    const code = Number(cMatch[1]);
    if (code >= 32 && code <= 255) return String.fromCharCode(code);
  }

  // Underscore ligatures (e.g. "f_f_i" → "ffi")
  if (glyphName.includes('_')) {
    const parts = glyphName.split('_');
    let result = '';
    for (const part of parts) {
      const val = aglMap[part];
      if (val === undefined) return null;
      result += typeof val === 'string' ? val : String.fromCodePoint(val);
    }
    return result;
  }

  return null;
}

// Symbol font charCode (32–254) → Unicode codepoint mapping.
// Derived from the Adobe Symbol Encoding / Unicode mapping (adobe-glyph-list).
// Used to correct broken ToUnicode CMaps that map Symbol charCodes to MacRoman/Latin-1
// instead of the correct mathematical/Greek Unicode codepoints.
// E.g., Symbol charCode 0xEA (⌠ integral top) incorrectly mapped to U+0152 (Œ MacRoman).

export const symbolToUnicode = {
  32: 0x0020,
  33: 0x0021,
  34: 0x2200,
  35: 0x0023,
  36: 0x2203,
  37: 0x0025,
  38: 0x0026,
  39: 0x220B,
  40: 0x0028,
  41: 0x0029,
  42: 0x2217,
  43: 0x002B,
  44: 0x002C,
  45: 0x2212,
  46: 0x002E,
  47: 0x002F,
  48: 0x0030,
  49: 0x0031,
  50: 0x0032,
  51: 0x0033,
  52: 0x0034,
  53: 0x0035,
  54: 0x0036,
  55: 0x0037,
  56: 0x0038,
  57: 0x0039,
  58: 0x003A,
  59: 0x003B,
  60: 0x003C,
  61: 0x003D,
  62: 0x003E,
  63: 0x003F,
  64: 0x2245,
  65: 0x0391,
  66: 0x0392,
  67: 0x03A7,
  68: 0x0394,
  69: 0x0395,
  70: 0x03A6,
  71: 0x0393,
  72: 0x0397,
  73: 0x0399,
  74: 0x03D1,
  75: 0x039A,
  76: 0x039B,
  77: 0x039C,
  78: 0x039D,
  79: 0x039F,
  80: 0x03A0,
  81: 0x0398,
  82: 0x03A1,
  83: 0x03A3,
  84: 0x03A4,
  85: 0x03A5,
  86: 0x03C2,
  87: 0x03A9,
  88: 0x039E,
  89: 0x03A8,
  90: 0x0396,
  91: 0x005B,
  92: 0x2234,
  93: 0x005D,
  94: 0x22A5,
  95: 0x005F,
  96: 0xF8E5,
  97: 0x03B1,
  98: 0x03B2,
  99: 0x03C7,
  100: 0x03B4,
  101: 0x03B5,
  102: 0x03C6,
  103: 0x03B3,
  104: 0x03B7,
  105: 0x03B9,
  106: 0x03D5,
  107: 0x03BA,
  108: 0x03BB,
  109: 0x03BC,
  110: 0x03BD,
  111: 0x03BF,
  112: 0x03C0,
  113: 0x03B8,
  114: 0x03C1,
  115: 0x03C3,
  116: 0x03C4,
  117: 0x03C5,
  118: 0x03D6,
  119: 0x03C9,
  120: 0x03BE,
  121: 0x03C8,
  122: 0x03B6,
  123: 0x007B,
  124: 0x007C,
  125: 0x007D,
  126: 0x223C,
  160: 0x20AC,
  161: 0x03D2,
  162: 0x2032,
  163: 0x2264,
  164: 0x2044,
  165: 0x221E,
  166: 0x0192,
  167: 0x2663,
  168: 0x2666,
  169: 0x2665,
  170: 0x2660,
  171: 0x2194,
  172: 0x2190,
  173: 0x2191,
  174: 0x2192,
  175: 0x2193,
  176: 0x00B0,
  177: 0x00B1,
  178: 0x2033,
  179: 0x2265,
  180: 0x00D7,
  181: 0x221D,
  182: 0x2202,
  183: 0x2022,
  184: 0x00F7,
  185: 0x2260,
  186: 0x2261,
  187: 0x2248,
  188: 0x2026,
  189: 0x23D0,
  190: 0x23AF,
  191: 0x21B5,
  192: 0x2135,
  193: 0x2111,
  194: 0x211C,
  195: 0x2118,
  196: 0x2297,
  197: 0x2295,
  198: 0x2205,
  199: 0x2229,
  200: 0x222A,
  201: 0x2283,
  202: 0x2287,
  203: 0x2284,
  204: 0x2282,
  205: 0x2286,
  206: 0x2208,
  207: 0x2209,
  208: 0x2220,
  209: 0x2207,
  210: 0x00AE,
  211: 0x00A9,
  212: 0x2122,
  213: 0x220F,
  214: 0x221A,
  215: 0x22C5,
  216: 0x00AC,
  217: 0x2227,
  218: 0x2228,
  219: 0x21D4,
  220: 0x21D0,
  221: 0x21D1,
  222: 0x21D2,
  223: 0x21D3,
  224: 0x25CA,
  225: 0x2329,
  226: 0x00AE,
  227: 0x00A9,
  228: 0x2122,
  229: 0x2211,
  230: 0x239B,
  231: 0x239C,
  232: 0x239D,
  233: 0x23A1,
  234: 0x23A2,
  235: 0x23A3,
  236: 0x23A7,
  237: 0x23A8,
  238: 0x23A9,
  239: 0x23AA,
  241: 0x232A,
  242: 0x222B,
  243: 0x2320,
  244: 0x23AE,
  245: 0x2321,
  246: 0x239E,
  247: 0x239F,
  248: 0x23A0,
  249: 0x23A4,
  250: 0x23A5,
  251: 0x23A6,
  252: 0x23AB,
  253: 0x23AC,
  254: 0x23AD,
};

export const wingdingsToUnicode = {
  32: 0x0020, // space
  33: 0x270F, // ✏ pencil
  34: 0x2702, // ✂ scissors
  35: 0x2701, // ✁ upper-blade scissors
  36: 0x1F453, // 👓 eyeglasses
  37: 0x1F514, // 🔔 bell
  38: 0x1F4D6, // 📖 book
  39: 0x1F56F, // 🕯 candle
  40: 0x1F4DE, // 📞 telephone receiver
  41: 0x2706, // ✆ telephone location sign
  42: 0x1F4EA, // 📪 closed mailbox
  43: 0x1F4EB, // 📫 open mailbox
  44: 0x1F4EC, // 📬 open mailbox with raised flag
  45: 0x1F4ED, // 📭 open mailbox with lowered flag
  46: 0x1F5CF, // 🗏 page
  47: 0x1F5D0, // 🗐 pages
  48: 0x1F5C4, // 🗄 file cabinet
  49: 0x231B, // ⌛ hourglass
  50: 0x2328, // ⌨ keyboard
  51: 0x1F5B1, // 🖱 mouse
  52: 0x1F5B2, // 🖲 trackball
  53: 0x1F4BB, // 💻 computer
  54: 0x1F4C0, // 💀 — actually hard disk
  55: 0x1F5AB, // 🖫 floppy disk (3.5")
  56: 0x1F5AC, // 🖬 floppy disk (5.25")
  57: 0x270D, // ✍ writing hand
  58: 0x1F58E, // 🖎 — left writing hand
  59: 0x270C, // ✌ victory hand
  60: 0x1F44C, // 👌 OK hand
  61: 0x1F44D, // 👍 thumbs up
  62: 0x1F44E, // 👎 thumbs down
  63: 0x261C, // ☜ left pointing
  64: 0x261E, // ☞ right pointing
  65: 0x261D, // ☝ up pointing
  66: 0x261F, // ☟ down pointing
  67: 0x270B, // ✋ raised hand
  68: 0x263A, // ☺ smiley
  69: 0x1F610, // 😐 neutral face
  70: 0x2639, // ☹ frowning face
  71: 0x1F4A3, // 💣 bomb
  72: 0x2620, // ☠ skull and crossbones
  73: 0x1F3F3, // 🏳 white flag
  74: 0x1F3F1, // 🏱 pennant
  75: 0x2708, // ✈ airplane
  76: 0x263C, // ☼ sun
  77: 0x1F4A7, // 💧 droplet
  78: 0x2744, // ❄ snowflake
  79: 0x271E, // ✞ cross
  80: 0x2720, // ✠ Maltese cross
  81: 0x2721, // ✡ Star of David
  82: 0x262A, // ☪ star and crescent
  83: 0x262F, // ☯ yin yang
  84: 0x0950, // ॐ Om
  85: 0x2638, // ☸ wheel of dharma
  86: 0x2648, // ♈ Aries
  87: 0x2649, // ♉ Taurus
  88: 0x264A, // ♊ Gemini
  89: 0x264B, // ♋ Cancer
  90: 0x264C, // ♌ Leo
  91: 0x264D, // ♍ Virgo
  92: 0x264E, // ♎ Libra
  93: 0x264F, // ♏ Scorpio
  94: 0x2650, // ♐ Sagittarius
  95: 0x2651, // ♑ Capricorn
  96: 0x2652, // ♒ Aquarius
  97: 0x2653, // ♓ Pisces
  // 98-111: various symbols
  98: 0x0026,
  99: 0x0026,
  100: 0x25CF,
  101: 0x25CB,
  102: 0x1F549,
  103: 0x25C6,
  104: 0x25C7,
  105: 0x25A0,
  106: 0x25A1,
  107: 0x25A1,
  108: 0x2751,
  109: 0x2752,
  110: 0x2B27,
  111: 0x2327,
  // 112-124: various
  112: 0x2BB9,
  113: 0x2318,
  114: 0x1F3F5,
  115: 0x1F3F6,
  116: 0x2756,
  117: 0x1F568,
  118: 0x1F569,
  119: 0x1F56A,
  120: 0x1F56B,
  121: 0x1F56C,
  122: 0x1F56D,
  123: 0x24EA,
  124: 0x2460,
  125: 0x2461,
  126: 0x2462,
  // 128-137: circled numbers 4-10, negative circled numbers
  128: 0x2463,
  129: 0x2464,
  130: 0x2465,
  131: 0x2466,
  132: 0x2467,
  133: 0x2468,
  134: 0x2469,
  135: 0x2776,
  136: 0x2777,
  137: 0x2778,
  138: 0x2779,
  139: 0x277A,
  140: 0x277B,
  141: 0x277C,
  142: 0x277D,
  143: 0x277E,
  144: 0x277F,
  // 145-181: arrows and special symbols
  145: 0x1F662,
  146: 0x1F660,
  147: 0x1F661,
  148: 0x1F663,
  149: 0x1F65E,
  150: 0x1F65C,
  151: 0x1F65D,
  152: 0x1F65F,
  153: 0x00B7,
  154: 0x2022,
  155: 0x25AA,
  156: 0x25FE,
  157: 0x25B2,
  158: 0x25BC,
  159: 0x25C4,
  160: 0x25BA,
  161: 0x2605,
  162: 0x2736,
  163: 0x2734,
  164: 0x2739,
  165: 0x2735,
  166: 0x2B51,
  167: 0x2B52,
  168: 0x2B53,
  169: 0x2B54,
  170: 0x2B5A,
  171: 0x2716,
  172: 0x2B5C,
  173: 0x2B50,
  174: 0x2B5E,
  175: 0x2B5F,
  176: 0x29EB,
  177: 0x25C6,
  178: 0x2756,
  179: 0x2B25,
  180: 0x2327,
  181: 0x2BB9,
  // 182-199: circles, squares, arrows
  182: 0x2B1F,
  183: 0x2B20,
  184: 0x2B21,
  185: 0x2B22,
  186: 0x25CB,
  187: 0x25CF,
  188: 0x25A1,
  189: 0x25A0,
  190: 0x2B23,
  191: 0x25C7,
  192: 0x25C6,
  193: 0x2B25,
  194: 0x2B26,
  195: 0x2B27,
  196: 0x2217,
  197: 0x2B29,
  198: 0x2318,
  199: 0x2BC1,
  // 200-215: arrows
  200: 0x27E1,
  201: 0x2B2D,
  202: 0x2B2E,
  203: 0x2B2F,
  204: 0x2B30,
  205: 0x21E6,
  206: 0x21E8,
  207: 0x21E7,
  208: 0x21E9,
  209: 0x2B1A,
  210: 0x21E6,
  211: 0x21E8,
  212: 0x21E7,
  213: 0x21E9,
  214: 0x25AD,
  215: 0x25AB,
  216: 0x2B12,
  217: 0x2B13,
  218: 0x2B14,
  219: 0x2B15,
  220: 0x2B16,
  221: 0x2B17,
  222: 0x2B18,
  223: 0x2B19,
  224: 0x2B51,
  225: 0x2B52,
  226: 0x2B53,
  227: 0x2B54,
  // 228-239: various arrows and shapes
  228: 0x1F678,
  229: 0x1F679,
  230: 0x1F67A,
  231: 0x1F67B,
  232: 0x1F668,
  233: 0x1F669,
  234: 0x1F66A,
  235: 0x1F66B,
  236: 0x1F66C,
  237: 0x1F66D,
  238: 0x1F66E,
  239: 0x1F66F,
  // 240-249: additional shapes
  240: 0x232B,
  241: 0x2326,
  242: 0x2B48,
  243: 0x2B4C,
  244: 0x27A2,
  245: 0x27B2,
  246: 0x2B60,
  247: 0x2B62,
  248: 0x2B61,
  249: 0x2B63,
  // 250-255: checkmarks and crosses (the critical range for this fix)
  250: 0x1F5F6, // 🗶 — ballot X heavy
  251: 0x2714, // ✔ heavy check mark
  252: 0x2713, // ✓ check mark
  253: 0x2612, // ☒ ballot box with X
  254: 0x2611, // ☑ ballot box with check
  255: 0x2B1C, // ⬜ white large square
};

/**
 * Dingbats Glyph List: maps Dingbats glyph names to Unicode code points.
 * Generated from https://github.com/adobe-type-tools/agl-aglfn zapfdingbats.txt (201 entries).
 * Per the AGL specification, this list is used instead of the standard AGL for Dingbats fonts.
 * @type {Record<string, number>}
 */
export const dingbatsGlyphMap = {
  a1: 0x2701,
  a10: 0x2721,
  a100: 0x275E,
  a101: 0x2761,
  a102: 0x2762,
  a103: 0x2763,
  a104: 0x2764,
  a105: 0x2710,
  a106: 0x2765,
  a107: 0x2766,
  a108: 0x2767,
  a109: 0x2660,
  a11: 0x261B,
  a110: 0x2665,
  a111: 0x2666,
  a112: 0x2663,
  a117: 0x2709,
  a118: 0x2708,
  a119: 0x2707,
  a12: 0x261E,
  a120: 0x2460,
  a121: 0x2461,
  a122: 0x2462,
  a123: 0x2463,
  a124: 0x2464,
  a125: 0x2465,
  a126: 0x2466,
  a127: 0x2467,
  a128: 0x2468,
  a129: 0x2469,
  a13: 0x270C,
  a130: 0x2776,
  a131: 0x2777,
  a132: 0x2778,
  a133: 0x2779,
  a134: 0x277A,
  a135: 0x277B,
  a136: 0x277C,
  a137: 0x277D,
  a138: 0x277E,
  a139: 0x277F,
  a14: 0x270D,
  a140: 0x2780,
  a141: 0x2781,
  a142: 0x2782,
  a143: 0x2783,
  a144: 0x2784,
  a145: 0x2785,
  a146: 0x2786,
  a147: 0x2787,
  a148: 0x2788,
  a149: 0x2789,
  a15: 0x270E,
  a150: 0x278A,
  a151: 0x278B,
  a152: 0x278C,
  a153: 0x278D,
  a154: 0x278E,
  a155: 0x278F,
  a156: 0x2790,
  a157: 0x2791,
  a158: 0x2792,
  a159: 0x2793,
  a16: 0x270F,
  a160: 0x2794,
  a161: 0x2192,
  a162: 0x27A3,
  a163: 0x2194,
  a164: 0x2195,
  a165: 0x2799,
  a166: 0x279B,
  a167: 0x279C,
  a168: 0x279D,
  a169: 0x279E,
  a17: 0x2711,
  a170: 0x279F,
  a171: 0x27A0,
  a172: 0x27A1,
  a173: 0x27A2,
  a174: 0x27A4,
  a175: 0x27A5,
  a176: 0x27A6,
  a177: 0x27A7,
  a178: 0x27A8,
  a179: 0x27A9,
  a18: 0x2712,
  a180: 0x27AB,
  a181: 0x27AD,
  a182: 0x27AF,
  a183: 0x27B2,
  a184: 0x27B3,
  a185: 0x27B5,
  a186: 0x27B8,
  a187: 0x27BA,
  a188: 0x27BB,
  a189: 0x27BC,
  a19: 0x2713,
  a190: 0x27BD,
  a191: 0x27BE,
  a192: 0x279A,
  a193: 0x27AA,
  a194: 0x27B6,
  a195: 0x27B9,
  a196: 0x2798,
  a197: 0x27B4,
  a198: 0x27B7,
  a199: 0x27AC,
  a2: 0x2702,
  a20: 0x2714,
  a200: 0x27AE,
  a201: 0x27B1,
  a202: 0x2703,
  a203: 0x2750,
  a204: 0x2752,
  a205: 0x276E,
  a206: 0x2770,
  a21: 0x2715,
  a22: 0x2716,
  a23: 0x2717,
  a24: 0x2718,
  a25: 0x2719,
  a26: 0x271A,
  a27: 0x271B,
  a28: 0x271C,
  a29: 0x2722,
  a3: 0x2704,
  a30: 0x2723,
  a31: 0x2724,
  a32: 0x2725,
  a33: 0x2726,
  a34: 0x2727,
  a35: 0x2605,
  a36: 0x2729,
  a37: 0x272A,
  a38: 0x272B,
  a39: 0x272C,
  a4: 0x260E,
  a40: 0x272D,
  a41: 0x272E,
  a42: 0x272F,
  a43: 0x2730,
  a44: 0x2731,
  a45: 0x2732,
  a46: 0x2733,
  a47: 0x2734,
  a48: 0x2735,
  a49: 0x2736,
  a5: 0x2706,
  a50: 0x2737,
  a51: 0x2738,
  a52: 0x2739,
  a53: 0x273A,
  a54: 0x273B,
  a55: 0x273C,
  a56: 0x273D,
  a57: 0x273E,
  a58: 0x273F,
  a59: 0x2740,
  a6: 0x271D,
  a60: 0x2741,
  a61: 0x2742,
  a62: 0x2743,
  a63: 0x2744,
  a64: 0x2745,
  a65: 0x2746,
  a66: 0x2747,
  a67: 0x2748,
  a68: 0x2749,
  a69: 0x274A,
  a7: 0x271E,
  a70: 0x274B,
  a71: 0x25CF,
  a72: 0x274D,
  a73: 0x25A0,
  a74: 0x274F,
  a75: 0x2751,
  a76: 0x25B2,
  a77: 0x25BC,
  a78: 0x25C6,
  a79: 0x2756,
  a8: 0x271F,
  a81: 0x25D7,
  a82: 0x2758,
  a83: 0x2759,
  a84: 0x275A,
  a85: 0x276F,
  a86: 0x2771,
  a87: 0x2772,
  a88: 0x2773,
  a89: 0x2768,
  a9: 0x2720,
  a90: 0x2769,
  a91: 0x276C,
  a92: 0x276D,
  a93: 0x276A,
  a94: 0x276B,
  a95: 0x2774,
  a96: 0x2775,
  a97: 0x275B,
  a98: 0x275C,
  a99: 0x275D,
};

/**
 * Dingbats built-in encoding: maps charCode → glyph name.
 * From PDF spec §D.5 "ZapfDingbats Set and Encoding" (octal codes converted to decimal).
 * CharCodes 32-126 and 161-254 (gap at 127-160 and 240).
 * @type {Record<number, string>}
 */
export const dingbatsEncoding = {
  32: 'space',
  33: 'a1',
  34: 'a2',
  35: 'a202',
  36: 'a3',
  37: 'a4',
  38: 'a5',
  39: 'a119',
  40: 'a118',
  41: 'a117',
  42: 'a11',
  43: 'a12',
  44: 'a13',
  45: 'a14',
  46: 'a15',
  47: 'a16',
  48: 'a105',
  49: 'a17',
  50: 'a18',
  51: 'a19',
  52: 'a20',
  53: 'a21',
  54: 'a22',
  55: 'a23',
  56: 'a24',
  57: 'a25',
  58: 'a26',
  59: 'a27',
  60: 'a28',
  61: 'a6',
  62: 'a7',
  63: 'a8',
  64: 'a9',
  65: 'a10',
  66: 'a29',
  67: 'a30',
  68: 'a31',
  69: 'a32',
  70: 'a33',
  71: 'a34',
  72: 'a35',
  73: 'a36',
  74: 'a37',
  75: 'a38',
  76: 'a39',
  77: 'a40',
  78: 'a41',
  79: 'a42',
  80: 'a43',
  81: 'a44',
  82: 'a45',
  83: 'a46',
  84: 'a47',
  85: 'a48',
  86: 'a49',
  87: 'a50',
  88: 'a51',
  89: 'a52',
  90: 'a53',
  91: 'a54',
  92: 'a55',
  93: 'a56',
  94: 'a57',
  95: 'a58',
  96: 'a59',
  97: 'a60',
  98: 'a61',
  99: 'a62',
  100: 'a63',
  101: 'a64',
  102: 'a65',
  103: 'a66',
  104: 'a67',
  105: 'a68',
  106: 'a69',
  107: 'a70',
  108: 'a71',
  109: 'a72',
  110: 'a73',
  111: 'a74',
  112: 'a203',
  113: 'a75',
  114: 'a204',
  115: 'a76',
  116: 'a77',
  117: 'a78',
  118: 'a79',
  119: 'a81',
  120: 'a82',
  121: 'a83',
  122: 'a84',
  123: 'a97',
  124: 'a98',
  125: 'a99',
  126: 'a100',
  // gap: 127-160
  161: 'a101',
  162: 'a102',
  163: 'a103',
  164: 'a104',
  165: 'a106',
  166: 'a107',
  167: 'a108',
  168: 'a112',
  169: 'a111',
  170: 'a110',
  171: 'a109',
  172: 'a120',
  173: 'a121',
  174: 'a122',
  175: 'a123',
  176: 'a124',
  177: 'a125',
  178: 'a126',
  179: 'a127',
  180: 'a128',
  181: 'a129',
  182: 'a130',
  183: 'a131',
  184: 'a132',
  185: 'a133',
  186: 'a134',
  187: 'a135',
  188: 'a136',
  189: 'a137',
  190: 'a138',
  191: 'a139',
  192: 'a140',
  193: 'a141',
  194: 'a142',
  195: 'a143',
  196: 'a144',
  197: 'a145',
  198: 'a146',
  199: 'a147',
  200: 'a148',
  201: 'a149',
  202: 'a150',
  203: 'a151',
  204: 'a152',
  205: 'a153',
  206: 'a154',
  207: 'a155',
  208: 'a156',
  209: 'a157',
  210: 'a158',
  211: 'a159',
  212: 'a160',
  213: 'a161',
  214: 'a163',
  215: 'a164',
  216: 'a196',
  217: 'a165',
  218: 'a192',
  219: 'a166',
  220: 'a167',
  221: 'a168',
  222: 'a169',
  223: 'a170',
  224: 'a171',
  225: 'a172',
  226: 'a173',
  227: 'a162',
  228: 'a174',
  229: 'a175',
  230: 'a176',
  231: 'a177',
  232: 'a178',
  233: 'a179',
  234: 'a193',
  235: 'a180',
  236: 'a199',
  237: 'a181',
  238: 'a200',
  239: 'a182',
  // 240 is undefined
  241: 'a201',
  242: 'a183',
  243: 'a184',
  244: 'a197',
  245: 'a185',
  246: 'a194',
  247: 'a198',
  248: 'a186',
  249: 'a195',
  250: 'a187',
  251: 'a188',
  252: 'a189',
  253: 'a190',
  254: 'a191',
};
