1"""
2Vi Digraphs.
3This is a list of special characters that can be inserted in Vi insert mode by
4pressing Control-K followed by to normal characters.
5
6Taken from Neovim and translated to Python:
7https://raw.githubusercontent.com/neovim/neovim/master/src/nvim/digraph.c
8"""
9
10from __future__ import annotations
11
12__all__ = [
13 "DIGRAPHS",
14]
15
16# digraphs for Unicode from RFC1345
17# (also work for ISO-8859-1 aka latin1)
18DIGRAPHS: dict[tuple[str, str], int] = {
19 ("N", "U"): 0x00,
20 ("S", "H"): 0x01,
21 ("S", "X"): 0x02,
22 ("E", "X"): 0x03,
23 ("E", "T"): 0x04,
24 ("E", "Q"): 0x05,
25 ("A", "K"): 0x06,
26 ("B", "L"): 0x07,
27 ("B", "S"): 0x08,
28 ("H", "T"): 0x09,
29 ("L", "F"): 0x0A,
30 ("V", "T"): 0x0B,
31 ("F", "F"): 0x0C,
32 ("C", "R"): 0x0D,
33 ("S", "O"): 0x0E,
34 ("S", "I"): 0x0F,
35 ("D", "L"): 0x10,
36 ("D", "1"): 0x11,
37 ("D", "2"): 0x12,
38 ("D", "3"): 0x13,
39 ("D", "4"): 0x14,
40 ("N", "K"): 0x15,
41 ("S", "Y"): 0x16,
42 ("E", "B"): 0x17,
43 ("C", "N"): 0x18,
44 ("E", "M"): 0x19,
45 ("S", "B"): 0x1A,
46 ("E", "C"): 0x1B,
47 ("F", "S"): 0x1C,
48 ("G", "S"): 0x1D,
49 ("R", "S"): 0x1E,
50 ("U", "S"): 0x1F,
51 ("S", "P"): 0x20,
52 ("N", "b"): 0x23,
53 ("D", "O"): 0x24,
54 ("A", "t"): 0x40,
55 ("<", "("): 0x5B,
56 ("/", "/"): 0x5C,
57 (")", ">"): 0x5D,
58 ("'", ">"): 0x5E,
59 ("'", "!"): 0x60,
60 ("(", "!"): 0x7B,
61 ("!", "!"): 0x7C,
62 ("!", ")"): 0x7D,
63 ("'", "?"): 0x7E,
64 ("D", "T"): 0x7F,
65 ("P", "A"): 0x80,
66 ("H", "O"): 0x81,
67 ("B", "H"): 0x82,
68 ("N", "H"): 0x83,
69 ("I", "N"): 0x84,
70 ("N", "L"): 0x85,
71 ("S", "A"): 0x86,
72 ("E", "S"): 0x87,
73 ("H", "S"): 0x88,
74 ("H", "J"): 0x89,
75 ("V", "S"): 0x8A,
76 ("P", "D"): 0x8B,
77 ("P", "U"): 0x8C,
78 ("R", "I"): 0x8D,
79 ("S", "2"): 0x8E,
80 ("S", "3"): 0x8F,
81 ("D", "C"): 0x90,
82 ("P", "1"): 0x91,
83 ("P", "2"): 0x92,
84 ("T", "S"): 0x93,
85 ("C", "C"): 0x94,
86 ("M", "W"): 0x95,
87 ("S", "G"): 0x96,
88 ("E", "G"): 0x97,
89 ("S", "S"): 0x98,
90 ("G", "C"): 0x99,
91 ("S", "C"): 0x9A,
92 ("C", "I"): 0x9B,
93 ("S", "T"): 0x9C,
94 ("O", "C"): 0x9D,
95 ("P", "M"): 0x9E,
96 ("A", "C"): 0x9F,
97 ("N", "S"): 0xA0,
98 ("!", "I"): 0xA1,
99 ("C", "t"): 0xA2,
100 ("P", "d"): 0xA3,
101 ("C", "u"): 0xA4,
102 ("Y", "e"): 0xA5,
103 ("B", "B"): 0xA6,
104 ("S", "E"): 0xA7,
105 ("'", ":"): 0xA8,
106 ("C", "o"): 0xA9,
107 ("-", "a"): 0xAA,
108 ("<", "<"): 0xAB,
109 ("N", "O"): 0xAC,
110 ("-", "-"): 0xAD,
111 ("R", "g"): 0xAE,
112 ("'", "m"): 0xAF,
113 ("D", "G"): 0xB0,
114 ("+", "-"): 0xB1,
115 ("2", "S"): 0xB2,
116 ("3", "S"): 0xB3,
117 ("'", "'"): 0xB4,
118 ("M", "y"): 0xB5,
119 ("P", "I"): 0xB6,
120 (".", "M"): 0xB7,
121 ("'", ","): 0xB8,
122 ("1", "S"): 0xB9,
123 ("-", "o"): 0xBA,
124 (">", ">"): 0xBB,
125 ("1", "4"): 0xBC,
126 ("1", "2"): 0xBD,
127 ("3", "4"): 0xBE,
128 ("?", "I"): 0xBF,
129 ("A", "!"): 0xC0,
130 ("A", "'"): 0xC1,
131 ("A", ">"): 0xC2,
132 ("A", "?"): 0xC3,
133 ("A", ":"): 0xC4,
134 ("A", "A"): 0xC5,
135 ("A", "E"): 0xC6,
136 ("C", ","): 0xC7,
137 ("E", "!"): 0xC8,
138 ("E", "'"): 0xC9,
139 ("E", ">"): 0xCA,
140 ("E", ":"): 0xCB,
141 ("I", "!"): 0xCC,
142 ("I", "'"): 0xCD,
143 ("I", ">"): 0xCE,
144 ("I", ":"): 0xCF,
145 ("D", "-"): 0xD0,
146 ("N", "?"): 0xD1,
147 ("O", "!"): 0xD2,
148 ("O", "'"): 0xD3,
149 ("O", ">"): 0xD4,
150 ("O", "?"): 0xD5,
151 ("O", ":"): 0xD6,
152 ("*", "X"): 0xD7,
153 ("O", "/"): 0xD8,
154 ("U", "!"): 0xD9,
155 ("U", "'"): 0xDA,
156 ("U", ">"): 0xDB,
157 ("U", ":"): 0xDC,
158 ("Y", "'"): 0xDD,
159 ("T", "H"): 0xDE,
160 ("s", "s"): 0xDF,
161 ("a", "!"): 0xE0,
162 ("a", "'"): 0xE1,
163 ("a", ">"): 0xE2,
164 ("a", "?"): 0xE3,
165 ("a", ":"): 0xE4,
166 ("a", "a"): 0xE5,
167 ("a", "e"): 0xE6,
168 ("c", ","): 0xE7,
169 ("e", "!"): 0xE8,
170 ("e", "'"): 0xE9,
171 ("e", ">"): 0xEA,
172 ("e", ":"): 0xEB,
173 ("i", "!"): 0xEC,
174 ("i", "'"): 0xED,
175 ("i", ">"): 0xEE,
176 ("i", ":"): 0xEF,
177 ("d", "-"): 0xF0,
178 ("n", "?"): 0xF1,
179 ("o", "!"): 0xF2,
180 ("o", "'"): 0xF3,
181 ("o", ">"): 0xF4,
182 ("o", "?"): 0xF5,
183 ("o", ":"): 0xF6,
184 ("-", ":"): 0xF7,
185 ("o", "/"): 0xF8,
186 ("u", "!"): 0xF9,
187 ("u", "'"): 0xFA,
188 ("u", ">"): 0xFB,
189 ("u", ":"): 0xFC,
190 ("y", "'"): 0xFD,
191 ("t", "h"): 0xFE,
192 ("y", ":"): 0xFF,
193 ("A", "-"): 0x0100,
194 ("a", "-"): 0x0101,
195 ("A", "("): 0x0102,
196 ("a", "("): 0x0103,
197 ("A", ";"): 0x0104,
198 ("a", ";"): 0x0105,
199 ("C", "'"): 0x0106,
200 ("c", "'"): 0x0107,
201 ("C", ">"): 0x0108,
202 ("c", ">"): 0x0109,
203 ("C", "."): 0x010A,
204 ("c", "."): 0x010B,
205 ("C", "<"): 0x010C,
206 ("c", "<"): 0x010D,
207 ("D", "<"): 0x010E,
208 ("d", "<"): 0x010F,
209 ("D", "/"): 0x0110,
210 ("d", "/"): 0x0111,
211 ("E", "-"): 0x0112,
212 ("e", "-"): 0x0113,
213 ("E", "("): 0x0114,
214 ("e", "("): 0x0115,
215 ("E", "."): 0x0116,
216 ("e", "."): 0x0117,
217 ("E", ";"): 0x0118,
218 ("e", ";"): 0x0119,
219 ("E", "<"): 0x011A,
220 ("e", "<"): 0x011B,
221 ("G", ">"): 0x011C,
222 ("g", ">"): 0x011D,
223 ("G", "("): 0x011E,
224 ("g", "("): 0x011F,
225 ("G", "."): 0x0120,
226 ("g", "."): 0x0121,
227 ("G", ","): 0x0122,
228 ("g", ","): 0x0123,
229 ("H", ">"): 0x0124,
230 ("h", ">"): 0x0125,
231 ("H", "/"): 0x0126,
232 ("h", "/"): 0x0127,
233 ("I", "?"): 0x0128,
234 ("i", "?"): 0x0129,
235 ("I", "-"): 0x012A,
236 ("i", "-"): 0x012B,
237 ("I", "("): 0x012C,
238 ("i", "("): 0x012D,
239 ("I", ";"): 0x012E,
240 ("i", ";"): 0x012F,
241 ("I", "."): 0x0130,
242 ("i", "."): 0x0131,
243 ("I", "J"): 0x0132,
244 ("i", "j"): 0x0133,
245 ("J", ">"): 0x0134,
246 ("j", ">"): 0x0135,
247 ("K", ","): 0x0136,
248 ("k", ","): 0x0137,
249 ("k", "k"): 0x0138,
250 ("L", "'"): 0x0139,
251 ("l", "'"): 0x013A,
252 ("L", ","): 0x013B,
253 ("l", ","): 0x013C,
254 ("L", "<"): 0x013D,
255 ("l", "<"): 0x013E,
256 ("L", "."): 0x013F,
257 ("l", "."): 0x0140,
258 ("L", "/"): 0x0141,
259 ("l", "/"): 0x0142,
260 ("N", "'"): 0x0143,
261 ("n", "'"): 0x0144,
262 ("N", ","): 0x0145,
263 ("n", ","): 0x0146,
264 ("N", "<"): 0x0147,
265 ("n", "<"): 0x0148,
266 ("'", "n"): 0x0149,
267 ("N", "G"): 0x014A,
268 ("n", "g"): 0x014B,
269 ("O", "-"): 0x014C,
270 ("o", "-"): 0x014D,
271 ("O", "("): 0x014E,
272 ("o", "("): 0x014F,
273 ("O", '"'): 0x0150,
274 ("o", '"'): 0x0151,
275 ("O", "E"): 0x0152,
276 ("o", "e"): 0x0153,
277 ("R", "'"): 0x0154,
278 ("r", "'"): 0x0155,
279 ("R", ","): 0x0156,
280 ("r", ","): 0x0157,
281 ("R", "<"): 0x0158,
282 ("r", "<"): 0x0159,
283 ("S", "'"): 0x015A,
284 ("s", "'"): 0x015B,
285 ("S", ">"): 0x015C,
286 ("s", ">"): 0x015D,
287 ("S", ","): 0x015E,
288 ("s", ","): 0x015F,
289 ("S", "<"): 0x0160,
290 ("s", "<"): 0x0161,
291 ("T", ","): 0x0162,
292 ("t", ","): 0x0163,
293 ("T", "<"): 0x0164,
294 ("t", "<"): 0x0165,
295 ("T", "/"): 0x0166,
296 ("t", "/"): 0x0167,
297 ("U", "?"): 0x0168,
298 ("u", "?"): 0x0169,
299 ("U", "-"): 0x016A,
300 ("u", "-"): 0x016B,
301 ("U", "("): 0x016C,
302 ("u", "("): 0x016D,
303 ("U", "0"): 0x016E,
304 ("u", "0"): 0x016F,
305 ("U", '"'): 0x0170,
306 ("u", '"'): 0x0171,
307 ("U", ";"): 0x0172,
308 ("u", ";"): 0x0173,
309 ("W", ">"): 0x0174,
310 ("w", ">"): 0x0175,
311 ("Y", ">"): 0x0176,
312 ("y", ">"): 0x0177,
313 ("Y", ":"): 0x0178,
314 ("Z", "'"): 0x0179,
315 ("z", "'"): 0x017A,
316 ("Z", "."): 0x017B,
317 ("z", "."): 0x017C,
318 ("Z", "<"): 0x017D,
319 ("z", "<"): 0x017E,
320 ("O", "9"): 0x01A0,
321 ("o", "9"): 0x01A1,
322 ("O", "I"): 0x01A2,
323 ("o", "i"): 0x01A3,
324 ("y", "r"): 0x01A6,
325 ("U", "9"): 0x01AF,
326 ("u", "9"): 0x01B0,
327 ("Z", "/"): 0x01B5,
328 ("z", "/"): 0x01B6,
329 ("E", "D"): 0x01B7,
330 ("A", "<"): 0x01CD,
331 ("a", "<"): 0x01CE,
332 ("I", "<"): 0x01CF,
333 ("i", "<"): 0x01D0,
334 ("O", "<"): 0x01D1,
335 ("o", "<"): 0x01D2,
336 ("U", "<"): 0x01D3,
337 ("u", "<"): 0x01D4,
338 ("A", "1"): 0x01DE,
339 ("a", "1"): 0x01DF,
340 ("A", "7"): 0x01E0,
341 ("a", "7"): 0x01E1,
342 ("A", "3"): 0x01E2,
343 ("a", "3"): 0x01E3,
344 ("G", "/"): 0x01E4,
345 ("g", "/"): 0x01E5,
346 ("G", "<"): 0x01E6,
347 ("g", "<"): 0x01E7,
348 ("K", "<"): 0x01E8,
349 ("k", "<"): 0x01E9,
350 ("O", ";"): 0x01EA,
351 ("o", ";"): 0x01EB,
352 ("O", "1"): 0x01EC,
353 ("o", "1"): 0x01ED,
354 ("E", "Z"): 0x01EE,
355 ("e", "z"): 0x01EF,
356 ("j", "<"): 0x01F0,
357 ("G", "'"): 0x01F4,
358 ("g", "'"): 0x01F5,
359 (";", "S"): 0x02BF,
360 ("'", "<"): 0x02C7,
361 ("'", "("): 0x02D8,
362 ("'", "."): 0x02D9,
363 ("'", "0"): 0x02DA,
364 ("'", ";"): 0x02DB,
365 ("'", '"'): 0x02DD,
366 ("A", "%"): 0x0386,
367 ("E", "%"): 0x0388,
368 ("Y", "%"): 0x0389,
369 ("I", "%"): 0x038A,
370 ("O", "%"): 0x038C,
371 ("U", "%"): 0x038E,
372 ("W", "%"): 0x038F,
373 ("i", "3"): 0x0390,
374 ("A", "*"): 0x0391,
375 ("B", "*"): 0x0392,
376 ("G", "*"): 0x0393,
377 ("D", "*"): 0x0394,
378 ("E", "*"): 0x0395,
379 ("Z", "*"): 0x0396,
380 ("Y", "*"): 0x0397,
381 ("H", "*"): 0x0398,
382 ("I", "*"): 0x0399,
383 ("K", "*"): 0x039A,
384 ("L", "*"): 0x039B,
385 ("M", "*"): 0x039C,
386 ("N", "*"): 0x039D,
387 ("C", "*"): 0x039E,
388 ("O", "*"): 0x039F,
389 ("P", "*"): 0x03A0,
390 ("R", "*"): 0x03A1,
391 ("S", "*"): 0x03A3,
392 ("T", "*"): 0x03A4,
393 ("U", "*"): 0x03A5,
394 ("F", "*"): 0x03A6,
395 ("X", "*"): 0x03A7,
396 ("Q", "*"): 0x03A8,
397 ("W", "*"): 0x03A9,
398 ("J", "*"): 0x03AA,
399 ("V", "*"): 0x03AB,
400 ("a", "%"): 0x03AC,
401 ("e", "%"): 0x03AD,
402 ("y", "%"): 0x03AE,
403 ("i", "%"): 0x03AF,
404 ("u", "3"): 0x03B0,
405 ("a", "*"): 0x03B1,
406 ("b", "*"): 0x03B2,
407 ("g", "*"): 0x03B3,
408 ("d", "*"): 0x03B4,
409 ("e", "*"): 0x03B5,
410 ("z", "*"): 0x03B6,
411 ("y", "*"): 0x03B7,
412 ("h", "*"): 0x03B8,
413 ("i", "*"): 0x03B9,
414 ("k", "*"): 0x03BA,
415 ("l", "*"): 0x03BB,
416 ("m", "*"): 0x03BC,
417 ("n", "*"): 0x03BD,
418 ("c", "*"): 0x03BE,
419 ("o", "*"): 0x03BF,
420 ("p", "*"): 0x03C0,
421 ("r", "*"): 0x03C1,
422 ("*", "s"): 0x03C2,
423 ("s", "*"): 0x03C3,
424 ("t", "*"): 0x03C4,
425 ("u", "*"): 0x03C5,
426 ("f", "*"): 0x03C6,
427 ("x", "*"): 0x03C7,
428 ("q", "*"): 0x03C8,
429 ("w", "*"): 0x03C9,
430 ("j", "*"): 0x03CA,
431 ("v", "*"): 0x03CB,
432 ("o", "%"): 0x03CC,
433 ("u", "%"): 0x03CD,
434 ("w", "%"): 0x03CE,
435 ("'", "G"): 0x03D8,
436 (",", "G"): 0x03D9,
437 ("T", "3"): 0x03DA,
438 ("t", "3"): 0x03DB,
439 ("M", "3"): 0x03DC,
440 ("m", "3"): 0x03DD,
441 ("K", "3"): 0x03DE,
442 ("k", "3"): 0x03DF,
443 ("P", "3"): 0x03E0,
444 ("p", "3"): 0x03E1,
445 ("'", "%"): 0x03F4,
446 ("j", "3"): 0x03F5,
447 ("I", "O"): 0x0401,
448 ("D", "%"): 0x0402,
449 ("G", "%"): 0x0403,
450 ("I", "E"): 0x0404,
451 ("D", "S"): 0x0405,
452 ("I", "I"): 0x0406,
453 ("Y", "I"): 0x0407,
454 ("J", "%"): 0x0408,
455 ("L", "J"): 0x0409,
456 ("N", "J"): 0x040A,
457 ("T", "s"): 0x040B,
458 ("K", "J"): 0x040C,
459 ("V", "%"): 0x040E,
460 ("D", "Z"): 0x040F,
461 ("A", "="): 0x0410,
462 ("B", "="): 0x0411,
463 ("V", "="): 0x0412,
464 ("G", "="): 0x0413,
465 ("D", "="): 0x0414,
466 ("E", "="): 0x0415,
467 ("Z", "%"): 0x0416,
468 ("Z", "="): 0x0417,
469 ("I", "="): 0x0418,
470 ("J", "="): 0x0419,
471 ("K", "="): 0x041A,
472 ("L", "="): 0x041B,
473 ("M", "="): 0x041C,
474 ("N", "="): 0x041D,
475 ("O", "="): 0x041E,
476 ("P", "="): 0x041F,
477 ("R", "="): 0x0420,
478 ("S", "="): 0x0421,
479 ("T", "="): 0x0422,
480 ("U", "="): 0x0423,
481 ("F", "="): 0x0424,
482 ("H", "="): 0x0425,
483 ("C", "="): 0x0426,
484 ("C", "%"): 0x0427,
485 ("S", "%"): 0x0428,
486 ("S", "c"): 0x0429,
487 ("=", '"'): 0x042A,
488 ("Y", "="): 0x042B,
489 ("%", '"'): 0x042C,
490 ("J", "E"): 0x042D,
491 ("J", "U"): 0x042E,
492 ("J", "A"): 0x042F,
493 ("a", "="): 0x0430,
494 ("b", "="): 0x0431,
495 ("v", "="): 0x0432,
496 ("g", "="): 0x0433,
497 ("d", "="): 0x0434,
498 ("e", "="): 0x0435,
499 ("z", "%"): 0x0436,
500 ("z", "="): 0x0437,
501 ("i", "="): 0x0438,
502 ("j", "="): 0x0439,
503 ("k", "="): 0x043A,
504 ("l", "="): 0x043B,
505 ("m", "="): 0x043C,
506 ("n", "="): 0x043D,
507 ("o", "="): 0x043E,
508 ("p", "="): 0x043F,
509 ("r", "="): 0x0440,
510 ("s", "="): 0x0441,
511 ("t", "="): 0x0442,
512 ("u", "="): 0x0443,
513 ("f", "="): 0x0444,
514 ("h", "="): 0x0445,
515 ("c", "="): 0x0446,
516 ("c", "%"): 0x0447,
517 ("s", "%"): 0x0448,
518 ("s", "c"): 0x0449,
519 ("=", "'"): 0x044A,
520 ("y", "="): 0x044B,
521 ("%", "'"): 0x044C,
522 ("j", "e"): 0x044D,
523 ("j", "u"): 0x044E,
524 ("j", "a"): 0x044F,
525 ("i", "o"): 0x0451,
526 ("d", "%"): 0x0452,
527 ("g", "%"): 0x0453,
528 ("i", "e"): 0x0454,
529 ("d", "s"): 0x0455,
530 ("i", "i"): 0x0456,
531 ("y", "i"): 0x0457,
532 ("j", "%"): 0x0458,
533 ("l", "j"): 0x0459,
534 ("n", "j"): 0x045A,
535 ("t", "s"): 0x045B,
536 ("k", "j"): 0x045C,
537 ("v", "%"): 0x045E,
538 ("d", "z"): 0x045F,
539 ("Y", "3"): 0x0462,
540 ("y", "3"): 0x0463,
541 ("O", "3"): 0x046A,
542 ("o", "3"): 0x046B,
543 ("F", "3"): 0x0472,
544 ("f", "3"): 0x0473,
545 ("V", "3"): 0x0474,
546 ("v", "3"): 0x0475,
547 ("C", "3"): 0x0480,
548 ("c", "3"): 0x0481,
549 ("G", "3"): 0x0490,
550 ("g", "3"): 0x0491,
551 ("A", "+"): 0x05D0,
552 ("B", "+"): 0x05D1,
553 ("G", "+"): 0x05D2,
554 ("D", "+"): 0x05D3,
555 ("H", "+"): 0x05D4,
556 ("W", "+"): 0x05D5,
557 ("Z", "+"): 0x05D6,
558 ("X", "+"): 0x05D7,
559 ("T", "j"): 0x05D8,
560 ("J", "+"): 0x05D9,
561 ("K", "%"): 0x05DA,
562 ("K", "+"): 0x05DB,
563 ("L", "+"): 0x05DC,
564 ("M", "%"): 0x05DD,
565 ("M", "+"): 0x05DE,
566 ("N", "%"): 0x05DF,
567 ("N", "+"): 0x05E0,
568 ("S", "+"): 0x05E1,
569 ("E", "+"): 0x05E2,
570 ("P", "%"): 0x05E3,
571 ("P", "+"): 0x05E4,
572 ("Z", "j"): 0x05E5,
573 ("Z", "J"): 0x05E6,
574 ("Q", "+"): 0x05E7,
575 ("R", "+"): 0x05E8,
576 ("S", "h"): 0x05E9,
577 ("T", "+"): 0x05EA,
578 (",", "+"): 0x060C,
579 (";", "+"): 0x061B,
580 ("?", "+"): 0x061F,
581 ("H", "'"): 0x0621,
582 ("a", "M"): 0x0622,
583 ("a", "H"): 0x0623,
584 ("w", "H"): 0x0624,
585 ("a", "h"): 0x0625,
586 ("y", "H"): 0x0626,
587 ("a", "+"): 0x0627,
588 ("b", "+"): 0x0628,
589 ("t", "m"): 0x0629,
590 ("t", "+"): 0x062A,
591 ("t", "k"): 0x062B,
592 ("g", "+"): 0x062C,
593 ("h", "k"): 0x062D,
594 ("x", "+"): 0x062E,
595 ("d", "+"): 0x062F,
596 ("d", "k"): 0x0630,
597 ("r", "+"): 0x0631,
598 ("z", "+"): 0x0632,
599 ("s", "+"): 0x0633,
600 ("s", "n"): 0x0634,
601 ("c", "+"): 0x0635,
602 ("d", "d"): 0x0636,
603 ("t", "j"): 0x0637,
604 ("z", "H"): 0x0638,
605 ("e", "+"): 0x0639,
606 ("i", "+"): 0x063A,
607 ("+", "+"): 0x0640,
608 ("f", "+"): 0x0641,
609 ("q", "+"): 0x0642,
610 ("k", "+"): 0x0643,
611 ("l", "+"): 0x0644,
612 ("m", "+"): 0x0645,
613 ("n", "+"): 0x0646,
614 ("h", "+"): 0x0647,
615 ("w", "+"): 0x0648,
616 ("j", "+"): 0x0649,
617 ("y", "+"): 0x064A,
618 (":", "+"): 0x064B,
619 ('"', "+"): 0x064C,
620 ("=", "+"): 0x064D,
621 ("/", "+"): 0x064E,
622 ("'", "+"): 0x064F,
623 ("1", "+"): 0x0650,
624 ("3", "+"): 0x0651,
625 ("0", "+"): 0x0652,
626 ("a", "S"): 0x0670,
627 ("p", "+"): 0x067E,
628 ("v", "+"): 0x06A4,
629 ("g", "f"): 0x06AF,
630 ("0", "a"): 0x06F0,
631 ("1", "a"): 0x06F1,
632 ("2", "a"): 0x06F2,
633 ("3", "a"): 0x06F3,
634 ("4", "a"): 0x06F4,
635 ("5", "a"): 0x06F5,
636 ("6", "a"): 0x06F6,
637 ("7", "a"): 0x06F7,
638 ("8", "a"): 0x06F8,
639 ("9", "a"): 0x06F9,
640 ("B", "."): 0x1E02,
641 ("b", "."): 0x1E03,
642 ("B", "_"): 0x1E06,
643 ("b", "_"): 0x1E07,
644 ("D", "."): 0x1E0A,
645 ("d", "."): 0x1E0B,
646 ("D", "_"): 0x1E0E,
647 ("d", "_"): 0x1E0F,
648 ("D", ","): 0x1E10,
649 ("d", ","): 0x1E11,
650 ("F", "."): 0x1E1E,
651 ("f", "."): 0x1E1F,
652 ("G", "-"): 0x1E20,
653 ("g", "-"): 0x1E21,
654 ("H", "."): 0x1E22,
655 ("h", "."): 0x1E23,
656 ("H", ":"): 0x1E26,
657 ("h", ":"): 0x1E27,
658 ("H", ","): 0x1E28,
659 ("h", ","): 0x1E29,
660 ("K", "'"): 0x1E30,
661 ("k", "'"): 0x1E31,
662 ("K", "_"): 0x1E34,
663 ("k", "_"): 0x1E35,
664 ("L", "_"): 0x1E3A,
665 ("l", "_"): 0x1E3B,
666 ("M", "'"): 0x1E3E,
667 ("m", "'"): 0x1E3F,
668 ("M", "."): 0x1E40,
669 ("m", "."): 0x1E41,
670 ("N", "."): 0x1E44,
671 ("n", "."): 0x1E45,
672 ("N", "_"): 0x1E48,
673 ("n", "_"): 0x1E49,
674 ("P", "'"): 0x1E54,
675 ("p", "'"): 0x1E55,
676 ("P", "."): 0x1E56,
677 ("p", "."): 0x1E57,
678 ("R", "."): 0x1E58,
679 ("r", "."): 0x1E59,
680 ("R", "_"): 0x1E5E,
681 ("r", "_"): 0x1E5F,
682 ("S", "."): 0x1E60,
683 ("s", "."): 0x1E61,
684 ("T", "."): 0x1E6A,
685 ("t", "."): 0x1E6B,
686 ("T", "_"): 0x1E6E,
687 ("t", "_"): 0x1E6F,
688 ("V", "?"): 0x1E7C,
689 ("v", "?"): 0x1E7D,
690 ("W", "!"): 0x1E80,
691 ("w", "!"): 0x1E81,
692 ("W", "'"): 0x1E82,
693 ("w", "'"): 0x1E83,
694 ("W", ":"): 0x1E84,
695 ("w", ":"): 0x1E85,
696 ("W", "."): 0x1E86,
697 ("w", "."): 0x1E87,
698 ("X", "."): 0x1E8A,
699 ("x", "."): 0x1E8B,
700 ("X", ":"): 0x1E8C,
701 ("x", ":"): 0x1E8D,
702 ("Y", "."): 0x1E8E,
703 ("y", "."): 0x1E8F,
704 ("Z", ">"): 0x1E90,
705 ("z", ">"): 0x1E91,
706 ("Z", "_"): 0x1E94,
707 ("z", "_"): 0x1E95,
708 ("h", "_"): 0x1E96,
709 ("t", ":"): 0x1E97,
710 ("w", "0"): 0x1E98,
711 ("y", "0"): 0x1E99,
712 ("A", "2"): 0x1EA2,
713 ("a", "2"): 0x1EA3,
714 ("E", "2"): 0x1EBA,
715 ("e", "2"): 0x1EBB,
716 ("E", "?"): 0x1EBC,
717 ("e", "?"): 0x1EBD,
718 ("I", "2"): 0x1EC8,
719 ("i", "2"): 0x1EC9,
720 ("O", "2"): 0x1ECE,
721 ("o", "2"): 0x1ECF,
722 ("U", "2"): 0x1EE6,
723 ("u", "2"): 0x1EE7,
724 ("Y", "!"): 0x1EF2,
725 ("y", "!"): 0x1EF3,
726 ("Y", "2"): 0x1EF6,
727 ("y", "2"): 0x1EF7,
728 ("Y", "?"): 0x1EF8,
729 ("y", "?"): 0x1EF9,
730 (";", "'"): 0x1F00,
731 (",", "'"): 0x1F01,
732 (";", "!"): 0x1F02,
733 (",", "!"): 0x1F03,
734 ("?", ";"): 0x1F04,
735 ("?", ","): 0x1F05,
736 ("!", ":"): 0x1F06,
737 ("?", ":"): 0x1F07,
738 ("1", "N"): 0x2002,
739 ("1", "M"): 0x2003,
740 ("3", "M"): 0x2004,
741 ("4", "M"): 0x2005,
742 ("6", "M"): 0x2006,
743 ("1", "T"): 0x2009,
744 ("1", "H"): 0x200A,
745 ("-", "1"): 0x2010,
746 ("-", "N"): 0x2013,
747 ("-", "M"): 0x2014,
748 ("-", "3"): 0x2015,
749 ("!", "2"): 0x2016,
750 ("=", "2"): 0x2017,
751 ("'", "6"): 0x2018,
752 ("'", "9"): 0x2019,
753 (".", "9"): 0x201A,
754 ("9", "'"): 0x201B,
755 ('"', "6"): 0x201C,
756 ('"', "9"): 0x201D,
757 (":", "9"): 0x201E,
758 ("9", '"'): 0x201F,
759 ("/", "-"): 0x2020,
760 ("/", "="): 0x2021,
761 (".", "."): 0x2025,
762 ("%", "0"): 0x2030,
763 ("1", "'"): 0x2032,
764 ("2", "'"): 0x2033,
765 ("3", "'"): 0x2034,
766 ("1", '"'): 0x2035,
767 ("2", '"'): 0x2036,
768 ("3", '"'): 0x2037,
769 ("C", "a"): 0x2038,
770 ("<", "1"): 0x2039,
771 (">", "1"): 0x203A,
772 (":", "X"): 0x203B,
773 ("'", "-"): 0x203E,
774 ("/", "f"): 0x2044,
775 ("0", "S"): 0x2070,
776 ("4", "S"): 0x2074,
777 ("5", "S"): 0x2075,
778 ("6", "S"): 0x2076,
779 ("7", "S"): 0x2077,
780 ("8", "S"): 0x2078,
781 ("9", "S"): 0x2079,
782 ("+", "S"): 0x207A,
783 ("-", "S"): 0x207B,
784 ("=", "S"): 0x207C,
785 ("(", "S"): 0x207D,
786 (")", "S"): 0x207E,
787 ("n", "S"): 0x207F,
788 ("0", "s"): 0x2080,
789 ("1", "s"): 0x2081,
790 ("2", "s"): 0x2082,
791 ("3", "s"): 0x2083,
792 ("4", "s"): 0x2084,
793 ("5", "s"): 0x2085,
794 ("6", "s"): 0x2086,
795 ("7", "s"): 0x2087,
796 ("8", "s"): 0x2088,
797 ("9", "s"): 0x2089,
798 ("+", "s"): 0x208A,
799 ("-", "s"): 0x208B,
800 ("=", "s"): 0x208C,
801 ("(", "s"): 0x208D,
802 (")", "s"): 0x208E,
803 ("L", "i"): 0x20A4,
804 ("P", "t"): 0x20A7,
805 ("W", "="): 0x20A9,
806 ("=", "e"): 0x20AC, # euro
807 ("E", "u"): 0x20AC, # euro
808 ("=", "R"): 0x20BD, # rouble
809 ("=", "P"): 0x20BD, # rouble
810 ("o", "C"): 0x2103,
811 ("c", "o"): 0x2105,
812 ("o", "F"): 0x2109,
813 ("N", "0"): 0x2116,
814 ("P", "O"): 0x2117,
815 ("R", "x"): 0x211E,
816 ("S", "M"): 0x2120,
817 ("T", "M"): 0x2122,
818 ("O", "m"): 0x2126,
819 ("A", "O"): 0x212B,
820 ("1", "3"): 0x2153,
821 ("2", "3"): 0x2154,
822 ("1", "5"): 0x2155,
823 ("2", "5"): 0x2156,
824 ("3", "5"): 0x2157,
825 ("4", "5"): 0x2158,
826 ("1", "6"): 0x2159,
827 ("5", "6"): 0x215A,
828 ("1", "8"): 0x215B,
829 ("3", "8"): 0x215C,
830 ("5", "8"): 0x215D,
831 ("7", "8"): 0x215E,
832 ("1", "R"): 0x2160,
833 ("2", "R"): 0x2161,
834 ("3", "R"): 0x2162,
835 ("4", "R"): 0x2163,
836 ("5", "R"): 0x2164,
837 ("6", "R"): 0x2165,
838 ("7", "R"): 0x2166,
839 ("8", "R"): 0x2167,
840 ("9", "R"): 0x2168,
841 ("a", "R"): 0x2169,
842 ("b", "R"): 0x216A,
843 ("c", "R"): 0x216B,
844 ("1", "r"): 0x2170,
845 ("2", "r"): 0x2171,
846 ("3", "r"): 0x2172,
847 ("4", "r"): 0x2173,
848 ("5", "r"): 0x2174,
849 ("6", "r"): 0x2175,
850 ("7", "r"): 0x2176,
851 ("8", "r"): 0x2177,
852 ("9", "r"): 0x2178,
853 ("a", "r"): 0x2179,
854 ("b", "r"): 0x217A,
855 ("c", "r"): 0x217B,
856 ("<", "-"): 0x2190,
857 ("-", "!"): 0x2191,
858 ("-", ">"): 0x2192,
859 ("-", "v"): 0x2193,
860 ("<", ">"): 0x2194,
861 ("U", "D"): 0x2195,
862 ("<", "="): 0x21D0,
863 ("=", ">"): 0x21D2,
864 ("=", "="): 0x21D4,
865 ("F", "A"): 0x2200,
866 ("d", "P"): 0x2202,
867 ("T", "E"): 0x2203,
868 ("/", "0"): 0x2205,
869 ("D", "E"): 0x2206,
870 ("N", "B"): 0x2207,
871 ("(", "-"): 0x2208,
872 ("-", ")"): 0x220B,
873 ("*", "P"): 0x220F,
874 ("+", "Z"): 0x2211,
875 ("-", "2"): 0x2212,
876 ("-", "+"): 0x2213,
877 ("*", "-"): 0x2217,
878 ("O", "b"): 0x2218,
879 ("S", "b"): 0x2219,
880 ("R", "T"): 0x221A,
881 ("0", "("): 0x221D,
882 ("0", "0"): 0x221E,
883 ("-", "L"): 0x221F,
884 ("-", "V"): 0x2220,
885 ("P", "P"): 0x2225,
886 ("A", "N"): 0x2227,
887 ("O", "R"): 0x2228,
888 ("(", "U"): 0x2229,
889 (")", "U"): 0x222A,
890 ("I", "n"): 0x222B,
891 ("D", "I"): 0x222C,
892 ("I", "o"): 0x222E,
893 (".", ":"): 0x2234,
894 (":", "."): 0x2235,
895 (":", "R"): 0x2236,
896 (":", ":"): 0x2237,
897 ("?", "1"): 0x223C,
898 ("C", "G"): 0x223E,
899 ("?", "-"): 0x2243,
900 ("?", "="): 0x2245,
901 ("?", "2"): 0x2248,
902 ("=", "?"): 0x224C,
903 ("H", "I"): 0x2253,
904 ("!", "="): 0x2260,
905 ("=", "3"): 0x2261,
906 ("=", "<"): 0x2264,
907 (">", "="): 0x2265,
908 ("<", "*"): 0x226A,
909 ("*", ">"): 0x226B,
910 ("!", "<"): 0x226E,
911 ("!", ">"): 0x226F,
912 ("(", "C"): 0x2282,
913 (")", "C"): 0x2283,
914 ("(", "_"): 0x2286,
915 (")", "_"): 0x2287,
916 ("0", "."): 0x2299,
917 ("0", "2"): 0x229A,
918 ("-", "T"): 0x22A5,
919 (".", "P"): 0x22C5,
920 (":", "3"): 0x22EE,
921 (".", "3"): 0x22EF,
922 ("E", "h"): 0x2302,
923 ("<", "7"): 0x2308,
924 (">", "7"): 0x2309,
925 ("7", "<"): 0x230A,
926 ("7", ">"): 0x230B,
927 ("N", "I"): 0x2310,
928 ("(", "A"): 0x2312,
929 ("T", "R"): 0x2315,
930 ("I", "u"): 0x2320,
931 ("I", "l"): 0x2321,
932 ("<", "/"): 0x2329,
933 ("/", ">"): 0x232A,
934 ("V", "s"): 0x2423,
935 ("1", "h"): 0x2440,
936 ("3", "h"): 0x2441,
937 ("2", "h"): 0x2442,
938 ("4", "h"): 0x2443,
939 ("1", "j"): 0x2446,
940 ("2", "j"): 0x2447,
941 ("3", "j"): 0x2448,
942 ("4", "j"): 0x2449,
943 ("1", "."): 0x2488,
944 ("2", "."): 0x2489,
945 ("3", "."): 0x248A,
946 ("4", "."): 0x248B,
947 ("5", "."): 0x248C,
948 ("6", "."): 0x248D,
949 ("7", "."): 0x248E,
950 ("8", "."): 0x248F,
951 ("9", "."): 0x2490,
952 ("h", "h"): 0x2500,
953 ("H", "H"): 0x2501,
954 ("v", "v"): 0x2502,
955 ("V", "V"): 0x2503,
956 ("3", "-"): 0x2504,
957 ("3", "_"): 0x2505,
958 ("3", "!"): 0x2506,
959 ("3", "/"): 0x2507,
960 ("4", "-"): 0x2508,
961 ("4", "_"): 0x2509,
962 ("4", "!"): 0x250A,
963 ("4", "/"): 0x250B,
964 ("d", "r"): 0x250C,
965 ("d", "R"): 0x250D,
966 ("D", "r"): 0x250E,
967 ("D", "R"): 0x250F,
968 ("d", "l"): 0x2510,
969 ("d", "L"): 0x2511,
970 ("D", "l"): 0x2512,
971 ("L", "D"): 0x2513,
972 ("u", "r"): 0x2514,
973 ("u", "R"): 0x2515,
974 ("U", "r"): 0x2516,
975 ("U", "R"): 0x2517,
976 ("u", "l"): 0x2518,
977 ("u", "L"): 0x2519,
978 ("U", "l"): 0x251A,
979 ("U", "L"): 0x251B,
980 ("v", "r"): 0x251C,
981 ("v", "R"): 0x251D,
982 ("V", "r"): 0x2520,
983 ("V", "R"): 0x2523,
984 ("v", "l"): 0x2524,
985 ("v", "L"): 0x2525,
986 ("V", "l"): 0x2528,
987 ("V", "L"): 0x252B,
988 ("d", "h"): 0x252C,
989 ("d", "H"): 0x252F,
990 ("D", "h"): 0x2530,
991 ("D", "H"): 0x2533,
992 ("u", "h"): 0x2534,
993 ("u", "H"): 0x2537,
994 ("U", "h"): 0x2538,
995 ("U", "H"): 0x253B,
996 ("v", "h"): 0x253C,
997 ("v", "H"): 0x253F,
998 ("V", "h"): 0x2542,
999 ("V", "H"): 0x254B,
1000 ("F", "D"): 0x2571,
1001 ("B", "D"): 0x2572,
1002 ("T", "B"): 0x2580,
1003 ("L", "B"): 0x2584,
1004 ("F", "B"): 0x2588,
1005 ("l", "B"): 0x258C,
1006 ("R", "B"): 0x2590,
1007 (".", "S"): 0x2591,
1008 (":", "S"): 0x2592,
1009 ("?", "S"): 0x2593,
1010 ("f", "S"): 0x25A0,
1011 ("O", "S"): 0x25A1,
1012 ("R", "O"): 0x25A2,
1013 ("R", "r"): 0x25A3,
1014 ("R", "F"): 0x25A4,
1015 ("R", "Y"): 0x25A5,
1016 ("R", "H"): 0x25A6,
1017 ("R", "Z"): 0x25A7,
1018 ("R", "K"): 0x25A8,
1019 ("R", "X"): 0x25A9,
1020 ("s", "B"): 0x25AA,
1021 ("S", "R"): 0x25AC,
1022 ("O", "r"): 0x25AD,
1023 ("U", "T"): 0x25B2,
1024 ("u", "T"): 0x25B3,
1025 ("P", "R"): 0x25B6,
1026 ("T", "r"): 0x25B7,
1027 ("D", "t"): 0x25BC,
1028 ("d", "T"): 0x25BD,
1029 ("P", "L"): 0x25C0,
1030 ("T", "l"): 0x25C1,
1031 ("D", "b"): 0x25C6,
1032 ("D", "w"): 0x25C7,
1033 ("L", "Z"): 0x25CA,
1034 ("0", "m"): 0x25CB,
1035 ("0", "o"): 0x25CE,
1036 ("0", "M"): 0x25CF,
1037 ("0", "L"): 0x25D0,
1038 ("0", "R"): 0x25D1,
1039 ("S", "n"): 0x25D8,
1040 ("I", "c"): 0x25D9,
1041 ("F", "d"): 0x25E2,
1042 ("B", "d"): 0x25E3,
1043 ("*", "2"): 0x2605,
1044 ("*", "1"): 0x2606,
1045 ("<", "H"): 0x261C,
1046 (">", "H"): 0x261E,
1047 ("0", "u"): 0x263A,
1048 ("0", "U"): 0x263B,
1049 ("S", "U"): 0x263C,
1050 ("F", "m"): 0x2640,
1051 ("M", "l"): 0x2642,
1052 ("c", "S"): 0x2660,
1053 ("c", "H"): 0x2661,
1054 ("c", "D"): 0x2662,
1055 ("c", "C"): 0x2663,
1056 ("M", "d"): 0x2669,
1057 ("M", "8"): 0x266A,
1058 ("M", "2"): 0x266B,
1059 ("M", "b"): 0x266D,
1060 ("M", "x"): 0x266E,
1061 ("M", "X"): 0x266F,
1062 ("O", "K"): 0x2713,
1063 ("X", "X"): 0x2717,
1064 ("-", "X"): 0x2720,
1065 ("I", "S"): 0x3000,
1066 (",", "_"): 0x3001,
1067 (".", "_"): 0x3002,
1068 ("+", '"'): 0x3003,
1069 ("+", "_"): 0x3004,
1070 ("*", "_"): 0x3005,
1071 (";", "_"): 0x3006,
1072 ("0", "_"): 0x3007,
1073 ("<", "+"): 0x300A,
1074 (">", "+"): 0x300B,
1075 ("<", "'"): 0x300C,
1076 (">", "'"): 0x300D,
1077 ("<", '"'): 0x300E,
1078 (">", '"'): 0x300F,
1079 ("(", '"'): 0x3010,
1080 (")", '"'): 0x3011,
1081 ("=", "T"): 0x3012,
1082 ("=", "_"): 0x3013,
1083 ("(", "'"): 0x3014,
1084 (")", "'"): 0x3015,
1085 ("(", "I"): 0x3016,
1086 (")", "I"): 0x3017,
1087 ("-", "?"): 0x301C,
1088 ("A", "5"): 0x3041,
1089 ("a", "5"): 0x3042,
1090 ("I", "5"): 0x3043,
1091 ("i", "5"): 0x3044,
1092 ("U", "5"): 0x3045,
1093 ("u", "5"): 0x3046,
1094 ("E", "5"): 0x3047,
1095 ("e", "5"): 0x3048,
1096 ("O", "5"): 0x3049,
1097 ("o", "5"): 0x304A,
1098 ("k", "a"): 0x304B,
1099 ("g", "a"): 0x304C,
1100 ("k", "i"): 0x304D,
1101 ("g", "i"): 0x304E,
1102 ("k", "u"): 0x304F,
1103 ("g", "u"): 0x3050,
1104 ("k", "e"): 0x3051,
1105 ("g", "e"): 0x3052,
1106 ("k", "o"): 0x3053,
1107 ("g", "o"): 0x3054,
1108 ("s", "a"): 0x3055,
1109 ("z", "a"): 0x3056,
1110 ("s", "i"): 0x3057,
1111 ("z", "i"): 0x3058,
1112 ("s", "u"): 0x3059,
1113 ("z", "u"): 0x305A,
1114 ("s", "e"): 0x305B,
1115 ("z", "e"): 0x305C,
1116 ("s", "o"): 0x305D,
1117 ("z", "o"): 0x305E,
1118 ("t", "a"): 0x305F,
1119 ("d", "a"): 0x3060,
1120 ("t", "i"): 0x3061,
1121 ("d", "i"): 0x3062,
1122 ("t", "U"): 0x3063,
1123 ("t", "u"): 0x3064,
1124 ("d", "u"): 0x3065,
1125 ("t", "e"): 0x3066,
1126 ("d", "e"): 0x3067,
1127 ("t", "o"): 0x3068,
1128 ("d", "o"): 0x3069,
1129 ("n", "a"): 0x306A,
1130 ("n", "i"): 0x306B,
1131 ("n", "u"): 0x306C,
1132 ("n", "e"): 0x306D,
1133 ("n", "o"): 0x306E,
1134 ("h", "a"): 0x306F,
1135 ("b", "a"): 0x3070,
1136 ("p", "a"): 0x3071,
1137 ("h", "i"): 0x3072,
1138 ("b", "i"): 0x3073,
1139 ("p", "i"): 0x3074,
1140 ("h", "u"): 0x3075,
1141 ("b", "u"): 0x3076,
1142 ("p", "u"): 0x3077,
1143 ("h", "e"): 0x3078,
1144 ("b", "e"): 0x3079,
1145 ("p", "e"): 0x307A,
1146 ("h", "o"): 0x307B,
1147 ("b", "o"): 0x307C,
1148 ("p", "o"): 0x307D,
1149 ("m", "a"): 0x307E,
1150 ("m", "i"): 0x307F,
1151 ("m", "u"): 0x3080,
1152 ("m", "e"): 0x3081,
1153 ("m", "o"): 0x3082,
1154 ("y", "A"): 0x3083,
1155 ("y", "a"): 0x3084,
1156 ("y", "U"): 0x3085,
1157 ("y", "u"): 0x3086,
1158 ("y", "O"): 0x3087,
1159 ("y", "o"): 0x3088,
1160 ("r", "a"): 0x3089,
1161 ("r", "i"): 0x308A,
1162 ("r", "u"): 0x308B,
1163 ("r", "e"): 0x308C,
1164 ("r", "o"): 0x308D,
1165 ("w", "A"): 0x308E,
1166 ("w", "a"): 0x308F,
1167 ("w", "i"): 0x3090,
1168 ("w", "e"): 0x3091,
1169 ("w", "o"): 0x3092,
1170 ("n", "5"): 0x3093,
1171 ("v", "u"): 0x3094,
1172 ('"', "5"): 0x309B,
1173 ("0", "5"): 0x309C,
1174 ("*", "5"): 0x309D,
1175 ("+", "5"): 0x309E,
1176 ("a", "6"): 0x30A1,
1177 ("A", "6"): 0x30A2,
1178 ("i", "6"): 0x30A3,
1179 ("I", "6"): 0x30A4,
1180 ("u", "6"): 0x30A5,
1181 ("U", "6"): 0x30A6,
1182 ("e", "6"): 0x30A7,
1183 ("E", "6"): 0x30A8,
1184 ("o", "6"): 0x30A9,
1185 ("O", "6"): 0x30AA,
1186 ("K", "a"): 0x30AB,
1187 ("G", "a"): 0x30AC,
1188 ("K", "i"): 0x30AD,
1189 ("G", "i"): 0x30AE,
1190 ("K", "u"): 0x30AF,
1191 ("G", "u"): 0x30B0,
1192 ("K", "e"): 0x30B1,
1193 ("G", "e"): 0x30B2,
1194 ("K", "o"): 0x30B3,
1195 ("G", "o"): 0x30B4,
1196 ("S", "a"): 0x30B5,
1197 ("Z", "a"): 0x30B6,
1198 ("S", "i"): 0x30B7,
1199 ("Z", "i"): 0x30B8,
1200 ("S", "u"): 0x30B9,
1201 ("Z", "u"): 0x30BA,
1202 ("S", "e"): 0x30BB,
1203 ("Z", "e"): 0x30BC,
1204 ("S", "o"): 0x30BD,
1205 ("Z", "o"): 0x30BE,
1206 ("T", "a"): 0x30BF,
1207 ("D", "a"): 0x30C0,
1208 ("T", "i"): 0x30C1,
1209 ("D", "i"): 0x30C2,
1210 ("T", "U"): 0x30C3,
1211 ("T", "u"): 0x30C4,
1212 ("D", "u"): 0x30C5,
1213 ("T", "e"): 0x30C6,
1214 ("D", "e"): 0x30C7,
1215 ("T", "o"): 0x30C8,
1216 ("D", "o"): 0x30C9,
1217 ("N", "a"): 0x30CA,
1218 ("N", "i"): 0x30CB,
1219 ("N", "u"): 0x30CC,
1220 ("N", "e"): 0x30CD,
1221 ("N", "o"): 0x30CE,
1222 ("H", "a"): 0x30CF,
1223 ("B", "a"): 0x30D0,
1224 ("P", "a"): 0x30D1,
1225 ("H", "i"): 0x30D2,
1226 ("B", "i"): 0x30D3,
1227 ("P", "i"): 0x30D4,
1228 ("H", "u"): 0x30D5,
1229 ("B", "u"): 0x30D6,
1230 ("P", "u"): 0x30D7,
1231 ("H", "e"): 0x30D8,
1232 ("B", "e"): 0x30D9,
1233 ("P", "e"): 0x30DA,
1234 ("H", "o"): 0x30DB,
1235 ("B", "o"): 0x30DC,
1236 ("P", "o"): 0x30DD,
1237 ("M", "a"): 0x30DE,
1238 ("M", "i"): 0x30DF,
1239 ("M", "u"): 0x30E0,
1240 ("M", "e"): 0x30E1,
1241 ("M", "o"): 0x30E2,
1242 ("Y", "A"): 0x30E3,
1243 ("Y", "a"): 0x30E4,
1244 ("Y", "U"): 0x30E5,
1245 ("Y", "u"): 0x30E6,
1246 ("Y", "O"): 0x30E7,
1247 ("Y", "o"): 0x30E8,
1248 ("R", "a"): 0x30E9,
1249 ("R", "i"): 0x30EA,
1250 ("R", "u"): 0x30EB,
1251 ("R", "e"): 0x30EC,
1252 ("R", "o"): 0x30ED,
1253 ("W", "A"): 0x30EE,
1254 ("W", "a"): 0x30EF,
1255 ("W", "i"): 0x30F0,
1256 ("W", "e"): 0x30F1,
1257 ("W", "o"): 0x30F2,
1258 ("N", "6"): 0x30F3,
1259 ("V", "u"): 0x30F4,
1260 ("K", "A"): 0x30F5,
1261 ("K", "E"): 0x30F6,
1262 ("V", "a"): 0x30F7,
1263 ("V", "i"): 0x30F8,
1264 ("V", "e"): 0x30F9,
1265 ("V", "o"): 0x30FA,
1266 (".", "6"): 0x30FB,
1267 ("-", "6"): 0x30FC,
1268 ("*", "6"): 0x30FD,
1269 ("+", "6"): 0x30FE,
1270 ("b", "4"): 0x3105,
1271 ("p", "4"): 0x3106,
1272 ("m", "4"): 0x3107,
1273 ("f", "4"): 0x3108,
1274 ("d", "4"): 0x3109,
1275 ("t", "4"): 0x310A,
1276 ("n", "4"): 0x310B,
1277 ("l", "4"): 0x310C,
1278 ("g", "4"): 0x310D,
1279 ("k", "4"): 0x310E,
1280 ("h", "4"): 0x310F,
1281 ("j", "4"): 0x3110,
1282 ("q", "4"): 0x3111,
1283 ("x", "4"): 0x3112,
1284 ("z", "h"): 0x3113,
1285 ("c", "h"): 0x3114,
1286 ("s", "h"): 0x3115,
1287 ("r", "4"): 0x3116,
1288 ("z", "4"): 0x3117,
1289 ("c", "4"): 0x3118,
1290 ("s", "4"): 0x3119,
1291 ("a", "4"): 0x311A,
1292 ("o", "4"): 0x311B,
1293 ("e", "4"): 0x311C,
1294 ("a", "i"): 0x311E,
1295 ("e", "i"): 0x311F,
1296 ("a", "u"): 0x3120,
1297 ("o", "u"): 0x3121,
1298 ("a", "n"): 0x3122,
1299 ("e", "n"): 0x3123,
1300 ("a", "N"): 0x3124,
1301 ("e", "N"): 0x3125,
1302 ("e", "r"): 0x3126,
1303 ("i", "4"): 0x3127,
1304 ("u", "4"): 0x3128,
1305 ("i", "u"): 0x3129,
1306 ("v", "4"): 0x312A,
1307 ("n", "G"): 0x312B,
1308 ("g", "n"): 0x312C,
1309 ("1", "c"): 0x3220,
1310 ("2", "c"): 0x3221,
1311 ("3", "c"): 0x3222,
1312 ("4", "c"): 0x3223,
1313 ("5", "c"): 0x3224,
1314 ("6", "c"): 0x3225,
1315 ("7", "c"): 0x3226,
1316 ("8", "c"): 0x3227,
1317 ("9", "c"): 0x3228,
1318 # code points 0xe000 - 0xefff excluded, they have no assigned
1319 # characters, only used in proposals.
1320 ("f", "f"): 0xFB00,
1321 ("f", "i"): 0xFB01,
1322 ("f", "l"): 0xFB02,
1323 ("f", "t"): 0xFB05,
1324 ("s", "t"): 0xFB06,
1325 # Vim 5.x compatible digraphs that don't conflict with the above
1326 ("~", "!"): 161,
1327 ("c", "|"): 162,
1328 ("$", "$"): 163,
1329 ("o", "x"): 164, # currency symbol in ISO 8859-1
1330 ("Y", "-"): 165,
1331 ("|", "|"): 166,
1332 ("c", "O"): 169,
1333 ("-", ","): 172,
1334 ("-", "="): 175,
1335 ("~", "o"): 176,
1336 ("2", "2"): 178,
1337 ("3", "3"): 179,
1338 ("p", "p"): 182,
1339 ("~", "."): 183,
1340 ("1", "1"): 185,
1341 ("~", "?"): 191,
1342 ("A", "`"): 192,
1343 ("A", "^"): 194,
1344 ("A", "~"): 195,
1345 ("A", '"'): 196,
1346 ("A", "@"): 197,
1347 ("E", "`"): 200,
1348 ("E", "^"): 202,
1349 ("E", '"'): 203,
1350 ("I", "`"): 204,
1351 ("I", "^"): 206,
1352 ("I", '"'): 207,
1353 ("N", "~"): 209,
1354 ("O", "`"): 210,
1355 ("O", "^"): 212,
1356 ("O", "~"): 213,
1357 ("/", "\\"): 215, # multiplication symbol in ISO 8859-1
1358 ("U", "`"): 217,
1359 ("U", "^"): 219,
1360 ("I", "p"): 222,
1361 ("a", "`"): 224,
1362 ("a", "^"): 226,
1363 ("a", "~"): 227,
1364 ("a", '"'): 228,
1365 ("a", "@"): 229,
1366 ("e", "`"): 232,
1367 ("e", "^"): 234,
1368 ("e", '"'): 235,
1369 ("i", "`"): 236,
1370 ("i", "^"): 238,
1371 ("n", "~"): 241,
1372 ("o", "`"): 242,
1373 ("o", "^"): 244,
1374 ("o", "~"): 245,
1375 ("u", "`"): 249,
1376 ("u", "^"): 251,
1377 ("y", '"'): 255,
1378}