module VER
  DIGRAPHS = {
    'SH' =>      "\x01",
    'SX' =>      "\x02",
    'EX' =>      "\x03",
    'ET' =>      "\x04",
    'EQ' =>      "\x05",
    'AK' =>      "\x06",
    'BL' =>        "\a",
    'BS' =>        "\b",
    'HT' =>        "\t",
    'LF' =>        "\n",
    'VT' =>        "\v",
    'FF' =>        "\f",
    'CR' =>        "\r",
    'SO' =>      "\x0E",
    'SI' =>      "\x0F",
    'DL' =>      "\x10",
    'D1' =>      "\x11",
    'D2' =>      "\x12",
    'D3' =>      "\x13",
    'D4' =>      "\x14",
    'NK' =>      "\x15",
    'SY' =>      "\x16",
    'EB' =>      "\x17",
    'CN' =>      "\x18",
    'EM' =>      "\x19",
    'SB' =>      "\x1A",
    'EC' =>        "\e",
    'FS' =>      "\x1C",
    'GS' =>      "\x1D",
    'RS' =>      "\x1E",
    'US' =>      "\x1F",
    'SP' =>         ' ',
    'Nb' =>         '#',
    'DO' =>         '$',
    'At' =>         '@',
    '<(' =>         '[',
    '//' =>        '\\',
    ')>' =>         ']',
    "'>" =>         '^',
    "'!" =>         '`',
    '(!' =>         '{',
    '!!' =>         '|',
    '!)' =>         '}',
    "'?" =>         '~',
    'DT' =>      "\x7F",
    'PA' =>  "\xC2\x80",
    'HO' =>  "\xC2\x81",
    'BH' =>  "\xC2\x82",
    'NH' =>  "\xC2\x83",
    'IN' =>  "\xC2\x84",
    'NL' =>         '',
    'SA' =>  "\xC2\x86",
    'ES' =>  "\xC2\x87",
    'HS' =>  "\xC2\x88",
    'HJ' =>  "\xC2\x89",
    'VS' =>  "\xC2\x8A",
    'PD' =>  "\xC2\x8B",
    'PU' =>  "\xC2\x8C",
    'RI' =>  "\xC2\x8D",
    'S2' =>  "\xC2\x8E",
    'S3' =>  "\xC2\x8F",
    'DC' =>  "\xC2\x90",
    'P1' =>  "\xC2\x91",
    'P2' =>  "\xC2\x92",
    'TS' =>  "\xC2\x93",
    'CC' =>  "\xC2\x94",
    'MW' =>  "\xC2\x95",
    'SG' =>  "\xC2\x96",
    'EG' =>  "\xC2\x97",
    'SS' =>  "\xC2\x98",
    'GC' =>  "\xC2\x99",
    'SC' =>  "\xC2\x9A",
    'CI' =>  "\xC2\x9B",
    'ST' =>  "\xC2\x9C",
    'OC' =>  "\xC2\x9D",
    'PM' =>  "\xC2\x9E",
    'AC' =>  "\xC2\x9F",
    'NS' =>         ' ',
    '!I' =>         '¡',
    'Ct' =>         '¢',
    'Pd' =>         '£',
    'Cu' =>         '¤',
    'Ye' =>         '¥',
    'BB' =>         '¦',
    'SE' =>         '§',
    "':" =>         '¨',
    'Co' =>         '©',
    '-a' =>         'ª',
    '<<' =>         '«',
    'NO' =>         '¬',
    '--' =>         '­',
    'Rg' =>         '®',
    "'m" =>         '¯',
    'DG' =>         '°',
    '+-' =>         '±',
    '2S' =>         '²',
    '3S' =>         '³',
    "'\\'" =>         '´',
    'My' =>         'µ',
    'PI' =>         '¶',
    '.M' =>         '·',
    "'," =>         '¸',
    '1S' =>         '¹',
    '-o' =>         'º',
    '>>' =>         '»',
    '14' =>         '¼',
    '12' =>         '½',
    '34' =>         '¾',
    '?I' =>         '¿',
    'A!' =>         'À',
    "A'" =>         'Á',
    'A>' =>         'Â',
    'A?' =>         'Ã',
    'A:' =>         'Ä',
    'AA' =>         'Å',
    'AE' =>         'Æ',
    'C,' =>         'Ç',
    'E!' =>         'È',
    "E'" =>         'É',
    'E>' =>         'Ê',
    'E:' =>         'Ë',
    'I!' =>         'Ì',
    "I'" =>         'Í',
    'I>' =>         'Î',
    'I:' =>         'Ï',
    'D-' =>         'Ð',
    'N?' =>         'Ñ',
    'O!' =>         'Ò',
    "O'" =>         'Ó',
    'O>' =>         'Ô',
    'O?' =>         'Õ',
    'O:' =>         'Ö',
    '*X' =>         '×',
    'O/' =>         'Ø',
    'U!' =>         'Ù',
    "U'" =>         'Ú',
    'U>' =>         'Û',
    'U:' =>         'Ü',
    "Y'" =>         'Ý',
    'TH' =>         'Þ',
    'ss' =>         'ß',
    'a!' =>         'à',
    "a'" =>         'á',
    'a>' =>         'â',
    'a?' =>         'ã',
    'a:' =>         'ä',
    'aa' =>         'å',
    'ae' =>         'æ',
    'c,' =>         'ç',
    'e!' =>         'è',
    "e'" =>         'é',
    'e>' =>         'ê',
    'e:' =>         'ë',
    'i!' =>         'ì',
    "i'" =>         'í',
    'i>' =>         'î',
    'i:' =>         'ï',
    'd-' =>         'ð',
    'n?' =>         'ñ',
    'o!' =>         'ò',
    "o'" =>         'ó',
    'o>' =>         'ô',
    'o?' =>         'õ',
    'o:' =>         'ö',
    '-:' =>         '÷',
    'o/' =>         'ø',
    'u!' =>         'ù',
    "u'" =>         'ú',
    'u>' =>         'û',
    'u:' =>         'ü',
    "y'" =>         'ý',
    'th' =>         'þ',
    'y:' =>         'ÿ',
    'A-' =>         'Ā',
    'a-' =>         'ā',
    'A(' =>         'Ă',
    'a(' =>         'ă',
    'A;' =>         'Ą',
    'a;' =>         'ą',
    "C'" =>         'Ć',
    "c'" =>         'ć',
    'C>' =>         'Ĉ',
    'c>' =>         'ĉ',
    'C.' =>         'Ċ',
    'c.' =>         'ċ',
    'C<' =>         'Č',
    'c<' =>         'č',
    'D<' =>         'Ď',
    'd<' =>         'ď',
    'D/' =>         'Đ',
    'd/' =>         'đ',
    'E-' =>         'Ē',
    'e-' =>         'ē',
    'E(' =>         'Ĕ',
    'e(' =>         'ĕ',
    'E.' =>         'Ė',
    'e.' =>         'ė',
    'E;' =>         'Ę',
    'e;' =>         'ę',
    'E<' =>         'Ě',
    'e<' =>         'ě',
    'G>' =>         'Ĝ',
    'g>' =>         'ĝ',
    'G(' =>         'Ğ',
    'g(' =>         'ğ',
    'G.' =>         'Ġ',
    'g.' =>         'ġ',
    'G,' =>         'Ģ',
    'g,' =>         'ģ',
    'H>' =>         'Ĥ',
    'h>' =>         'ĥ',
    'H/' =>         'Ħ',
    'h/' =>         'ħ',
    'I?' =>         'Ĩ',
    'i?' =>         'ĩ',
    'I-' =>         'Ī',
    'i-' =>         'ī',
    'I(' =>         'Ĭ',
    'i(' =>         'ĭ',
    'I;' =>         'Į',
    'i;' =>         'į',
    'I.' =>         'İ',
    'i.' =>         'ı',
    'IJ' =>         'Ĳ',
    'ij' =>         'ĳ',
    'J>' =>         'Ĵ',
    'j>' =>         'ĵ',
    'K,' =>         'Ķ',
    'k,' =>         'ķ',
    'kk' =>         'ĸ',
    "L'" =>         'Ĺ',
    "l'" =>         'ĺ',
    'L,' =>         'Ļ',
    'l,' =>         'ļ',
    'L<' =>         'Ľ',
    'l<' =>         'ľ',
    'L.' =>         'Ŀ',
    'l.' =>         'ŀ',
    'L/' =>         'Ł',
    'l/' =>         'ł',
    "N'" =>         'Ń',
    "n'" =>         'ń',
    'N,' =>         'Ņ',
    'n,' =>         'ņ',
    'N<' =>         'Ň',
    'n<' =>         'ň',
    "'n" =>         'ŉ',
    'NG' =>         'Ŋ',
    'ng' =>         'ŋ',
    'O-' =>         'Ō',
    'o-' =>         'ō',
    'O(' =>         'Ŏ',
    'o(' =>         'ŏ',
    'O"' =>         'Ő',
    'o"' =>         'ő',
    'OE' =>         'Œ',
    'oe' =>         'œ',
    "R'" =>         'Ŕ',
    "r'" =>         'ŕ',
    'R,' =>         'Ŗ',
    'r,' =>         'ŗ',
    'R<' =>         'Ř',
    'r<' =>         'ř',
    "S'" =>         'Ś',
    "s'" =>         'ś',
    'S>' =>         'Ŝ',
    's>' =>         'ŝ',
    'S,' =>         'Ş',
    's,' =>         'ş',
    'S<' =>         'Š',
    's<' =>         'š',
    'T,' =>         'Ţ',
    't,' =>         'ţ',
    'T<' =>         'Ť',
    't<' =>         'ť',
    'T/' =>         'Ŧ',
    't/' =>         'ŧ',
    'U?' =>         'Ũ',
    'u?' =>         'ũ',
    'U-' =>         'Ū',
    'u-' =>         'ū',
    'U(' =>         'Ŭ',
    'u(' =>         'ŭ',
    'U0' =>         'Ů',
    'u0' =>         'ů',
    'U"' =>         'Ű',
    'u"' =>         'ű',
    'U;' =>         'Ų',
    'u;' =>         'ų',
    'W>' =>         'Ŵ',
    'w>' =>         'ŵ',
    'Y>' =>         'Ŷ',
    'y>' =>         'ŷ',
    'Y:' =>         'Ÿ',
    "Z'" =>         'Ź',
    "z'" =>         'ź',
    'Z.' =>         'Ż',
    'z.' =>         'ż',
    'Z<' =>         'Ž',
    'z<' =>         'ž',
    'O9' =>         'Ơ',
    'o9' =>         'ơ',
    'OI' =>         'Ƣ',
    'oi' =>         'ƣ',
    'yr' =>         'Ʀ',
    'U9' =>         'Ư',
    'u9' =>         'ư',
    'Z/' =>         'Ƶ',
    'z/' =>         'ƶ',
    'ED' =>         'Ʒ',
    'A<' =>         'Ǎ',
    'a<' =>         'ǎ',
    'I<' =>         'Ǐ',
    'i<' =>         'ǐ',
    'O<' =>         'Ǒ',
    'o<' =>         'ǒ',
    'U<' =>         'Ǔ',
    'u<' =>         'ǔ',
    'A1' =>         'Ǟ',
    'a1' =>         'ǟ',
    'A7' =>         'Ǡ',
    'a7' =>         'ǡ',
    'A3' =>         'Ǣ',
    'a3' =>         'ǣ',
    'G/' =>         'Ǥ',
    'g/' =>         'ǥ',
    'G<' =>         'Ǧ',
    'g<' =>         'ǧ',
    'K<' =>         'Ǩ',
    'k<' =>         'ǩ',
    'O;' =>         'Ǫ',
    'o;' =>         'ǫ',
    'O1' =>         'Ǭ',
    'o1' =>         'ǭ',
    'EZ' =>         'Ǯ',
    'ez' =>         'ǯ',
    'j<' =>         'ǰ',
    "G'" =>         'Ǵ',
    "g'" =>         'ǵ',
    ';S' =>         'ʿ',
    "'<" =>         'ˇ',
    "'(" =>         '˘',
    "'." =>         '˙',
    "'0" =>         '˚',
    "';" =>         '˛',
    "'\"" =>         '˝',
    'A%' =>         'Ά',
    'E%' =>         'Έ',
    'Y%' =>         'Ή',
    'I%' =>         'Ί',
    'O%' =>         'Ό',
    'U%' =>         'Ύ',
    'W%' =>         'Ώ',
    'i3' =>         'ΐ',
    'A*' =>         'Α',
    'B*' =>         'Β',
    'G*' =>         'Γ',
    'D*' =>         'Δ',
    'E*' =>         'Ε',
    'Z*' =>         'Ζ',
    'Y*' =>         'Η',
    'H*' =>         'Θ',
    'I*' =>         'Ι',
    'K*' =>         'Κ',
    'L*' =>         'Λ',
    'M*' =>         'Μ',
    'N*' =>         'Ν',
    'C*' =>         'Ξ',
    'O*' =>         'Ο',
    'P*' =>         'Π',
    'R*' =>         'Ρ',
    'S*' =>         'Σ',
    'T*' =>         'Τ',
    'U*' =>         'Υ',
    'F*' =>         'Φ',
    'X*' =>         'Χ',
    'Q*' =>         'Ψ',
    'W*' =>         'Ω',
    'J*' =>         'Ϊ',
    'V*' =>         'Ϋ',
    'a%' =>         'ά',
    'e%' =>         'έ',
    'y%' =>         'ή',
    'i%' =>         'ί',
    'u3' =>         'ΰ',
    'a*' =>         'α',
    'b*' =>         'β',
    'g*' =>         'γ',
    'd*' =>         'δ',
    'e*' =>         'ε',
    'z*' =>         'ζ',
    'y*' =>         'η',
    'h*' =>         'θ',
    'i*' =>         'ι',
    'k*' =>         'κ',
    'l*' =>         'λ',
    'm*' =>         'μ',
    'n*' =>         'ν',
    'c*' =>         'ξ',
    'o*' =>         'ο',
    'p*' =>         'π',
    'r*' =>         'ρ',
    '*s' =>         'ς',
    's*' =>         'σ',
    't*' =>         'τ',
    'u*' =>         'υ',
    'f*' =>         'φ',
    'x*' =>         'χ',
    'q*' =>         'ψ',
    'w*' =>         'ω',
    'j*' =>         'ϊ',
    'v*' =>         'ϋ',
    'o%' =>         'ό',
    'u%' =>         'ύ',
    'w%' =>         'ώ',
    "'G" =>         'Ϙ',
    ',G' =>         'ϙ',
    'T3' =>         'Ϛ',
    't3' =>         'ϛ',
    'M3' =>         'Ϝ',
    'm3' =>         'ϝ',
    'K3' =>         'Ϟ',
    'k3' =>         'ϟ',
    'P3' =>         'Ϡ',
    'p3' =>         'ϡ',
    "'%" =>         'ϴ',
    'j3' =>         'ϵ',
    'IO' =>         'Ё',
    'D%' =>         'Ђ',
    'G%' =>         'Ѓ',
    'IE' =>         'Є',
    'DS' =>         'Ѕ',
    'II' =>         'І',
    'YI' =>         'Ї',
    'J%' =>         'Ј',
    'LJ' =>         'Љ',
    'NJ' =>         'Њ',
    'Ts' =>         'Ћ',
    'KJ' =>         'Ќ',
    'V%' =>         'Ў',
    'DZ' =>         'Џ',
    'A=' =>         'А',
    'B=' =>         'Б',
    'V=' =>         'В',
    'G=' =>         'Г',
    'D=' =>         'Д',
    'E=' =>         'Е',
    'Z%' =>         'Ж',
    'Z=' =>         'З',
    'I=' =>         'И',
    'J=' =>         'Й',
    'K=' =>         'К',
    'L=' =>         'Л',
    'M=' =>         'М',
    'N=' =>         'Н',
    'O=' =>         'О',
    'P=' =>         'П',
    'R=' =>         'Р',
    'S=' =>         'С',
    'T=' =>         'Т',
    'U=' =>         'У',
    'F=' =>         'Ф',
    'H=' =>         'Х',
    'C=' =>         'Ц',
    'C%' =>         'Ч',
    'S%' =>         'Ш',
    'Sc' =>         'Щ',
    '="' =>         'Ъ',
    'Y=' =>         'Ы',
    '%"' =>         'Ь',
    'JE' =>         'Э',
    'JU' =>         'Ю',
    'JA' =>         'Я',
    'a=' =>         'а',
    'b=' =>         'б',
    'v=' =>         'в',
    'g=' =>         'г',
    'd=' =>         'д',
    'e=' =>         'е',
    'z%' =>         'ж',
    'z=' =>         'з',
    'i=' =>         'и',
    'j=' =>         'й',
    'k=' =>         'к',
    'l=' =>         'л',
    'm=' =>         'м',
    'n=' =>         'н',
    'o=' =>         'о',
    'p=' =>         'п',
    'r=' =>         'р',
    's=' =>         'с',
    't=' =>         'т',
    'u=' =>         'у',
    'f=' =>         'ф',
    'h=' =>         'х',
    'c=' =>         'ц',
    'c%' =>         'ч',
    's%' =>         'ш',
    'sc' =>         'щ',
    "='" =>         'ъ',
    'y=' =>         'ы',
    "%'" =>         'ь',
    'je' =>         'э',
    'ju' =>         'ю',
    'ja' =>         'я',
    'io' =>         'ё',
    'd%' =>         'ђ',
    'g%' =>         'ѓ',
    'ie' =>         'є',
    'ds' =>         'ѕ',
    'ii' =>         'і',
    'yi' =>         'ї',
    'j%' =>         'ј',
    'lj' =>         'љ',
    'nj' =>         'њ',
    'ts' =>         'ћ',
    'kj' =>         'ќ',
    'v%' =>         'ў',
    'dz' =>         'џ',
    'Y3' =>         'Ѣ',
    'y3' =>         'ѣ',
    'O3' =>         'Ѫ',
    'o3' =>         'ѫ',
    'F3' =>         'Ѳ',
    'f3' =>         'ѳ',
    'V3' =>         'Ѵ',
    'v3' =>         'ѵ',
    'C3' =>         'Ҁ',
    'c3' =>         'ҁ',
    'G3' =>         'Ґ',
    'g3' =>         'ґ',
    'A+' =>         'א',
    'B+' =>         'ב',
    'G+' =>         'ג',
    'D+' =>         'ד',
    'H+' =>         'ה',
    'W+' =>         'ו',
    'Z+' =>         'ז',
    'X+' =>         'ח',
    'Tj' =>         'ט',
    'J+' =>         'י',
    'K%' =>         'ך',
    'K+' =>         'כ',
    'L+' =>         'ל',
    'M%' =>         'ם',
    'M+' =>         'מ',
    'N%' =>         'ן',
    'N+' =>         'נ',
    'S+' =>         'ס',
    'E+' =>         'ע',
    'P%' =>         'ף',
    'P+' =>         'פ',
    'Zj' =>         'ץ',
    'ZJ' =>         'צ',
    'Q+' =>         'ק',
    'R+' =>         'ר',
    'Sh' =>         'ש',
    'T+' =>         'ת',
    ',+' =>         '،',
    ';+' =>         '؛',
    '?+' =>         '؟',
    "H'" =>         'ء',
    'aM' =>         'آ',
    'aH' =>         'أ',
    'wH' =>         'ؤ',
    'ah' =>         'إ',
    'yH' =>         'ئ',
    'a+' =>         'ا',
    'b+' =>         'ب',
    'tm' =>         'ة',
    't+' =>         'ت',
    'tk' =>         'ث',
    'g+' =>         'ج',
    'hk' =>         'ح',
    'x+' =>         'خ',
    'd+' =>         'د',
    'dk' =>         'ذ',
    'r+' =>         'ر',
    'z+' =>         'ز',
    's+' =>         'س',
    'sn' =>         'ش',
    'c+' =>         'ص',
    'dd' =>         'ض',
    'tj' =>         'ط',
    'zH' =>         'ظ',
    'e+' =>         'ع',
    'i+' =>         'غ',
    '++' =>         'ـ',
    'f+' =>         'ف',
    'q+' =>         'ق',
    'k+' =>         'ك',
    'l+' =>         'ل',
    'm+' =>         'م',
    'n+' =>         'ن',
    'h+' =>         'ه',
    'w+' =>         'و',
    'j+' =>         'ى',
    'y+' =>         'ي',
    ':+' =>         'ً',
    '"+' =>         'ٌ',
    '=+' =>         'ٍ',
    '/+' =>         'َ',
    "'+" =>         'ُ',
    '1+' =>         'ِ',
    '3+' =>         'ّ',
    '0+' =>         'ْ',
    'aS' =>         'ٰ',
    'p+' =>         'پ',
    'v+' =>         'ڤ',
    'gf' =>         'گ',
    '0a' =>         '۰',
    '1a' =>         '۱',
    '2a' =>         '۲',
    '3a' =>         '۳',
    '4a' =>         '۴',
    '5a' =>         '۵',
    '6a' =>         '۶',
    '7a' =>         '۷',
    '8a' =>         '۸',
    '9a' =>         '۹',
    'B.' =>         'Ḃ',
    'b.' =>         'ḃ',
    'B_' =>         'Ḇ',
    'b_' =>         'ḇ',
    'D.' =>         'Ḋ',
    'd.' =>         'ḋ',
    'D_' =>         'Ḏ',
    'd_' =>         'ḏ',
    'D,' =>         'Ḑ',
    'd,' =>         'ḑ',
    'F.' =>         'Ḟ',
    'f.' =>         'ḟ',
    'G-' =>         'Ḡ',
    'g-' =>         'ḡ',
    'H.' =>         'Ḣ',
    'h.' =>         'ḣ',
    'H:' =>         'Ḧ',
    'h:' =>         'ḧ',
    'H,' =>         'Ḩ',
    'h,' =>         'ḩ',
    "K'" =>         'Ḱ',
    "k'" =>         'ḱ',
    'K_' =>         'Ḵ',
    'k_' =>         'ḵ',
    'L_' =>         'Ḻ',
    'l_' =>         'ḻ',
    "M'" =>         'Ḿ',
    "m'" =>         'ḿ',
    'M.' =>         'Ṁ',
    'm.' =>         'ṁ',
    'N.' =>         'Ṅ',
    'n.' =>         'ṅ',
    'N_' =>         'Ṉ',
    'n_' =>         'ṉ',
    "P'" =>         'Ṕ',
    "p'" =>         'ṕ',
    'P.' =>         'Ṗ',
    'p.' =>         'ṗ',
    'R.' =>         'Ṙ',
    'r.' =>         'ṙ',
    'R_' =>         'Ṟ',
    'r_' =>         'ṟ',
    'S.' =>         'Ṡ',
    's.' =>         'ṡ',
    'T.' =>         'Ṫ',
    't.' =>         'ṫ',
    'T_' =>         'Ṯ',
    't_' =>         'ṯ',
    'V?' =>         'Ṽ',
    'v?' =>         'ṽ',
    'W!' =>         'Ẁ',
    'w!' =>         'ẁ',
    "W'" =>         'Ẃ',
    "w'" =>         'ẃ',
    'W:' =>         'Ẅ',
    'w:' =>         'ẅ',
    'W.' =>         'Ẇ',
    'w.' =>         'ẇ',
    'X.' =>         'Ẋ',
    'x.' =>         'ẋ',
    'X:' =>         'Ẍ',
    'x:' =>         'ẍ',
    'Y.' =>         'Ẏ',
    'y.' =>         'ẏ',
    'Z>' =>         'Ẑ',
    'z>' =>         'ẑ',
    'Z_' =>         'Ẕ',
    'z_' =>         'ẕ',
    'h_' =>         'ẖ',
    't:' =>         'ẗ',
    'w0' =>         'ẘ',
    'y0' =>         'ẙ',
    'A2' =>         'Ả',
    'a2' =>         'ả',
    'E2' =>         'Ẻ',
    'e2' =>         'ẻ',
    'E?' =>         'Ẽ',
    'e?' =>         'ẽ',
    'I2' =>         'Ỉ',
    'i2' =>         'ỉ',
    'O2' =>         'Ỏ',
    'o2' =>         'ỏ',
    'U2' =>         'Ủ',
    'u2' =>         'ủ',
    'Y!' =>         'Ỳ',
    'y!' =>         'ỳ',
    'Y2' =>         'Ỷ',
    'y2' =>         'ỷ',
    'Y?' =>         'Ỹ',
    'y?' =>         'ỹ',
    ";'" =>         'ἀ',
    ",'" =>         'ἁ',
    ';!' =>         'ἂ',
    ',!' =>         'ἃ',
    '?;' =>         'ἄ',
    '?,' =>         'ἅ',
    '!:' =>         'ἆ',
    '?:' =>         'ἇ',
    '1N' =>         ' ',
    '1M' =>         ' ',
    '3M' =>         ' ',
    '4M' =>         ' ',
    '6M' =>         ' ',
    '1T' =>         ' ',
    '1H' =>         ' ',
    '-1' =>         '‐',
    '-N' =>         '–',
    '-M' =>         '—',
    '-3' =>         '―',
    '!2' =>         '‖',
    '=2' =>         '‗',
    "'6" =>         '‘',
    "'9" =>         '’',
    '.9' =>         '‚',
    "9'" =>         '‛',
    '"6' =>         '“',
    '"9' =>         '”',
    ':9' =>         '„',
    '9"' =>         '‟',
    '/-' =>         '†',
    '/=' =>         '‡',
    '..' =>         '‥',
    '%0' =>         '‰',
    "1'" =>         '′',
    "2'" =>         '″',
    "3'" =>         '‴',
    '1"' =>         '‵',
    '2"' =>         '‶',
    '3"' =>         '‷',
    'Ca' =>         '‸',
    '<1' =>         '‹',
    '>1' =>         '›',
    ':X' =>         '※',
    "'-" =>         '‾',
    '/f' =>         '⁄',
    '0S' =>         '⁰',
    '4S' =>         '⁴',
    '5S' =>         '⁵',
    '6S' =>         '⁶',
    '7S' =>         '⁷',
    '8S' =>         '⁸',
    '9S' =>         '⁹',
    '+S' =>         '⁺',
    '-S' =>         '⁻',
    '=S' =>         '⁼',
    '(S' =>         '⁽',
    ')S' =>         '⁾',
    'nS' =>         'ⁿ',
    '0s' =>         '₀',
    '1s' =>         '₁',
    '2s' =>         '₂',
    '3s' =>         '₃',
    '4s' =>         '₄',
    '5s' =>         '₅',
    '6s' =>         '₆',
    '7s' =>         '₇',
    '8s' =>         '₈',
    '9s' =>         '₉',
    '+s' =>         '₊',
    '-s' =>         '₋',
    '=s' =>         '₌',
    '(s' =>         '₍',
    ')s' =>         '₎',
    'Li' =>         '₤',
    'Pt' =>         '₧',
    'W=' =>         '₩',
    'oC' =>         '℃',
    'co' =>         '℅',
    'oF' =>         '℉',
    'N0' =>         '№',
    'PO' =>         '℗',
    'Rx' =>         '℞',
    'SM' =>         '℠',
    'TM' =>         '™',
    'Om' =>         'Ω',
    'AO' =>         'Å',
    '13' =>         '⅓',
    '23' =>         '⅔',
    '15' =>         '⅕',
    '25' =>         '⅖',
    '35' =>         '⅗',
    '45' =>         '⅘',
    '16' =>         '⅙',
    '56' =>         '⅚',
    '18' =>         '⅛',
    '38' =>         '⅜',
    '58' =>         '⅝',
    '78' =>         '⅞',
    '1R' =>         'Ⅰ',
    '2R' =>         'Ⅱ',
    '3R' =>         'Ⅲ',
    '4R' =>         'Ⅳ',
    '5R' =>         'Ⅴ',
    '6R' =>         'Ⅵ',
    '7R' =>         'Ⅶ',
    '8R' =>         'Ⅷ',
    '9R' =>         'Ⅸ',
    'aR' =>         'Ⅹ',
    'bR' =>         'Ⅺ',
    'cR' =>         'Ⅻ',
    '1r' =>         'ⅰ',
    '2r' =>         'ⅱ',
    '3r' =>         'ⅲ',
    '4r' =>         'ⅳ',
    '5r' =>         'ⅴ',
    '6r' =>         'ⅵ',
    '7r' =>         'ⅶ',
    '8r' =>         'ⅷ',
    '9r' =>         'ⅸ',
    'ar' =>         'ⅹ',
    'br' =>         'ⅺ',
    'cr' =>         'ⅻ',
    '<-' =>         '←',
    '-!' =>         '↑',
    '->' =>         '→',
    '-v' =>         '↓',
    '<>' =>         '↔',
    'UD' =>         '↕',
    '<=' =>         '⇐',
    '=>' =>         '⇒',
    '==' =>         '⇔',
    'FA' =>         '∀',
    'dP' =>         '∂',
    'TE' =>         '∃',
    '/0' =>         '∅',
    'DE' =>         '∆',
    'NB' =>         '∇',
    '(-' =>         '∈',
    '-)' =>         '∋',
    '*P' =>         '∏',
    '+Z' =>         '∑',
    '-2' =>         '−',
    '-+' =>         '∓',
    '*-' =>         '∗',
    'Ob' =>         '∘',
    'Sb' =>         '∙',
    'RT' =>         '√',
    '0(' =>         '∝',
    '00' =>         '∞',
    '-L' =>         '∟',
    '-V' =>         '∠',
    'PP' =>         '∥',
    'AN' =>         '∧',
    'OR' =>         '∨',
    '(U' =>         '∩',
    ')U' =>         '∪',
    'In' =>         '∫',
    'DI' =>         '∬',
    'Io' =>         '∮',
    '.:' =>         '∴',
    ':.' =>         '∵',
    ':R' =>         '∶',
    '::' =>         '∷',
    '?1' =>         '∼',
    'CG' =>         '∾',
    '?-' =>         '≃',
    '?=' =>         '≅',
    '?2' =>         '≈',
    '=?' =>         '≌',
    'HI' =>         '≓',
    '!=' =>         '≠',
    '=3' =>         '≡',
    '=<' =>         '≤',
    '>=' =>         '≥',
    '<*' =>         '≪',
    '*>' =>         '≫',
    '!<' =>         '≮',
    '!>' =>         '≯',
    '(C' =>         '⊂',
    ')C' =>         '⊃',
    '(_' =>         '⊆',
    ')_' =>         '⊇',
    '0.' =>         '⊙',
    '02' =>         '⊚',
    '-T' =>         '⊥',
    '.P' =>         '⋅',
    ':3' =>         '⋮',
    '.3' =>         '⋯',
    'Eh' =>         '⌂',
    '<7' =>         '⌈',
    '>7' =>         '⌉',
    '7<' =>         '⌊',
    '7>' =>         '⌋',
    'NI' =>         '⌐',
    '(A' =>         '⌒',
    'TR' =>         '⌕',
    'Iu' =>         '⌠',
    'Il' =>         '⌡',
    '</' =>         '〈',
    '/>' =>         '〉',
    'Vs' =>         '␣',
    '1h' =>         '⑀',
    '3h' =>         '⑁',
    '2h' =>         '⑂',
    '4h' =>         '⑃',
    '1j' =>         '⑆',
    '2j' =>         '⑇',
    '3j' =>         '⑈',
    '4j' =>         '⑉',
    '1.' =>         '⒈',
    '2.' =>         '⒉',
    '3.' =>         '⒊',
    '4.' =>         '⒋',
    '5.' =>         '⒌',
    '6.' =>         '⒍',
    '7.' =>         '⒎',
    '8.' =>         '⒏',
    '9.' =>         '⒐',
    'hh' =>         '─',
    'HH' =>         '━',
    'vv' =>         '│',
    'VV' =>         '┃',
    '3-' =>         '┄',
    '3_' =>         '┅',
    '3!' =>         '┆',
    '3/' =>         '┇',
    '4-' =>         '┈',
    '4_' =>         '┉',
    '4!' =>         '┊',
    '4/' =>         '┋',
    'dr' =>         '┌',
    'dR' =>         '┍',
    'Dr' =>         '┎',
    'DR' =>         '┏',
    'dl' =>         '┐',
    'dL' =>         '┑',
    'Dl' =>         '┒',
    'LD' =>         '┓',
    'ur' =>         '└',
    'uR' =>         '┕',
    'Ur' =>         '┖',
    'UR' =>         '┗',
    'ul' =>         '┘',
    'uL' =>         '┙',
    'Ul' =>         '┚',
    'UL' =>         '┛',
    'vr' =>         '├',
    'vR' =>         '┝',
    'Vr' =>         '┠',
    'VR' =>         '┣',
    'vl' =>         '┤',
    'vL' =>         '┥',
    'Vl' =>         '┨',
    'VL' =>         '┫',
    'dh' =>         '┬',
    'dH' =>         '┯',
    'Dh' =>         '┰',
    'DH' =>         '┳',
    'uh' =>         '┴',
    'uH' =>         '┷',
    'Uh' =>         '┸',
    'UH' =>         '┻',
    'vh' =>         '┼',
    'vH' =>         '┿',
    'Vh' =>         '╂',
    'VH' =>         '╋',
    'FD' =>         '╱',
    'BD' =>         '╲',
    'TB' =>         '▀',
    'LB' =>         '▄',
    'FB' =>         '█',
    'lB' =>         '▌',
    'RB' =>         '▐',
    '.S' =>         '░',
    ':S' =>         '▒',
    '?S' =>         '▓',
    'fS' =>         '■',
    'OS' =>         '□',
    'RO' =>         '▢',
    'Rr' =>         '▣',
    'RF' =>         '▤',
    'RY' =>         '▥',
    'RH' =>         '▦',
    'RZ' =>         '▧',
    'RK' =>         '▨',
    'RX' =>         '▩',
    'sB' =>         '▪',
    'SR' =>         '▬',
    'Or' =>         '▭',
    'UT' =>         '▲',
    'uT' =>         '△',
    'PR' =>         '▶',
    'Tr' =>         '▷',
    'Dt' =>         '▼',
    'dT' =>         '▽',
    'PL' =>         '◀',
    'Tl' =>         '◁',
    'Db' =>         '◆',
    'Dw' =>         '◇',
    'LZ' =>         '◊',
    '0m' =>         '○',
    '0o' =>         '◎',
    '0M' =>         '●',
    '0L' =>         '◐',
    '0R' =>         '◑',
    'Sn' =>         '◘',
    'Ic' =>         '◙',
    'Fd' =>         '◢',
    'Bd' =>         '◣',
    '*2' =>         '★',
    '*1' =>         '☆',
    '<H' =>         '☜',
    '>H' =>         '☞',
    '0u' =>         '☺',
    '0U' =>         '☻',
    'SU' =>         '☼',
    'Fm' =>         '♀',
    'Ml' =>         '♂',
    'cS' =>         '♠',
    'cH' =>         '♡',
    'cD' =>         '♢',
    'cC' =>         '♣',
    'Md' =>         '♩',
    'M8' =>         '♪',
    'M2' =>         '♫',
    'Mb' =>         '♭',
    'Mx' =>         '♮',
    'MX' =>         '♯',
    'OK' =>         '✓',
    'XX' =>         '✗',
    '-X' =>         '✠',
    'IS' =>         '　',
    ',_' =>         '、',
    '._' =>         '。',
    '+"' =>         '〃',
    '+_' =>         '〄',
    '*_' =>         '々',
    ';_' =>         '〆',
    '0_' =>         '〇',
    '<+' =>         '《',
    '>+' =>         '》',
    "<'" =>         '「',
    ">'" =>         '」',
    '<"' =>         '『',
    '>"' =>         '』',
    '("' =>         '【',
    ')"' =>         '】',
    '=T' =>         '〒',
    '=_' =>         '〓',
    "('" =>         '〔',
    ")'" =>         '〕',
    '(I' =>         '〖',
    ')I' =>         '〗',
    '-?' =>         '〜',
    'A5' =>         'ぁ',
    'a5' =>         'あ',
    'I5' =>         'ぃ',
    'i5' =>         'い',
    'U5' =>         'ぅ',
    'u5' =>         'う',
    'E5' =>         'ぇ',
    'e5' =>         'え',
    'O5' =>         'ぉ',
    'o5' =>         'お',
    'ka' =>         'か',
    'ga' =>         'が',
    'ki' =>         'き',
    'gi' =>         'ぎ',
    'ku' =>         'く',
    'gu' =>         'ぐ',
    'ke' =>         'け',
    'ge' =>         'げ',
    'ko' =>         'こ',
    'go' =>         'ご',
    'sa' =>         'さ',
    'za' =>         'ざ',
    'si' =>         'し',
    'zi' =>         'じ',
    'su' =>         'す',
    'zu' =>         'ず',
    'se' =>         'せ',
    'ze' =>         'ぜ',
    'so' =>         'そ',
    'zo' =>         'ぞ',
    'ta' =>         'た',
    'da' =>         'だ',
    'ti' =>         'ち',
    'di' =>         'ぢ',
    'tU' =>         'っ',
    'tu' =>         'つ',
    'du' =>         'づ',
    'te' =>         'て',
    'de' =>         'で',
    'to' =>         'と',
    'do' =>         'ど',
    'na' =>         'な',
    'ni' =>         'に',
    'nu' =>         'ぬ',
    'ne' =>         'ね',
    'no' =>         'の',
    'ha' =>         'は',
    'ba' =>         'ば',
    'pa' =>         'ぱ',
    'hi' =>         'ひ',
    'bi' =>         'び',
    'pi' =>         'ぴ',
    'hu' =>         'ふ',
    'bu' =>         'ぶ',
    'pu' =>         'ぷ',
    'he' =>         'へ',
    'be' =>         'べ',
    'pe' =>         'ぺ',
    'ho' =>         'ほ',
    'bo' =>         'ぼ',
    'po' =>         'ぽ',
    'ma' =>         'ま',
    'mi' =>         'み',
    'mu' =>         'む',
    'me' =>         'め',
    'mo' =>         'も',
    'yA' =>         'ゃ',
    'ya' =>         'や',
    'yU' =>         'ゅ',
    'yu' =>         'ゆ',
    'yO' =>         'ょ',
    'yo' =>         'よ',
    'ra' =>         'ら',
    'ri' =>         'り',
    'ru' =>         'る',
    're' =>         'れ',
    'ro' =>         'ろ',
    'wA' =>         'ゎ',
    'wa' =>         'わ',
    'wi' =>         'ゐ',
    'we' =>         'ゑ',
    'wo' =>         'を',
    'n5' =>         'ん',
    'vu' =>         'ゔ',
    '"5' =>         '゛',
    '05' =>         '゜',
    '*5' =>         'ゝ',
    '+5' =>         'ゞ',
    'a6' =>         'ァ',
    'A6' =>         'ア',
    'i6' =>         'ィ',
    'I6' =>         'イ',
    'u6' =>         'ゥ',
    'U6' =>         'ウ',
    'e6' =>         'ェ',
    'E6' =>         'エ',
    'o6' =>         'ォ',
    'O6' =>         'オ',
    'Ka' =>         'カ',
    'Ga' =>         'ガ',
    'Ki' =>         'キ',
    'Gi' =>         'ギ',
    'Ku' =>         'ク',
    'Gu' =>         'グ',
    'Ke' =>         'ケ',
    'Ge' =>         'ゲ',
    'Ko' =>         'コ',
    'Go' =>         'ゴ',
    'Sa' =>         'サ',
    'Za' =>         'ザ',
    'Si' =>         'シ',
    'Zi' =>         'ジ',
    'Su' =>         'ス',
    'Zu' =>         'ズ',
    'Se' =>         'セ',
    'Ze' =>         'ゼ',
    'So' =>         'ソ',
    'Zo' =>         'ゾ',
    'Ta' =>         'タ',
    'Da' =>         'ダ',
    'Ti' =>         'チ',
    'Di' =>         'ヂ',
    'TU' =>         'ッ',
    'Tu' =>         'ツ',
    'Du' =>         'ヅ',
    'Te' =>         'テ',
    'De' =>         'デ',
    'To' =>         'ト',
    'Do' =>         'ド',
    'Na' =>         'ナ',
    'Ni' =>         'ニ',
    'Nu' =>         'ヌ',
    'Ne' =>         'ネ',
    'No' =>         'ノ',
    'Ha' =>         'ハ',
    'Ba' =>         'バ',
    'Pa' =>         'パ',
    'Hi' =>         'ヒ',
    'Bi' =>         'ビ',
    'Pi' =>         'ピ',
    'Hu' =>         'フ',
    'Bu' =>         'ブ',
    'Pu' =>         'プ',
    'He' =>         'ヘ',
    'Be' =>         'ベ',
    'Pe' =>         'ペ',
    'Ho' =>         'ホ',
    'Bo' =>         'ボ',
    'Po' =>         'ポ',
    'Ma' =>         'マ',
    'Mi' =>         'ミ',
    'Mu' =>         'ム',
    'Me' =>         'メ',
    'Mo' =>         'モ',
    'YA' =>         'ャ',
    'Ya' =>         'ヤ',
    'YU' =>         'ュ',
    'Yu' =>         'ユ',
    'YO' =>         'ョ',
    'Yo' =>         'ヨ',
    'Ra' =>         'ラ',
    'Ri' =>         'リ',
    'Ru' =>         'ル',
    'Re' =>         'レ',
    'Ro' =>         'ロ',
    'WA' =>         'ヮ',
    'Wa' =>         'ワ',
    'Wi' =>         'ヰ',
    'We' =>         'ヱ',
    'Wo' =>         'ヲ',
    'N6' =>         'ン',
    'Vu' =>         'ヴ',
    'KA' =>         'ヵ',
    'KE' =>         'ヶ',
    'Va' =>         'ヷ',
    'Vi' =>         'ヸ',
    'Ve' =>         'ヹ',
    'Vo' =>         'ヺ',
    '.6' =>         '・',
    '-6' =>         'ー',
    '*6' =>         'ヽ',
    '+6' =>         'ヾ',
    'b4' =>         'ㄅ',
    'p4' =>         'ㄆ',
    'm4' =>         'ㄇ',
    'f4' =>         'ㄈ',
    'd4' =>         'ㄉ',
    't4' =>         'ㄊ',
    'n4' =>         'ㄋ',
    'l4' =>         'ㄌ',
    'g4' =>         'ㄍ',
    'k4' =>         'ㄎ',
    'h4' =>         'ㄏ',
    'j4' =>         'ㄐ',
    'q4' =>         'ㄑ',
    'x4' =>         'ㄒ',
    'zh' =>         'ㄓ',
    'ch' =>         'ㄔ',
    'sh' =>         'ㄕ',
    'r4' =>         'ㄖ',
    'z4' =>         'ㄗ',
    'c4' =>         'ㄘ',
    's4' =>         'ㄙ',
    'a4' =>         'ㄚ',
    'o4' =>         'ㄛ',
    'e4' =>         'ㄜ',
    'ai' =>         'ㄞ',
    'ei' =>         'ㄟ',
    'au' =>         'ㄠ',
    'ou' =>         'ㄡ',
    'an' =>         'ㄢ',
    'en' =>         'ㄣ',
    'aN' =>         'ㄤ',
    'eN' =>         'ㄥ',
    'er' =>         'ㄦ',
    'i4' =>         'ㄧ',
    'u4' =>         'ㄨ',
    'iu' =>         'ㄩ',
    'v4' =>         'ㄪ',
    'nG' =>         'ㄫ',
    'gn' =>         'ㄬ',
    '1c' =>         '㈠',
    '2c' =>         '㈡',
    '3c' =>         '㈢',
    '4c' =>         '㈣',
    '5c' =>         '㈤',
    '6c' =>         '㈥',
    '7c' =>         '㈦',
    '8c' =>         '㈧',
    '9c' =>         '㈨',
    '  ' =>         '',
    '/c' =>         '',
    'UA' =>         '',
    'UB' =>         '',
    '"3' =>         '',
    '"1' =>         '',
    '"!' =>         '',
    "\"'" =>         '',
    '">' =>         '',
    '"?' =>         '',
    '"-' =>         '',
    '"(' =>         '',
    '".' =>         '',
    '":' =>         '',
    '"0' =>         '',
    '""' =>         '',
    '"<' =>         '',
    '",' =>         '',
    '";' =>         '',
    '"_' =>         '',
    '"=' =>         '',
    '"/' =>         '',
    '"i' =>         '',
    '"d' =>         '',
    '"p' =>         '',
    ';;' =>         '',
    ',,' =>         '',
    'b3' =>         '',
    'Ci' =>         '',
    'f(' =>         '',
    'ed' =>         '',
    'am' =>         '',
    'pm' =>         '',
    'Fl' =>         '',
    'GF' =>         '',
    '>V' =>         '',
    '!*' =>         '',
    '?*' =>         '',
    'J<' =>         '',
    'ff' =>         'ﬀ',
    'fi' =>         'ﬁ',
    'fl' =>         'ﬂ',
    'ft' =>         'ﬅ',
    'st' =>         'ﬆ'
  }
end

eval(DATA.read) if $PROGRAM_NAME == __FILE__

__END__
# This part will generate the upper part.

# Following was my first idea, but turned out it's not possible to parse easily.
# delta ~ % vim --servername GVIM1 --remote-send ':redir > /tmp/vim_digraphs.txt<CR>:silent :digraphs<CR>:redir END<CR>'

# So now i go for the source directly, picking what's good.
# They most likely won't change that part much in future, but just in case we
# have to do something with their #ifdef statements, i keep the code around.

puts 'module VER'
puts '  DIGRAPHS = {'

File.open('/home/manveru/pkgbuilds/vim/src/vim72/src/digraph.c', 'rb') do |file|
  file.each_line do |line|
    if line =~ /^\s+\{'(.+)', '(.+)', (0x\h+)\},$/
      chr = [Integer($3)].pack('U')
      digraph = "#$1#$2"
      digraph.sub!(/\\'/, "'")
      puts "%8p => %11p," % [digraph, chr]
    end
  end
end

puts '  }'
puts 'end'
