infused/ansel_iconv

View on GitHub
lib/ansel_iconv/character_map.rb

Summary

Maintainability
C
1 day
Test Coverage
# encoding: ascii-8bit

module ANSEL
  module CharacterMap
    @@non_combining = {
      "ERR" => "\xFF\xFD",      # � - REPLACEMENT CHARACTER
      "88" => "",               # NON-SORT BEGIN / START OF STRING                                             
      "89" => "",               # NON-SORT END / STRING TERMINATOR                                             
      "8D" => "",               # JOINER / ZERO WIDTH JOINER                                                   
      "8E" => "",               # NON-JOINER / ZERO WIDTH NON-JOINER                                           
      "A1" => "\x01\x41",       # Ł - UPPERCASE POLISH L / LATIN CAPITAL LETTER L WITH STROKE                   
      "A2" => "\x00\xD8",       # Ø - UPPERCASE SCANDINAVIAN O / LATIN CAPITAL LETTER O WITH STROKE             
      "A3" => "\x01\x10",       # Đ - UPPERCASE D WITH CROSSBAR / LATIN CAPITAL LETTER D WITH STROKE           
      "A4" => "\x00\xDE",       # Þ - UPPERCASE ICELANDIC THORN / LATIN CAPITAL LETTER THORN (Icelandic)   
      "A5" => "\x00\xC6",       # Æ - UPPERCASE DIGRAPH AE / LATIN CAPITAL LIGATURE AE                         
      "A6" => "\x01\x52",       # Π- UPPERCASE DIGRAPH OE / LATIN CAPITAL LIGATURE OE                         
      "A7" => "\x02\xB9",       # ʹ - SOFT SIGN, PRIME / MODIFIER LETTER PRIME                                 
      "A8" => "\x00\xB7",       # · - MIDDLE DOT                                                               
      "A9" => "\x26\x6D",       # ♭ - MUSIC FLAT SIGN                                                           
      "AA" => "\x00\xAE",       # ® - PATENT MARK / REGISTERED SIGN                                             
      "AB" => "\x00\xB1",       # ± - PLUS OR MINUS / PLUS-MINUS SIGN                                           
      "AC" => "\x01\xA0",       # Ơ - UPPERCASE O-HOOK / LATIN CAPITAL LETTER O WITH HORN                       
      "AD" => "\x01\xAF",       # Ư - UPPERCASE U-HOOK / LATIN CAPITAL LETTER U WITH HORN                       
      "AE" => "\x02\xBC",       # ʼ - ALIF / MODIFIER LETTER APOSTROPHE                                         
      "B0" => "\x02\xBB",       # ʻ - AYN / MODIFIER LETTER TURNED COMMA                                       
      "B1" => "\x01\x42",       # ł - LOWERCASE POLISH L / LATIN SMALL LETTER L WITH STROKE                     
      "B2" => "\x00\xF8",       # ø - LOWERCASE SCANDINAVIAN O / LATIN SMALL LETTER O WITH STROKE               
      "B3" => "\x01\x11",       # đ - LOWERCASE D WITH CROSSBAR / LATIN SMALL LETTER D WITH STROKE             
      "B4" => "\x00\xFE",       # þ - LOWERCASE ICELANDIC THORN / LATIN SMALL LETTER THORN (Icelandic)       
      "B5" => "\x00\xE6",       # æ - LOWERCASE DIGRAPH AE / LATIN SMALL LIGATURE AE                           
      "B6" => "\x01\x53",       # œ - LOWERCASE DIGRAPH OE / LATIN SMALL LIGATURE OE                           
      "B7" => "\x02\xBA",       # ʺ - HARD SIGN, DOUBLE PRIME / MODIFIER LETTER DOUBLE PRIME                   
      "B8" => "\x01\x31",       # ı - LOWERCASE TURKISH I / LATIN SMALL LETTER DOTLESS I                       
      "B9" => "\x00\xA3",       # £ - BRITISH POUND / POUND SIGN                                               
      "BA" => "\x00\xF0",       # ð - LOWERCASE ETH / LATIN SMALL LETTER ETH (Icelandic)                       
      "BC" => "\x01\xA1",       # ơ - LOWERCASE O-HOOK / LATIN SMALL LETTER O WITH HORN                       
      "BD" => "\x01\xB0",       # ư - LOWERCASE U-HOOK / LATIN SMALL LETTER U WITH HORN                         
      "C0" => "\x00\xB0",       # ° - DEGREE SIGN                                                               
      "C1" => "\x21\x13",       # ℓ - SCRIPT SMALL L                                                           
      "C2" => "\x21\x17",       # ℗ - SOUND RECORDING COPYRIGHT                                                 
      "C3" => "\x00\xA9",       # © - COPYRIGHT SIGN                                                             
      "C4" => "\x26\x6F",       # ♯ - MUSIC SHARP SIGN                                                         
      "C5" => "\x00\xBF",       # ¿ - INVERTED QUESTION MARK                                                   
      "C6" => "\x00\xA1",       # ¡ - INVERTED EXCLAMATION MARK                                                 
      "C7" => "\x00\xDF",       # ß - ESZETT SYMBOL                                                             
      "C8" => "\x20\xAC"        # € - EURO SIGN                                                          
    }

    @@combining = {
      "E0+41" => "\x1E\xA2",    # Ả - LATIN CAPITAL LETTER A WITH HOOK ABOVE
      "E0+45" => "\x1E\xBA",    # LATIN CAPITAL LETTER E WITH HOOK ABOVE
      "E0+49" => "\x1E\xC8",    # LATIN CAPITAL LETTER I WITH HOOK ABOVE
      "E0+4F" => "\x1E\xCE",    # LATIN CAPITAL LETTER O WITH HOOK ABOVE
      "E0+55" => "\x1E\xE6",    # LATIN CAPITAL LETTER U WITH HOOK ABOVE
      "E0+59" => "\x1E\xF6",    # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
      "E0+61" => "\x1E\xA3",    # LATIN SMALL LETTER A WITH HOOK ABOVE
      "E0+65" => "\x1E\xBB",    # LATIN SMALL LETTER E WITH HOOK ABOVE
      "E0+69" => "\x1E\xC9",    # LATIN SMALL LETTER I WITH HOOK ABOVE
      "E0+6F" => "\x1E\xCF",    # LATIN SMALL LETTER O WITH HOOK ABOVE
      "E0+75" => "\x1E\xE7",    # LATIN SMALL LETTER U WITH HOOK ABOVE
      "E0+79" => "\x1E\xF7",    # LATIN SMALL LETTER Y WITH HOOK ABOVE
      "E0+E3+41" => "\x1E\xA8", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
      "E0+E3+45" => "\x1E\xC2", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
      "E0+E3+4F" => "\x1E\xD4", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
      "E0+E3+61" => "\x1E\xA9", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
      "E0+E3+65" => "\x1E\xC3", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
      "E0+E3+6F" => "\x1E\xD5", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
      "E0+E6+41" => "\x1E\xB2", # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
      "E0+E6+61" => "\x1E\xB3", # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
      "E0" => "\x03\x09",       # COMBINING HOOK ABOVE
      "E1+41" => "\x00\xC0",    # LATIN CAPITAL LETTER A WITH GRAVE
      "E1+45" => "\x00\xC8",    # LATIN CAPITAL LETTER E WITH GRAVE
      "E1+49" => "\x00\xCC",    # LATIN CAPITAL LETTER I WITH GRAVE
      "E1+4F" => "\x00\xD2",    # LATIN CAPITAL LETTER O WITH GRAVE
      "E1+55" => "\x00\xD9",    # LATIN CAPITAL LETTER U WITH GRAVE
      "E1+57" => "\x1E\x80",    # LATIN CAPITAL LETTER W WITH GRAVE
      "E1+59" => "\x1E\xF2",    # LATIN CAPITAL LETTER Y WITH GRAVE
      "E1+61" => "\x00\xE0",    # LATIN SMALL LETTER A WITH GRAVE  
      "E1+65" => "\x00\xE8",    # LATIN SMALL LETTER E WITH GRAVE  
      "E1+69" => "\x00\xEC",    # LATIN SMALL LETTER I WITH GRAVE  
      "E1+6F" => "\x00\xF2",    # LATIN SMALL LETTER O WITH GRAVE  
      "E1+75" => "\x00\xF9",    # LATIN SMALL LETTER U WITH GRAVE  
      "E1+77" => "\x1E\x81",    # LATIN SMALL LETTER W WITH GRAVE  
      "E1+79" => "\x1E\xF3",    # LATIN SMALL LETTER Y WITH GRAVE  
      "E1+E3+41" => "\x1E\xA6", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
      "E1+E3+45" => "\x1E\xC0", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
      "E1+E3+4F" => "\x1E\xD2", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
      "E1+E3+61" => "\x1E\xA7", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
      "E1+E3+65" => "\x1E\xC1", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
      "E1+E3+6F" => "\x1E\xD3", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
      "E1+E5+45" => "\x1E\x14", # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
      "E1+E5+4F" => "\x1E\x50", # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
      "E1+E5+65" => "\x1E\x15", # LATIN SMALL LETTER E WITH MACRON AND GRAVE
      "E1+E5+6F" => "\x1E\x51", # LATIN SMALL LETTER O WITH MACRON AND GRAVE
      "E1+E6+41" => "\x1E\xB0", # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
      "E1+E6+61" => "\x1E\xB1", # LATIN SMALL LETTER A WITH BREVE AND GRAVE
      "E1+E8+55" => "\x01\xDB", # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
      "E1+E8+75" => "\x01\xDC", # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
      "E1" => "\x03\x00",       # COMBINING GRAVE ACCENT
      "E2+41" => "\x00\xC1",    # LATIN CAPITAL LETTER A WITH ACUTE
      "E2+43" => "\x01\x06",    # LATIN CAPITAL LETTER C WITH ACUTE
      "E2+45" => "\x00\xC9",    # LATIN CAPITAL LETTER E WITH ACUTE
      "E2+47" => "\x01\xF4",    # LATIN CAPITAL LETTER G WITH ACUTE
      "E2+49" => "\x00\xCD",    # LATIN CAPITAL LETTER I WITH ACUTE
      "E2+4B" => "\x1E\x30",    # LATIN CAPITAL LETTER K WITH ACUTE
      "E2+4C" => "\x01\x39",    # LATIN CAPITAL LETTER L WITH ACUTE
      "E2+4D" => "\x1E\x3E",    # LATIN CAPITAL LETTER M WITH ACUTE
      "E2+4E" => "\x01\x43",    # LATIN CAPITAL LETTER N WITH ACUTE
      "E2+4F" => "\x00\xD3",    # LATIN CAPITAL LETTER O WITH ACUTE
      "E2+50" => "\x1E\x54",    # LATIN CAPITAL LETTER P WITH ACUTE
      "E2+52" => "\x01\x54",    # LATIN CAPITAL LETTER R WITH ACUTE
      "E2+53" => "\x01\x5A",    # LATIN CAPITAL LETTER S WITH ACUTE
      "E2+55" => "\x00\xDA",    # LATIN CAPITAL LETTER U WITH ACUTE
      "E2+57" => "\x1E\x82",    # LATIN CAPITAL LETTER W WITH ACUTE
      "E2+59" => "\x00\xDD",    # LATIN CAPITAL LETTER Y WITH ACUTE
      "E2+5A" => "\x01\x79",    # LATIN CAPITAL LETTER Z WITH ACUTE
      "E2+61" => "\x00\xE1",    # LATIN SMALL LETTER A WITH ACUTE
      "E2+63" => "\x01\x07",    # LATIN SMALL LETTER C WITH ACUTE
      "E2+65" => "\x00\xE9",    # LATIN SMALL LETTER E WITH ACUTE
      "E2+67" => "\x01\xF5",    # LATIN SMALL LETTER G WITH ACUTE
      "E2+69" => "\x00\xED",    # LATIN SMALL LETTER I WITH ACUTE
      "E2+6B" => "\x1E\x31",    # LATIN SMALL LETTER K WITH ACUTE
      "E2+6C" => "\x01\x3A",    # LATIN SMALL LETTER L WITH ACUTE
      "E2+6D" => "\x1E\x3F",    # LATIN SMALL LETTER M WITH ACUTE
      "E2+6E" => "\x01\x44",    # LATIN SMALL LETTER N WITH ACUTE
      "E2+6F" => "\x00\xF3",    # LATIN SMALL LETTER O WITH ACUTE
      "E2+70" => "\x1E\x55",    # LATIN SMALL LETTER P WITH ACUTE
      "E2+72" => "\x01\x55",    # LATIN SMALL LETTER R WITH ACUTE
      "E2+73" => "\x01\x5B",    # LATIN SMALL LETTER S WITH ACUTE
      "E2+75" => "\x00\xFA",    # LATIN SMALL LETTER U WITH ACUTE
      "E2+77" => "\x1E\x83",    # LATIN SMALL LETTER W WITH ACUTE
      "E2+79" => "\x00\xFD",    # LATIN SMALL LETTER Y WITH ACUTE
      "E2+7A" => "\x01\x7A",    # LATIN SMALL LETTER Z WITH ACUTE
      "E2+A5" => "\x01\xFC",    # LATIN CAPITAL LETTER AE WITH ACUTE
      "E2+B5" => "\x01\xFD",    # LATIN SMALL LETTER AE WITH ACUTE
      "E2+E3+41" => "\x1E\xA4", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
      "E2+E3+45" => "\x1E\xBE", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
      "E2+E3+4F" => "\x1E\xD0", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
      "E2+E3+61" => "\x1E\xA5", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
      "E2+E3+65" => "\x1E\xBF", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
      "E2+E3+6F" => "\x1E\xD1", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
      "E2+E4+4F" => "\x1E\x4C", # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
      "E2+E4+55" => "\x1E\x78", # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
      "E2+E4+6F" => "\x1E\x4D", # LATIN SMALL LETTER O WITH TILDE AND ACUTE
      "E2+E4+75" => "\x1E\x79", # LATIN SMALL LETTER U WITH TILDE AND ACUTE
      "E2+E5+45" => "\x1E\x16", # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
      "E2+E5+4F" => "\x1E\x52", # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
      "E2+E5+65" => "\x1E\x17", # LATIN SMALL LETTER E WITH MACRON AND ACUTE
      "E2+E5+6F" => "\x1E\x53", # LATIN SMALL LETTER O WITH MACRON AND ACUTE
      "E2+E6+41" => "\x1E\xAE", # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
      "E2+E6+61" => "\x1E\xAF", # LATIN SMALL LETTER A WITH BREVE AND ACUTE
      "E2+E7+53" => "\x1E\x64", # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
      "E2+E7+73" => "\x1E\x65", # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
      "E2+E8+49" => "\x1E\x2E", # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
      "E2+E8+55" => "\x01\xD7", # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
      "E2+E8+69" => "\x1E\x2F", # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
      "E2+E8+75" => "\x01\xD8", # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
      "E2+EA+41" => "\x01\xFA", # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
      "E2+EA+61" => "\x01\xFB", # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
      "E2+F0+43" => "\x1E\x08", # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
      "E2+F0+63" => "\x1E\x09", # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
      "E2" => "\x03\x01",       # COMBINING ACUTE ACCENT
      "E3+41" => "\x00\xC2",    # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
      "E3+43" => "\x01\x08",    # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
      "E3+45" => "\x00\xCA",    # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
      "E3+47" => "\x01\x1C",    # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
      "E3+48" => "\x01\x24",    # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
      "E3+49" => "\x00\xCE",    # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
      "E3+4A" => "\x01\x34",    # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
      "E3+4F" => "\x00\xD4",    # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
      "E3+53" => "\x01\x5C",    # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
      "E3+55" => "\x00\xDB",    # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
      "E3+57" => "\x01\x74",    # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
      "E3+59" => "\x01\x76",    # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
      "E3+5A" => "\x1E\x90",    # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
      "E3+61" => "\x00\xE2",    # LATIN SMALL LETTER A WITH CIRCUMFLEX
      "E3+63" => "\x01\x09",    # LATIN SMALL LETTER C WITH CIRCUMFLEX
      "E3+65" => "\x00\xEA",    # LATIN SMALL LETTER E WITH CIRCUMFLEX
      "E3+67" => "\x01\x1D",    # LATIN SMALL LETTER G WITH CIRCUMFLEX
      "E3+68" => "\x01\x25",    # LATIN SMALL LETTER H WITH CIRCUMFLEX
      "E3+69" => "\x00\xEE",    # LATIN SMALL LETTER I WITH CIRCUMFLEX
      "E3+6A" => "\x01\x35",    # LATIN SMALL LETTER J WITH CIRCUMFLEX
      "E3+6F" => "\x00\xF4",    # LATIN SMALL LETTER O WITH CIRCUMFLEX
      "E3+73" => "\x01\x5D",    # LATIN SMALL LETTER S WITH CIRCUMFLEX
      "E3+75" => "\x00\xFB",    # LATIN SMALL LETTER U WITH CIRCUMFLEX
      "E3+77" => "\x01\x75",    # LATIN SMALL LETTER W WITH CIRCUMFLEX
      "E3+79" => "\x01\x77",    # LATIN SMALL LETTER Y WITH CIRCUMFLEX
      "E3+7A" => "\x1E\x91",    # LATIN SMALL LETTER Z WITH CIRCUMFLEX
      "E3+E0+41" => "\x1E\xA8", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
      "E3+E0+45" => "\x1E\xC2", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
      "E3+E0+4F" => "\x1E\xD4", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
      "E3+E0+61" => "\x1E\xA9", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
      "E3+E0+65" => "\x1E\xC3", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
      "E3+E0+6F" => "\x1E\xD5", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
      "E3+E1+41" => "\x1E\xA6", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
      "E3+E1+45" => "\x1E\xC0", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
      "E3+E1+4F" => "\x1E\xD2", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
      "E3+E1+61" => "\x1E\xA7", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
      "E3+E1+65" => "\x1E\xC1", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
      "E3+E1+6F" => "\x1E\xD3", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
      "E3+E2+41" => "\x1E\xA4", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
      "E3+E2+45" => "\x1E\xBE", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
      "E3+E2+4F" => "\x1E\xD0", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
      "E3+E2+61" => "\x1E\xA5", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
      "E3+E2+65" => "\x1E\xBF", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
      "E3+E2+6F" => "\x1E\xD1", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
      "E3+E4+41" => "\x1E\xAA", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
      "E3+E4+45" => "\x1E\xC4", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
      "E3+E4+4F" => "\x1E\xD6", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
      "E3+E4+61" => "\x1E\xAB", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
      "E3+E4+65" => "\x1E\xC5", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
      "E3+E4+6F" => "\x1E\xD7", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
      "E3+F2+41" => "\x1E\xAC", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
      "E3+F2+45" => "\x1E\xC6", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
      "E3+F2+4F" => "\x1E\xD8", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
      "E3+F2+61" => "\x1E\xAD", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
      "E3+F2+65" => "\x1E\xC7", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
      "E3+F2+6F" => "\x1E\xD9", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
      "E3" => "\x03\x02",       # COMBINING CIRCUMFLEX ACCENT
      "E4+41" => "\x00\xC3",    # LATIN CAPITAL LETTER A WITH TILDE
      "E4+45" => "\x1E\xBC",    # LATIN CAPITAL LETTER E WITH TILDE
      "E4+49" => "\x01\x28",    # LATIN CAPITAL LETTER I WITH TILDE
      "E4+4E" => "\x00\xD1",    # LATIN CAPITAL LETTER N WITH TILDE
      "E4+4F" => "\x00\xD5",    # LATIN CAPITAL LETTER O WITH TILDE
      "E4+55" => "\x01\x68",    # LATIN CAPITAL LETTER U WITH TILDE
      "E4+56" => "\x1E\x7C",    # LATIN CAPITAL LETTER V WITH TILDE
      "E4+59" => "\x1E\xF8",    # LATIN CAPITAL LETTER Y WITH TILDE
      "E4+61" => "\x00\xE3",    # LATIN SMALL LETTER A WITH TILDE
      "E4+65" => "\x1E\xBD",    # LATIN SMALL LETTER E WITH TILDE
      "E4+69" => "\x01\x29",    # LATIN SMALL LETTER I WITH TILDE
      "E4+6E" => "\x00\xF1",    # LATIN SMALL LETTER N WITH TILDE
      "E4+6F" => "\x00\xF5",    # LATIN SMALL LETTER O WITH TILDE
      "E4+75" => "\x01\x69",    # LATIN SMALL LETTER U WITH TILDE
      "E4+76" => "\x1E\x7D",    # LATIN SMALL LETTER V WITH TILDE
      "E4+79" => "\x1E\xF9",    # LATIN SMALL LETTER Y WITH TILDE
      "E4+E2+4F" => "\x1E\x4C", # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
      "E4+E2+55" => "\x1E\x78", # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
      "E4+E2+6F" => "\x1E\x4D", # LATIN SMALL LETTER O WITH TILDE AND ACUTE
      "E4+E2+75" => "\x1E\x79", # LATIN SMALL LETTER U WITH TILDE AND ACUTE
      "E4+E3+41" => "\x1E\xAA", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
      "E4+E3+45" => "\x1E\xC4", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
      "E4+E3+4F" => "\x1E\xD6", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
      "E4+E3+61" => "\x1E\xAB", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
      "E4+E3+65" => "\x1E\xC5", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
      "E4+E3+6F" => "\x1E\xD7", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
      "E4+E6+41" => "\x1E\xB4", # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
      "E4+E6+61" => "\x1E\xB5", # LATIN SMALL LETTER A WITH BREVE AND TILDE
      "E4+E8+4F" => "\x1E\x4E", # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
      "E4+E8+6F" => "\x1E\x4F", # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
      "E4" => "\x03\x03",       # COMBINING TILDE
      "E5+41" => "\x01\x00",    # LATIN CAPITAL LETTER A WITH MACRON
      "E5+45" => "\x01\x12",    # LATIN CAPITAL LETTER E WITH MACRON
      "E5+47" => "\x1E\x20",    # LATIN CAPITAL LETTER G WITH MACRON
      "E5+49" => "\x01\x2A",    # LATIN CAPITAL LETTER I WITH MACRON
      "E5+4F" => "\x01\x4C",    # LATIN CAPITAL LETTER O WITH MACRON
      "E5+55" => "\x01\x6A",    # LATIN CAPITAL LETTER U WITH MACRON
      "E5+61" => "\x01\x01",    # LATIN SMALL LETTER A WITH MACRON
      "E5+65" => "\x01\x13",    # LATIN SMALL LETTER E WITH MACRON
      "E5+67" => "\x1E\x21",    # LATIN SMALL LETTER G WITH MACRON
      "E5+69" => "\x01\x2B",    # LATIN SMALL LETTER I WITH MACRON
      "E5+6F" => "\x01\x4D",    # LATIN SMALL LETTER O WITH MACRON
      "E5+75" => "\x01\x6B",    # LATIN SMALL LETTER U WITH MACRON
      "E5+A5" => "\x01\xE2",    # LATIN CAPITAL LETTER AE WITH MACRON
      "E5+B5" => "\x01\xE3",    # LATIN SMALL LETTER AE WITH MACRON
      "E5+E1+45" => "\x1E\x14", # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
      "E5+E1+4F" => "\x1E\x50", # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
      "E5+E1+65" => "\x1E\x15", # LATIN SMALL LETTER E WITH MACRON AND GRAVE
      "E5+E1+6F" => "\x1E\x51", # LATIN SMALL LETTER O WITH MACRON AND GRAVE
      "E5+E2+45" => "\x1E\x16", # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
      "E5+E2+4F" => "\x1E\x52", # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
      "E5+E2+65" => "\x1E\x17", # LATIN SMALL LETTER E WITH MACRON AND ACUTE
      "E5+E2+6F" => "\x1E\x53", # LATIN SMALL LETTER O WITH MACRON AND ACUTE
      "E5+E7+41" => "\x01\xE0", # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
      "E5+E7+61" => "\x01\xE1", # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
      "E5+E8+41" => "\x01\xDE", # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
      "E5+E8+55" => "\x1E\x7A", # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
      "E5+E8+61" => "\x01\xDF", # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
      "E5+E8+75" => "\x1E\x7B", # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
      "E5+F1+4F" => "\x01\xEC", # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
      "E5+F1+6F" => "\x01\xED", # LATIN SMALL LETTER O WITH OGONEK AND MACRON
      "E5+F2+4C" => "\x1E\x38", # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
      "E5+F2+52" => "\x1E\x5C", # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
      "E5+F2+6C" => "\x1E\x39", # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
      "E5+F2+72" => "\x1E\x5D", # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
      "E5" => "\x03\x04",       # COMBINING MACRON
      "E6+41" => "\x01\x02",    # LATIN CAPITAL LETTER A WITH BREVE
      "E6+45" => "\x01\x14",    # LATIN CAPITAL LETTER E WITH BREVE
      "E6+47" => "\x01\x1E",    # LATIN CAPITAL LETTER G WITH BREVE
      "E6+49" => "\x01\x2C",    # LATIN CAPITAL LETTER I WITH BREVE
      "E6+4F" => "\x01\x4E",    # LATIN CAPITAL LETTER O WITH BREVE
      "E6+55" => "\x01\x6C",    # LATIN CAPITAL LETTER U WITH BREVE
      "E6+61" => "\x01\x03",    # LATIN SMALL LETTER A WITH BREVE
      "E6+65" => "\x01\x15",    # LATIN SMALL LETTER E WITH BREVE
      "E6+67" => "\x01\x1F",    # LATIN SMALL LETTER G WITH BREVE
      "E6+69" => "\x01\x2D",    # LATIN SMALL LETTER I WITH BREVE
      "E6+6F" => "\x01\x4F",    # LATIN SMALL LETTER O WITH BREVE
      "E6+75" => "\x01\x6D",    # LATIN SMALL LETTER U WITH BREVE
      "E6+E0+41" => "\x1E\xB2", # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
      "E6+E0+61" => "\x1E\xB3", # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
      "E6+E1+41" => "\x1E\xB0", # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
      "E6+E1+61" => "\x1E\xB1", # LATIN SMALL LETTER A WITH BREVE AND GRAVE
      "E6+E2+41" => "\x1E\xAE", # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
      "E6+E2+61" => "\x1E\xAF", # LATIN SMALL LETTER A WITH BREVE AND ACUTE
      "E6+E4+41" => "\x1E\xB4", # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
      "E6+E4+61" => "\x1E\xB5", # LATIN SMALL LETTER A WITH BREVE AND TILDE
      "E6+F0+45" => "\x1E\x1C", # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
      "E6+F0+65" => "\x1E\x1D", # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
      "E6+F2+41" => "\x1E\xB6", # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
      "E6+F2+61" => "\x1E\xB7", # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
      "E6" => "\x03\x06",       # COMBINING BREVE
      "E7+42" => "\x1E\x02",    # LATIN CAPITAL LETTER B WITH DOT ABOVE
      "E7+43" => "\x01\x0A",    # LATIN CAPITAL LETTER C WITH DOT ABOVE
      "E7+44" => "\x1E\x0A",    # LATIN CAPITAL LETTER D WITH DOT ABOVE
      "E7+45" => "\x01\x16",    # LATIN CAPITAL LETTER E WITH DOT ABOVE
      "E7+46" => "\x1E\x1E",    # LATIN CAPITAL LETTER F WITH DOT ABOVE
      "E7+47" => "\x01\x20",    # LATIN CAPITAL LETTER G WITH DOT ABOVE
      "E7+48" => "\x1E\x22",    # LATIN CAPITAL LETTER H WITH DOT ABOVE
      "E7+49" => "\x01\x30",    # LATIN CAPITAL LETTER I WITH DOT ABOVE
      "E7+4D" => "\x1E\x40",    # LATIN CAPITAL LETTER M WITH DOT ABOVE
      "E7+4E" => "\x1E\x44",    # LATIN CAPITAL LETTER N WITH DOT ABOVE
      "E7+50" => "\x1E\x56",    # LATIN CAPITAL LETTER P WITH DOT ABOVE
      "E7+52" => "\x1E\x58",    # LATIN CAPITAL LETTER R WITH DOT ABOVE
      "E7+53" => "\x1E\x60",    # LATIN CAPITAL LETTER S WITH DOT ABOVE
      "E7+54" => "\x1E\x6A",    # LATIN CAPITAL LETTER T WITH DOT ABOVE
      "E7+57" => "\x1E\x86",    # LATIN CAPITAL LETTER W WITH DOT ABOVE
      "E7+58" => "\x1E\x8A",    # LATIN CAPITAL LETTER X WITH DOT ABOVE
      "E7+59" => "\x1E\x8E",    # LATIN CAPITAL LETTER Y WITH DOT ABOVE
      "E7+5A" => "\x01\x7B",    # LATIN CAPITAL LETTER Z WITH DOT ABOVE
      "E7+62" => "\x1E\x03",    # LATIN SMALL LETTER B WITH DOT ABOVE
      "E7+63" => "\x01\x0B",    # LATIN SMALL LETTER C WITH DOT ABOVE
      "E7+64" => "\x1E\x0B",    # LATIN SMALL LETTER D WITH DOT ABOVE
      "E7+65" => "\x01\x17",    # LATIN SMALL LETTER E WITH DOT ABOVE
      "E7+66" => "\x1E\x1F",    # LATIN SMALL LETTER F WITH DOT ABOVE
      "E7+67" => "\x01\x21",    # LATIN SMALL LETTER G WITH DOT ABOVE
      "E7+68" => "\x1E\x23",    # LATIN SMALL LETTER H WITH DOT ABOVE
      "E7+6D" => "\x1E\x41",    # LATIN SMALL LETTER M WITH DOT ABOVE
      "E7+6E" => "\x1E\x45",    # LATIN SMALL LETTER N WITH DOT ABOVE
      "E7+70" => "\x1E\x57",    # LATIN SMALL LETTER P WITH DOT ABOVE
      "E7+72" => "\x1E\x59",    # LATIN SMALL LETTER R WITH DOT ABOVE
      "E7+73" => "\x1E\x61",    # LATIN SMALL LETTER S WITH DOT ABOVE
      "E7+74" => "\x1E\x6B",    # LATIN SMALL LETTER T WITH DOT ABOVE
      "E7+77" => "\x1E\x87",    # LATIN SMALL LETTER W WITH DOT ABOVE
      "E7+78" => "\x1E\x8B",    # LATIN SMALL LETTER X WITH DOT ABOVE
      "E7+79" => "\x1E\x8F",    # LATIN SMALL LETTER Y WITH DOT ABOVE
      "E7+7A" => "\x01\x7C",    # LATIN SMALL LETTER Z WITH DOT ABOVE
      "E7+E2+53" => "\x1E\x64", # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
      "E7+E2+73" => "\x1E\x65", # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
      "E7+E5+41" => "\x01\xE0", # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
      "E7+E5+61" => "\x01\xE1", # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
      "E7+E9+53" => "\x1E\x66", # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
      "E7+E9+73" => "\x1E\x67", # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
      "E7+F2+53" => "\x1E\x68", # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
      "E7+F2+73" => "\x1E\x69", # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
      "E7" => "\x03\x07",       # COMBINING DOT ABOVE
      "E8+41" => "\x00\xC4",    # LATIN CAPITAL LETTER A WITH DIAERESIS
      "E8+45" => "\x00\xCB",    # LATIN CAPITAL LETTER E WITH DIAERESIS
      "E8+48" => "\x1E\x26",    # LATIN CAPITAL LETTER H WITH DIAERESIS
      "E8+49" => "\x00\xCF",    # LATIN CAPITAL LETTER I WITH DIAERESIS
      "E8+4F" => "\x00\xD6",    # LATIN CAPITAL LETTER O WITH DIAERESIS
      "E8+55" => "\x00\xDC",    # LATIN CAPITAL LETTER U WITH DIAERESIS
      "E8+57" => "\x1E\x84",    # LATIN CAPITAL LETTER W WITH DIAERESIS
      "E8+58" => "\x1E\x8C",    # LATIN CAPITAL LETTER X WITH DIAERESIS
      "E8+59" => "\x01\x78",    # LATIN CAPITAL LETTER Y WITH DIAERESIS
      "E8+61" => "\x00\xE4",    # LATIN SMALL LETTER A WITH DIAERESIS
      "E8+65" => "\x00\xEB",    # LATIN SMALL LETTER E WITH DIAERESIS
      "E8+68" => "\x1E\x27",    # LATIN SMALL LETTER H WITH DIAERESIS
      "E8+69" => "\x00\xEF",    # LATIN SMALL LETTER I WITH DIAERESIS
      "E8+6F" => "\x00\xF6",    # LATIN SMALL LETTER O WITH DIAERESIS
      "E8+74" => "\x1E\x97",    # LATIN SMALL LETTER T WITH DIAERESIS
      "E8+75" => "\x00\xFC",    # LATIN SMALL LETTER U WITH DIAERESIS
      "E8+77" => "\x1E\x85",    # LATIN SMALL LETTER W WITH DIAERESIS
      "E8+78" => "\x1E\x8D",    # LATIN SMALL LETTER X WITH DIAERESIS
      "E8+79" => "\x00\xFF",    # LATIN SMALL LETTER Y WITH DIAERESIS
      "E8+E1+55" => "\x01\xDB", # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
      "E8+E1+75" => "\x01\xDC", # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
      "E8+E2+49" => "\x1E\x2E", # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
      "E8+E2+55" => "\x01\xD7", # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
      "E8+E2+69" => "\x1E\x2F", # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
      "E8+E2+75" => "\x01\xD8", # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
      "E8+E4+4F" => "\x1E\x4E", # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
      "E8+E4+6F" => "\x1E\x4F", # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
      "E8+E5+41" => "\x01\xDE", # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
      "E8+E5+55" => "\x1E\x7A", # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
      "E8+E5+61" => "\x01\xDF", # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
      "E8+E5+75" => "\x1E\x7B", # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
      "E8+E9+55" => "\x01\xD9", # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
      "E8+E9+75" => "\x01\xDA", # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
      "E8" => "\x03\x08",       # COMBINING DIAERESIS
      "E9+41" => "\x01\xCD",    # LATIN CAPITAL LETTER A WITH CARON
      "E9+43" => "\x01\x0C",    # LATIN CAPITAL LETTER C WITH CARON
      "E9+44" => "\x01\x0E",    # LATIN CAPITAL LETTER D WITH CARON
      "E9+45" => "\x01\x1A",    # LATIN CAPITAL LETTER E WITH CARON
      "E9+47" => "\x01\xE6",    # LATIN CAPITAL LETTER G WITH CARON
      "E9+49" => "\x01\xCF",    # LATIN CAPITAL LETTER I WITH CARON
      "E9+4B" => "\x01\xE8",    # LATIN CAPITAL LETTER K WITH CARON
      "E9+4C" => "\x01\x3D",    # LATIN CAPITAL LETTER L WITH CARON
      "E9+4E" => "\x01\x47",    # LATIN CAPITAL LETTER N WITH CARON
      "E9+4F" => "\x01\xD1",    # LATIN CAPITAL LETTER O WITH CARON
      "E9+52" => "\x01\x58",    # LATIN CAPITAL LETTER R WITH CARON
      "E9+53" => "\x01\x60",    # LATIN CAPITAL LETTER S WITH CARON
      "E9+54" => "\x01\x64",    # LATIN CAPITAL LETTER T WITH CARON
      "E9+55" => "\x01\xD3",    # LATIN CAPITAL LETTER U WITH CARON
      "E9+5A" => "\x01\x7D",    # LATIN CAPITAL LETTER Z WITH CARON
      "E9+61" => "\x01\xCE",    # LATIN SMALL LETTER A WITH CARON
      "E9+63" => "\x01\x0D",    # LATIN SMALL LETTER C WITH CARON
      "E9+64" => "\x01\x0F",    # LATIN SMALL LETTER D WITH CARON
      "E9+65" => "\x01\x1B",    # LATIN SMALL LETTER E WITH CARON
      "E9+67" => "\x01\xE7",    # LATIN SMALL LETTER G WITH CARON
      "E9+69" => "\x01\xD0",    # LATIN SMALL LETTER I WITH CARON
      "E9+6A" => "\x01\xF0",    # LATIN SMALL LETTER J WITH CARON
      "E9+6B" => "\x01\xE9",    # LATIN SMALL LETTER K WITH CARON
      "E9+6C" => "\x01\x3E",    # LATIN SMALL LETTER L WITH CARON
      "E9+6E" => "\x01\x48",    # LATIN SMALL LETTER N WITH CARON
      "E9+6F" => "\x01\xD2",    # LATIN SMALL LETTER O WITH CARON
      "E9+72" => "\x01\x59",    # LATIN SMALL LETTER R WITH CARON
      "E9+73" => "\x01\x61",    # LATIN SMALL LETTER S WITH CARON
      "E9+74" => "\x01\x65",    # LATIN SMALL LETTER T WITH CARON
      "E9+75" => "\x01\xD4",    # LATIN SMALL LETTER U WITH CARON
      "E9+7A" => "\x01\x7E",    # LATIN SMALL LETTER Z WITH CARON
      "E9+E7+53" => "\x1E\x66", # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
      "E9+E7+73" => "\x1E\x67", # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
      "E9+E8+55" => "\x01\xD9", # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
      "E9+E8+75" => "\x01\xDA", # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
      "E9" => "\x03\x0C",       # COMBINING CARON
      "EA+41" => "\x00\xC5",    # LATIN CAPITAL LETTER A WITH RING ABOVE
      "EA+55" => "\x01\x6E",    # LATIN CAPITAL LETTER U WITH RING ABOVE
      "EA+61" => "\x00\xE5",    # LATIN SMALL LETTER A WITH RING ABOVE
      "EA+75" => "\x01\x6F",    # LATIN SMALL LETTER U WITH RING ABOVE
      "EA+77" => "\x1E\x98",    # LATIN SMALL LETTER W WITH RING ABOVE
      "EA+79" => "\x1E\x99",    # LATIN SMALL LETTER Y WITH RING ABOVE
      "EA+E2+41" => "\x01\xFA", # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
      "EA+E2+61" => "\x01\xFB", # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
      "EA" => "\x03\x0A",       # COMBINING RING ABOVE
      "EB" => "\xFE\x20",       # COMBINING LIGATURE LEFT HALF
      "EC" => "\xFE\x21",       # COMBINING LIGATURE RIGHT HALF
      "ED" => "\x03\x15",       # COMBINING COMMA ABOVE RIGHT
      "EE+4F" => "\x01\x50",    # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
      "EE+55" => "\x01\x70",    # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
      "EE+6F" => "\x01\x51",    # LATIN SMALL LETTER O WITH DOUBLE ACUTE
      "EE+75" => "\x01\x71",    # LATIN SMALL LETTER U WITH DOUBLE ACUTE
      "EE" => "\x03\x0B",       # COMBINING DOUBLE ACUTE ACCENT
      "EF" => "\x03\x10",       # COMBINING CANDRABINDU
      "F0+43" => "\x00\xC7",    # LATIN CAPITAL LETTER C WITH CEDILLA
      "F0+44" => "\x1E\x10",    # LATIN CAPITAL LETTER D WITH CEDILLA
      "F0+47" => "\x01\x22",    # LATIN CAPITAL LETTER G WITH CEDILLA
      "F0+48" => "\x1E\x28",    # LATIN CAPITAL LETTER H WITH CEDILLA
      "F0+4B" => "\x01\x36",    # LATIN CAPITAL LETTER K WITH CEDILLA
      "F0+4C" => "\x01\x3B",    # LATIN CAPITAL LETTER L WITH CEDILLA
      "F0+4E" => "\x01\x45",    # LATIN CAPITAL LETTER N WITH CEDILLA
      "F0+52" => "\x01\x56",    # LATIN CAPITAL LETTER R WITH CEDILLA
      "F0+53" => "\x01\x5E",    # LATIN CAPITAL LETTER S WITH CEDILLA
      "F0+54" => "\x01\x62",    # LATIN CAPITAL LETTER T WITH CEDILLA
      "F0+63" => "\x00\xE7",    # LATIN SMALL LETTER C WITH CEDILLA
      "F0+64" => "\x1E\x11",    # LATIN SMALL LETTER D WITH CEDILLA
      "F0+67" => "\x01\x23",    # LATIN SMALL LETTER G WITH CEDILLA
      "F0+68" => "\x1E\x29",    # LATIN SMALL LETTER H WITH CEDILLA
      "F0+6B" => "\x01\x37",    # LATIN SMALL LETTER K WITH CEDILLA
      "F0+6C" => "\x01\x3C",    # LATIN SMALL LETTER L WITH CEDILLA
      "F0+6E" => "\x01\x46",    # LATIN SMALL LETTER N WITH CEDILLA
      "F0+72" => "\x01\x57",    # LATIN SMALL LETTER R WITH CEDILLA
      "F0+73" => "\x01\x5F",    # LATIN SMALL LETTER S WITH CEDILLA
      "F0+74" => "\x01\x63",    # LATIN SMALL LETTER T WITH CEDILLA
      "F0+E2+43" => "\x1E\x08", # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
      "F0+E2+63" => "\x1E\x09", # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
      "F0+E6+45" => "\x1E\x1C", # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
      "F0+E6+65" => "\x1E\x1D", # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
      "F0" => "\x03\x27",       # COMBINING CEDILLA
      "F1+41" => "\x01\x04",    # LATIN CAPITAL LETTER A WITH OGONEK
      "F1+45" => "\x01\x18",    # LATIN CAPITAL LETTER E WITH OGONEK
      "F1+49" => "\x01\x2E",    # LATIN CAPITAL LETTER I WITH OGONEK
      "F1+4F" => "\x01\xEA",    # LATIN CAPITAL LETTER O WITH OGONEK
      "F1+55" => "\x01\x72",    # LATIN CAPITAL LETTER U WITH OGONEK
      "F1+61" => "\x01\x05",    # LATIN SMALL LETTER A WITH OGONEK
      "F1+65" => "\x01\x19",    # LATIN SMALL LETTER E WITH OGONEK
      "F1+69" => "\x01\x2F",    # LATIN SMALL LETTER I WITH OGONEK
      "F1+6F" => "\x01\xEB",    # LATIN SMALL LETTER O WITH OGONEK
      "F1+75" => "\x01\x73",    # LATIN SMALL LETTER U WITH OGONEK
      "F1+E5+4F" => "\x01\xEC", # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
      "F1+E5+6F" => "\x01\xED", # LATIN SMALL LETTER O WITH OGONEK AND MACRON
      "F1" => "\x03\x28",       # COMBINING OGONEK
      "F2+41" => "\x1E\xA0",    # LATIN CAPITAL LETTER A WITH DOT BELOW
      "F2+42" => "\x1E\x04",    # LATIN CAPITAL LETTER B WITH DOT BELOW
      "F2+44" => "\x1E\x0C",    # LATIN CAPITAL LETTER D WITH DOT BELOW
      "F2+45" => "\x1E\xB8",    # LATIN CAPITAL LETTER E WITH DOT BELOW
      "F2+48" => "\x1E\x24",    # LATIN CAPITAL LETTER H WITH DOT BELOW
      "F2+49" => "\x1E\xCA",    # LATIN CAPITAL LETTER I WITH DOT BELOW
      "F2+4B" => "\x1E\x32",    # LATIN CAPITAL LETTER K WITH DOT BELOW
      "F2+4C" => "\x1E\x36",    # LATIN CAPITAL LETTER L WITH DOT BELOW
      "F2+4D" => "\x1E\x42",    # LATIN CAPITAL LETTER M WITH DOT BELOW
      "F2+4E" => "\x1E\x46",    # LATIN CAPITAL LETTER N WITH DOT BELOW
      "F2+4F" => "\x1E\xCC",    # LATIN CAPITAL LETTER O WITH DOT BELOW
      "F2+52" => "\x1E\x5A",    # LATIN CAPITAL LETTER R WITH DOT BELOW
      "F2+53" => "\x1E\x62",    # LATIN CAPITAL LETTER S WITH DOT BELOW
      "F2+54" => "\x1E\x6C",    # LATIN CAPITAL LETTER T WITH DOT BELOW
      "F2+55" => "\x1E\xE4",    # LATIN CAPITAL LETTER U WITH DOT BELOW
      "F2+56" => "\x1E\x7E",    # LATIN CAPITAL LETTER V WITH DOT BELOW
      "F2+57" => "\x1E\x88",    # LATIN CAPITAL LETTER W WITH DOT BELOW
      "F2+59" => "\x1E\xF4",    # LATIN CAPITAL LETTER Y WITH DOT BELOW
      "F2+5A" => "\x1E\x92",    # LATIN CAPITAL LETTER Z WITH DOT BELOW
      "F2+61" => "\x1E\xA1",    # LATIN SMALL LETTER A WITH DOT BELOW
      "F2+62" => "\x1E\x05",    # LATIN SMALL LETTER B WITH DOT BELOW
      "F2+64" => "\x1E\x0D",    # LATIN SMALL LETTER D WITH DOT BELOW
      "F2+65" => "\x1E\xB9",    # LATIN SMALL LETTER E WITH DOT BELOW
      "F2+68" => "\x1E\x25",    # LATIN SMALL LETTER H WITH DOT BELOW
      "F2+69" => "\x1E\xCB",    # LATIN SMALL LETTER I WITH DOT BELOW
      "F2+6B" => "\x1E\x33",    # LATIN SMALL LETTER K WITH DOT BELOW
      "F2+6C" => "\x1E\x37",    # LATIN SMALL LETTER L WITH DOT BELOW
      "F2+6D" => "\x1E\x43",    # LATIN SMALL LETTER M WITH DOT BELOW
      "F2+6E" => "\x1E\x47",    # LATIN SMALL LETTER N WITH DOT BELOW
      "F2+6F" => "\x1E\xCD",    # LATIN SMALL LETTER O WITH DOT BELOW
      "F2+72" => "\x1E\x5B",    # LATIN SMALL LETTER R WITH DOT BELOW
      "F2+73" => "\x1E\x63",    # LATIN SMALL LETTER S WITH DOT BELOW
      "F2+74" => "\x1E\x6D",    # LATIN SMALL LETTER T WITH DOT BELOW
      "F2+75" => "\x1E\xE5",    # LATIN SMALL LETTER U WITH DOT BELOW
      "F2+76" => "\x1E\x7F",    # LATIN SMALL LETTER V WITH DOT BELOW
      "F2+77" => "\x1E\x89",    # LATIN SMALL LETTER W WITH DOT BELOW
      "F2+79" => "\x1E\xF5",    # LATIN SMALL LETTER Y WITH DOT BELOW
      "F2+7A" => "\x1E\x93",    # LATIN SMALL LETTER Z WITH DOT BELOW
      "F2+E3+41" => "\x1E\xAC", # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
      "F2+E3+45" => "\x1E\xC6", # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
      "F2+E3+4F" => "\x1E\xD8", # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
      "F2+E3+61" => "\x1E\xAD", # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
      "F2+E3+65" => "\x1E\xC7", # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
      "F2+E3+6F" => "\x1E\xD9", # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
      "F2+E5+4C" => "\x1E\x38", # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
      "F2+E5+52" => "\x1E\x5C", # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
      "F2+E5+6C" => "\x1E\x39", # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
      "F2+E5+72" => "\x1E\x5D", # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
      "F2+E6+41" => "\x1E\xB6", # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
      "F2+E6+61" => "\x1E\xB7", # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
      "F2+E7+53" => "\x1E\x68", # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
      "F2+E7+73" => "\x1E\x69", # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
      "F2" => "\x03\x23",       # COMBINING DOT BELOW
      "F3+55" => "\x1E\x72",    # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
      "F3+75" => "\x1E\x73",    # LATIN SMALL LETTER U WITH DIAERESIS BELOW
      "F3" => "\x03\x24",       # COMBINING DIAERESIS BELOW
      "F4+41" => "\x1E\x00",    # LATIN CAPITAL LETTER A WITH RING BELOW
      "F4+61" => "\x1E\x01",    # LATIN SMALL LETTER A WITH RING BELOW
      "F4" => "\x03\x25",       # COMBINING RING BELOW
      "F5" => "\x03\x33",       # COMBINING DOUBLE LOW LINE
      "F6+42" => "\x1E\x06",    # LATIN CAPITAL LETTER B WITH LINE BELOW
      "F6+44" => "\x1E\x0E",    # LATIN CAPITAL LETTER D WITH LINE BELOW
      "F6+4B" => "\x1E\x34",    # LATIN CAPITAL LETTER K WITH LINE BELOW
      "F6+4C" => "\x1E\x3A",    # LATIN CAPITAL LETTER L WITH LINE BELOW
      "F6+4E" => "\x1E\x48",    # LATIN CAPITAL LETTER N WITH LINE BELOW
      "F6+52" => "\x1E\x5E",    # LATIN CAPITAL LETTER R WITH LINE BELOW
      "F6+54" => "\x1E\x6E",    # LATIN CAPITAL LETTER T WITH LINE BELOW
      "F6+5A" => "\x1E\x94",    # LATIN CAPITAL LETTER Z WITH LINE BELOW
      "F6+62" => "\x1E\x07",    # LATIN SMALL LETTER B WITH LINE BELOW
      "F6+64" => "\x1E\x0F",    # LATIN SMALL LETTER D WITH LINE BELOW
      "F6+68" => "\x1E\x96",    # LATIN SMALL LETTER H WITH LINE BELOW
      "F6+6B" => "\x1E\x35",    # LATIN SMALL LETTER K WITH LINE BELOW
      "F6+6C" => "\x1E\x3B",    # LATIN SMALL LETTER L WITH LINE BELOW
      "F6+6E" => "\x1E\x49",    # LATIN SMALL LETTER N WITH LINE BELOW
      "F6+72" => "\x1E\x5F",    # LATIN SMALL LETTER R WITH LINE BELOW
      "F6+74" => "\x1E\x6F",    # LATIN SMALL LETTER T WITH LINE BELOW
      "F6+7A" => "\x1E\x95",    # LATIN SMALL LETTER Z WITH LINE BELOW
      "F6" => "\x03\x32",       # COMBINING LOW LINE
      "F7" => "\x03\x26",       # COMBINING COMMA BELOW
      "F8" => "\x03\x21",       # COMBINING OGONEK
      "F9+48" => "\x1E\x2A",    # LATIN CAPITAL LETTER H WITH BREVE BELOW
      "F9+68" => "\x1E\x2B",    # LATIN SMALL LETTER H WITH BREVE BELOW
      "F9" => "\x03\x2E",       # COMBINING BREVE BELOW
      "FA" => "\xFE\x22",       # COMBINING DOUBLE TILDE LEFT HALF
      "FB" => "\xFE\x23"        # COMBINING DOUBLE TILDE RIGHT HALF
    }
  end
end