digraphs.py 32 KB

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