interscript 0.1.7 → 2.1.0b1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +29 -0
  5. data/LICENSE.adoc +31 -0
  6. data/README.md +3 -0
  7. data/Rakefile +116 -0
  8. data/bin/console +14 -0
  9. data/bin/interscript +5 -0
  10. data/bin/maps_analyze_staging +168 -0
  11. data/bin/maps_debug_compilers +58 -0
  12. data/bin/maps_debug_ordering +88 -0
  13. data/bin/maps_debug_ruby_compile +24 -0
  14. data/bin/maps_debug_step_by_step +44 -0
  15. data/bin/maps_optimize_order +112 -0
  16. data/bin/maps_v1_analyze_regexps +45 -0
  17. data/bin/maps_v1_to_v2 +426 -0
  18. data/bin/setup +8 -0
  19. data/exe/interscript +6 -0
  20. data/interscript.gemspec +31 -0
  21. data/lib/interscript.rb +83 -133
  22. data/lib/interscript/command.rb +5 -5
  23. data/lib/interscript/compiler.rb +22 -0
  24. data/lib/interscript/compiler/javascript.rb +292 -0
  25. data/lib/interscript/compiler/ruby.rb +262 -0
  26. data/lib/interscript/dsl.rb +68 -0
  27. data/lib/interscript/dsl/aliases.rb +23 -0
  28. data/lib/interscript/dsl/document.rb +46 -0
  29. data/lib/interscript/dsl/group.rb +45 -0
  30. data/lib/interscript/dsl/group/parallel.rb +6 -0
  31. data/lib/interscript/dsl/items.rb +89 -0
  32. data/lib/interscript/dsl/metadata.rb +68 -0
  33. data/lib/interscript/dsl/stage.rb +6 -0
  34. data/lib/interscript/dsl/symbol_mm.rb +11 -0
  35. data/lib/interscript/dsl/tests.rb +12 -0
  36. data/lib/interscript/interpreter.rb +251 -0
  37. data/lib/interscript/node.rb +25 -0
  38. data/lib/interscript/node/alias_def.rb +15 -0
  39. data/lib/interscript/node/dependency.rb +13 -0
  40. data/lib/interscript/node/document.rb +45 -0
  41. data/lib/interscript/node/group.rb +34 -0
  42. data/lib/interscript/node/group/parallel.rb +9 -0
  43. data/lib/interscript/node/group/sequential.rb +2 -0
  44. data/lib/interscript/node/item.rb +52 -0
  45. data/lib/interscript/node/item/alias.rb +42 -0
  46. data/lib/interscript/node/item/any.rb +76 -0
  47. data/lib/interscript/node/item/capture.rb +50 -0
  48. data/lib/interscript/node/item/group.rb +51 -0
  49. data/lib/interscript/node/item/repeat.rb +40 -0
  50. data/lib/interscript/node/item/stage.rb +23 -0
  51. data/lib/interscript/node/item/string.rb +51 -0
  52. data/lib/interscript/node/metadata.rb +18 -0
  53. data/lib/interscript/node/rule.rb +6 -0
  54. data/lib/interscript/node/rule/funcall.rb +18 -0
  55. data/lib/interscript/node/rule/run.rb +15 -0
  56. data/lib/interscript/node/rule/sub.rb +68 -0
  57. data/lib/interscript/node/stage.rb +19 -0
  58. data/lib/interscript/node/tests.rb +15 -0
  59. data/lib/interscript/stdlib.rb +211 -0
  60. data/lib/interscript/utils/regexp_converter.rb +283 -0
  61. data/lib/interscript/version.rb +1 -1
  62. data/lib/interscript/visualize.rb +61 -0
  63. data/lib/interscript/visualize/group.html.erb +59 -0
  64. data/lib/interscript/visualize/json.rb +57 -0
  65. data/lib/interscript/visualize/map.html.erb +46 -0
  66. data/lib/interscript/visualize/nodes.rb +89 -0
  67. data/requirements.txt +1 -0
  68. metadata +78 -416
  69. data/README.adoc +0 -298
  70. data/lib/g2pwrapper.py +0 -34
  71. data/lib/interscript/fs.rb +0 -69
  72. data/lib/interscript/mapping.rb +0 -142
  73. data/lib/interscript/opal.rb +0 -57
  74. data/lib/interscript/opal/entrypoint.rb +0 -12
  75. data/lib/interscript/opal/map_translate.rb +0 -7
  76. data/lib/interscript/opal/maps.js.erb +0 -10
  77. data/lib/model-7 +0 -0
  78. data/lib/tha-pt-b-7 +0 -0
  79. data/maps/acadsin-zho-Hani-Latn-2002.yaml +0 -38916
  80. data/maps/alalc-amh-Ethi-Latn-1997.yaml +0 -513
  81. data/maps/alalc-amh-Ethi-Latn-2011.yaml +0 -138
  82. data/maps/alalc-ara-Arab-Latn-1997.yaml +0 -1287
  83. data/maps/alalc-asm-Deva-Latn-1997.yaml +0 -165
  84. data/maps/alalc-asm-Deva-Latn-2012.yaml +0 -40
  85. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -145
  86. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +0 -129
  87. data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
  88. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -98
  89. data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -628
  90. data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -626
  91. data/maps/alalc-guj-Gujr-Latn-1997.yaml +0 -266
  92. data/maps/alalc-guj-Gujr-Latn-2011.yaml +0 -64
  93. data/maps/alalc-hin-Deva-Latn-1997.yaml +0 -211
  94. data/maps/alalc-hin-Deva-Latn-2011.yaml +0 -47
  95. data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -111
  96. data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -150
  97. data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -98
  98. data/maps/alalc-mal-Mlym-Latn-1997.yaml +0 -303
  99. data/maps/alalc-mal-Mlym-Latn-2012.yaml +0 -73
  100. data/maps/alalc-mar-Deva-Latn-1997.yaml +0 -189
  101. data/maps/alalc-mar-Deva-Latn-2011.yaml +0 -45
  102. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +0 -114
  103. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
  104. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +0 -220
  105. data/maps/alalc-pan-Guru-Latn-1997.yaml +0 -256
  106. data/maps/alalc-pan-Guru-Latn-2011.yaml +0 -78
  107. data/maps/alalc-per-Arab-Latn-1997.yaml +0 -375
  108. data/maps/alalc-pli-Deva-Latn-2012.yaml +0 -144
  109. data/maps/alalc-pra-Deva-Latn-2012.yaml +0 -47
  110. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -225
  111. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
  112. data/maps/alalc-san-Deva-Latn-2012.yaml +0 -172
  113. data/maps/alalc-sin-Sinh-Latn-1997.yaml +0 -292
  114. data/maps/alalc-sin-Sinh-Latn-2011.yaml +0 -71
  115. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -118
  116. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +0 -135
  117. data/maps/alalc-tam-Taml-Latn-1997.yaml +0 -62
  118. data/maps/alalc-tam-Taml-Latn-2011.yaml +0 -58
  119. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -145
  120. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
  121. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
  122. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -174
  123. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
  124. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -292
  125. data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -35
  126. data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
  127. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
  128. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
  129. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +0 -532
  130. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +0 -596
  131. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
  132. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -104
  133. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -188
  134. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +0 -289
  135. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -119
  136. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -42
  137. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +0 -184
  138. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -705
  139. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -23
  140. data/maps/bgnpcgn-fas-Arab-Latn-1956.yaml +0 -96
  141. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
  142. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -131
  143. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -42
  144. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
  145. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
  146. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
  147. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -163
  148. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
  149. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +0 -223
  150. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +0 -230
  151. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +0 -336
  152. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +0 -639
  153. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +0 -459
  154. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +0 -168
  155. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -318
  156. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -170
  157. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +0 -220
  158. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +0 -240
  159. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -166
  160. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -119
  161. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +0 -127
  162. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +0 -82
  163. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +0 -7456
  164. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +0 -159
  165. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +0 -156
  166. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +0 -184
  167. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +0 -181
  168. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +0 -173
  169. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +0 -176
  170. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +0 -160
  171. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +0 -175
  172. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +0 -170
  173. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +0 -155
  174. data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -172
  175. data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
  176. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +0 -899
  177. data/maps/din-hin-Deva-Latn-33904-2018.yaml +0 -100
  178. data/maps/din-kat-Geor-Latn-32707-2010.yaml +0 -145
  179. data/maps/din-mar-Deva-Latn-33904-2018.yaml +0 -84
  180. data/maps/din-nep-Deva-Latn-33904-2018.yaml +0 -119
  181. data/maps/din-pli-Deva-Latn-33904-2018.yaml +0 -75
  182. data/maps/din-pra-Deva-Latn-33904-2018.yaml +0 -63
  183. data/maps/din-san-Deva-Latn-33904-2018.yaml +0 -338
  184. data/maps/din-tam-Taml-Latn-33903-2016.yaml +0 -213
  185. data/maps/dos-nep-Deva-Latn-1997.yaml +0 -47
  186. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -684
  187. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -680
  188. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -19
  189. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -31
  190. data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -92
  191. data/maps/gki-bel-Cyrl-Latn-1992.yaml +0 -33
  192. data/maps/gki-bel-Cyrl-Latn-2000.yaml +0 -201
  193. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +0 -190
  194. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +0 -157
  195. data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
  196. data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -136
  197. data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -118
  198. data/maps/icao-fas-Arab-Latn-9303.yaml +0 -103
  199. data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
  200. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
  201. data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -117
  202. data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
  203. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -119
  204. data/maps/iso-ara-Arab-Latn-233-1984.yaml +0 -323
  205. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +0 -75
  206. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +0 -175
  207. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -613
  208. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -44
  209. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +0 -220
  210. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +0 -87
  211. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +0 -61
  212. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -66
  213. data/maps/iso-kan-Knda-Latn-15919-2001.yaml +0 -220
  214. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +0 -145
  215. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +0 -240
  216. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +0 -226
  217. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +0 -281
  218. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +0 -75
  219. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +0 -87
  220. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +0 -193
  221. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +0 -222
  222. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +0 -73
  223. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +0 -74
  224. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +0 -219
  225. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +0 -55
  226. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +0 -59
  227. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +0 -366
  228. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -271
  229. data/maps/iso-san-Deva-Latn-15919-2001.yaml +0 -220
  230. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +0 -159
  231. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +0 -220
  232. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
  233. data/maps/kp-kor-Hang-Latn-2002.yaml +0 -909
  234. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
  235. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
  236. data/maps/mns-mon-Cyrl-Latn-5217-2012.yaml +0 -163
  237. data/maps/mns-mon-Latn-Cyrl-5217-2012.yaml +0 -200
  238. data/maps/moct-kor-Hang-Latn-2000.yaml +0 -807
  239. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
  240. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
  241. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
  242. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -109
  243. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
  244. data/maps/odni-ara-Arab-Latn-2015.yaml +0 -425
  245. data/maps/odni-aze-Cyrl-Latn-2015.yaml +0 -144
  246. data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
  247. data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
  248. data/maps/odni-che-Cyrl-Latn-2015.yaml +0 -169
  249. data/maps/odni-fas-Arab-Latn-2015.yaml +0 -406
  250. data/maps/odni-hin-Deva-Latn-2015.yaml +0 -258
  251. data/maps/odni-kat-Geor-Latn-2015.yaml +0 -87
  252. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +0 -148
  253. data/maps/odni-kir-Cyrl-Latn-2015.yaml +0 -136
  254. data/maps/odni-kor-Hang-Latn-2015.yaml +0 -375
  255. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +0 -122
  256. data/maps/odni-per-Arab-Latn-2015.yaml +0 -228
  257. data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
  258. data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
  259. data/maps/odni-tat-Cyrl-Latn-2015.yaml +0 -142
  260. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +0 -148
  261. data/maps/odni-uig-Cyrl-Latn-2015.yaml +0 -138
  262. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -157
  263. data/maps/odni-urd-Arab-Latn-2015.yaml +0 -221
  264. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -166
  265. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
  266. data/maps/royin-tha-Thai-Latn-1968.yaml +0 -183
  267. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
  268. data/maps/royin-tha-Thai-Latn-1999.yaml +0 -80
  269. data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24763
  270. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +0 -389
  271. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +0 -354
  272. data/maps/ses-ara-Arab-Latn-1930.yaml +0 -283
  273. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
  274. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -197
  275. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +0 -75
  276. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +0 -192
  277. data/maps/un-amh-Ethi-Latn-2016.yaml +0 -602
  278. data/maps/un-ara-Arab-Latn-1971.yaml +0 -139
  279. data/maps/un-ara-Arab-Latn-1972.yaml +0 -159
  280. data/maps/un-ara-Arab-Latn-2017.yaml +0 -420
  281. data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
  282. data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
  283. data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +0 -780
  284. data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -31
  285. data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -19
  286. data/maps/un-hin-Deva-Latn-2016.yaml +0 -222
  287. data/maps/un-mar-Deva-Latn-2016.yaml +0 -91
  288. data/maps/un-mon-Mong-Latn-general-2013.yaml +0 -264
  289. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +0 -264
  290. data/maps/un-nep-Deva-Latn-1972.yaml +0 -350
  291. data/maps/un-nep-Deva-Latn-2013.yaml +0 -74
  292. data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
  293. data/maps/un-ukr-Cyrl-Latn-1998.yaml +0 -53
  294. data/maps/un-ukr-Cyrl-Latn-2012.yaml +0 -162
  295. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +0 -221
  296. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
  297. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
  298. data/maps/var-kor-Hang-Hang-jamo.yaml +0 -11193
  299. data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
  300. data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
  301. data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -36
  302. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +0 -43
  303. data/maps/var-mon-Mong-Latn-1930.yaml +0 -102
  304. data/maps/var-mon-Mong-Latn-lessing.yaml +0 -272
  305. data/maps/var-mon-Mong-Latn-vpmc.yaml +0 -274
  306. data/maps/var-pra-Deva-Latn-iast-1912.yaml +0 -30
  307. data/maps/var-san-Deva-Latn-iast-1912.yaml +0 -149
  308. data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
  309. data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
  310. data/maps/var-zho-Hani-Latn-wd-1979.yaml +0 -38912
  311. data/spec/interscript/filenames_spec.rb +0 -384
  312. data/spec/interscript/mapping_spec.rb +0 -42
  313. data/spec/interscript_spec.rb +0 -29
  314. data/spec/spec_helper.rb +0 -3
@@ -1,144 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:aze
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Standards for the transliteration of azeri personal names in written reports and products
8
- source: ICS-630-01 Annex P
9
- creation_date: 2015
10
- confirmation_date: 2015
11
- description: |
12
- This system is the Intelligence Community standard for the transliteration of Azeri person names
13
- that will be applied to all final written reports and products for IC consumers. It is not
14
- intended to eliminate variations of a name that can contribute forensic information. Rather, it is
15
- to provide an IC standard Romanized (English) transliteration from Azeri that can then be linked
16
- to forensic information in ways that will help identify the referent of the name.
17
-
18
- In cases where an individual’s name has already been transliterated in a variant spelling, the IC
19
- Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the
20
- first usage. In addition, if the original Cyrillic-script spelling is known, that spelling should
21
- also appear in parentheses following the name, if possible, following best practices of the
22
- issuing organization and taking into consideration information system capabilities. For example:
23
- Rashad Sadykhov (also seen as Rashad Sadigov, Рашад Садыхов). This convention is designed to
24
- ensure that vital forensic information is not lost.
25
-
26
- For names of persons who are known to not be part of the Azeri-speaking community, use the
27
- relevant IC transliteration standard for names from that language (e.g., Yitzhak). A translator’s
28
- note may be used to clarify the known origin of the person. Spell names of individuals from
29
- languages that are written in Roman letters as they are spelled in those languages (e.g.,
30
- George Clooney, Jorge Garcia, Georges Pompidou).
31
-
32
- In the case of active senior government officials in the on-line CIA World Factbook and the on-
33
- line directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings given
34
- in these on-line reference works should be used in place of the IC Standard. For any individual
35
- who has at one time been listed in the Factbook or Chiefs of State directory but who no longer
36
- appears in those resources (i.e. is no longer a government official), the IC Standard spelling
37
- should appear first, with the spelling, if known, as it previously appeared in those resources
38
- listed within parentheses at the first usage.
39
-
40
- The primary goal is to produce a consistent Romanized transcription of names that is specifically
41
- readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
42
- (English) Roman alphabet. Some ambiguities in the Romanized form will occur without the use of
43
- diacritics. However, within the context of a report, where additional information about the
44
- individual is provided, the referent will be clearly identified. This system will be used in
45
- conjunction with on-line tools, name dictionaries, and lists containing conventional spellings of
46
- names of well-known individuals.
47
-
48
- notes:
49
- - Transliterate double digraphs as a single digraph, i.e. шш -> sh, not shsh
50
- - In the Roman, no distinction is made between digraphs such as 'sh' and single contiguous letters,
51
- (e.g. 's' followed by 'h').
52
- - The Cyrillic ъ and ь are not transliterated, but instead are left out of the transliteration.
53
-
54
- tests:
55
- - source: Рашад Садыхов
56
- expected: Rashad Sadykhov
57
-
58
- map:
59
- rules:
60
- # note[1]
61
- - pattern: "(?i)(\u0492|\u0401|\u0416|\u0425|\u0427|\u0428|\u0429|\u042E|\u042F)\\1(?-i)"
62
- result: "\\1"
63
- # note[3]
64
- - pattern: \u044A|\u044C
65
- result: ""
66
-
67
- characters:
68
- '\u0410': 'A' # А
69
- '\u0411': 'B' # Б
70
- '\u0412': 'V' # В
71
- '\u0413': 'G' # Г
72
- '\u049C': 'G' # Ҝ
73
- '\u0492': 'Gh' # Ғ
74
- '\u0414': 'D' # Д
75
- '\u0415': 'E' # Е
76
- '\u0401': 'Yo' # Ё
77
- '\u04D8': 'A' # Ә
78
- '\u0416': 'Zh' # Ж
79
- '\u0417': 'Z' # З
80
- '\u0418': 'I' # И
81
- '\u0419': 'Y' # Й
82
- '\u0408': 'Y' # Ј
83
- '\u041A': 'K' # К
84
- '\u041B': 'L' # Л
85
- '\u041C': 'M' # М
86
- '\u041D': 'N' # Н
87
- '\u041E': 'O' # О
88
- '\u04E8': 'O' # Ө
89
- '\u041F': 'P' # П
90
- '\u0420': 'R' # Р
91
- '\u0421': 'S' # С
92
- '\u0422': 'T' # Т
93
- '\u0423': 'U' # У
94
- '\u04AE': 'U' # Ү
95
- '\u0424': 'F' # Ф
96
- '\u0425': 'Kh' # Х
97
- '\u04BA': 'H' # Һ
98
- '\u0427': 'Ch' # Ч
99
- '\u04B8': 'J' # Ҹ
100
- '\u0428': 'Sh' # Ш
101
- '\u0429': 'Shch' # Щ
102
- '\u042B': 'Y' # Ы
103
- '\u042D': 'E' # Э
104
- '\u042E': 'Yu' # Ю
105
- '\u042F': 'Ya' # Я
106
-
107
- '\u0430': 'a' # а
108
- '\u0431': 'b' # б
109
- '\u0432': 'v' # в
110
- '\u0433': 'g' # г
111
- '\u049D': 'g' # ҝ
112
- '\u0493': 'gh' # ғ
113
- '\u0434': 'd' # д
114
- '\u0435': 'e' # e
115
- '\u0451': 'yo' # ё
116
- '\u04D9': 'a' # ә
117
- '\u0436': 'zh' # ж
118
- '\u0437': 'z' # з
119
- '\u0438': 'i' # и
120
- '\u0439': 'y' # й
121
- '\u0458': 'y' # ј
122
- '\u043A': 'k' # к
123
- '\u043B': 'l' # л
124
- '\u043C': 'm' # м
125
- '\u043D': 'n' # н
126
- '\u043E': 'o' # о
127
- '\u04E9': 'o' # ө
128
- '\u043F': 'p' # п
129
- '\u0440': 'r' # р
130
- '\u0441': 's' # с
131
- '\u0442': 't' # т
132
- '\u0443': 'u' # у
133
- '\u04AF': 'u' # ү
134
- '\u0444': 'f' # ф
135
- '\u0445': 'kh' # х
136
- '\u04BB': 'h' # һ
137
- '\u0447': 'ch' # ч
138
- '\u04B9': 'j' # ҹ
139
- '\u0448': 'sh' # ш
140
- '\u0449': 'shch' # щ
141
- '\u044B': 'y' # ы
142
- '\u044D': 'e' # э
143
- '\u044E': 'yu' # ю
144
- '\u044F': 'ya' # я
@@ -1,148 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:bel
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Office of the Director Of National Intelligence Belarusian Personal Names 2015, ICS 630-01 Annex B
8
- # url:
9
- source: ICS 630-01, Annex B
10
- creation_date: 2015
11
- confirmation_date: 2015
12
- description: |
13
- This system is the Intelligence Community (IC) standard for the transliteration of Belarusian
14
- names that will be applied to all final written reports and products for IC consumers. It is not
15
- intended to eliminate variations of a name that can contribute forensic information. Rather, it is to
16
- provide an IC standard Romanized (English) transliteration from Belarusian that can then be
17
- linked to forensic information in ways that will help identify the referent of the name.
18
-
19
- In cases where an individual’s name has already been transliterated in a variant spelling, the IC
20
- Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the first
21
- usage. In addition, if the original Cyrillic spelling is known, that spelling should also appear in
22
- parentheses following the name, if possible, following best practices of the issuing organization
23
- and taking into consideration information system capabilities. This convention is designed to
24
- ensure that vital forensic information is not lost.
25
-
26
- For names of persons who are known to not be part of the Belarusian-speaking community, use
27
- the relevant IC transliteration standard for names from that language (e.g., Mikhail, Yitzhak). A
28
- translator’s note may be used to clarify the known origin of the person. Spell names of
29
- individuals from languages that are written in Roman letters as they are spelled in those
30
- languages (e.g., George Clooney, Jorge Garcia, Georges Pompidou).
31
-
32
- In the case of active senior government officials in the on-line CIA World Factbook and the online directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings
33
- given in these on-line reference works should be used in place of the IC Standard. For any
34
- individual who has at one time been listed in the Factbook or Chiefs of State directory but who no
35
- longer appears in those resources (i.e. is no longer a government official), the IC Standard
36
- spelling should appear first, with the spelling, if known, as it previously appeared in those
37
- resources listed within parentheses at the first usage.
38
-
39
- The primary goal is to produce a consistent Romanized transcription of names that is specifically
40
- readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
41
- (English) Roman alphabet. Some ambiguities in the Romanized form will occur without the use
42
- of diacritics. However, within the context of a report, where additional information about the
43
- individual is provided, the referent will be clearly identified. This system will be used in
44
- conjunction with on-line tools, name
45
-
46
- notes:
47
-
48
- tests:
49
- - source: Міхаіл
50
- expected: Mikhail
51
- - source: Беларусь
52
- expected: Byelarus
53
- - source: Кастусь Каліноўскі
54
- expected: Kastus Kalinowski
55
- - source: Васіль Быкау
56
- expected: Vasil Bykau
57
- - source: Янка Купала
58
- expected: Yanka Kupala
59
- - source: Маланка
60
- expected: Malanka
61
- - source: Пакаранне
62
- expected: Pakarannye
63
- - source: Бэз
64
- expected: Bez
65
- - source: Чабор
66
- expected: Chabor
67
- - source: |
68
- Дзяўчына, дзяўчыначка пасярод гісторыі
69
- З прастадушнай шчырасьцю глядзіць на тэрыторыю.
70
- У вакне заўсёды звыклая выява:
71
- Шэры двор, шэры слуп, на слупе аб'явы.
72
- expected: |
73
- Dzyawchyna, dzyawchynachka pasyarod historyi
74
- Z prastadushnay shchyrastsyu hlyadzits na terytoryyu.
75
- U vaknye zawsyody zvyklaya vyyava:
76
- Shery dvor, shery slup, na slupye abyavy.
77
-
78
- map:
79
- characters:
80
- '\u0027' : '' # '
81
-
82
- '\u0410' : 'A' # A
83
- '\u0411' : 'B' # Б
84
- '\u0412' : 'V' # B
85
- '\u0413' : 'H' # Г
86
- '\u0490' : 'G' # Ґ
87
- '\u0414' : 'D' # Д
88
- '\u0415' : 'Ye' # Е
89
- '\u0401' : 'Yo' # Ё
90
- '\u0416' : 'Zh' # Ж
91
- '\u0417' : 'Z' # З
92
- '\u0406' : 'I' # І
93
- '\u0419' : 'Y' # Й
94
- '\u041A' : 'K' # К
95
- '\u041B' : 'L' # Л
96
- '\u041C' : 'M' # М
97
- '\u041D' : 'N' # Н
98
- '\u041E' : 'O' # О
99
- '\u041F' : 'P' # П
100
- '\u0420' : 'R' # Р
101
- '\u0421' : 'S' # С
102
- '\u0422' : 'T' # Т
103
- '\u0423' : 'U' # У
104
- '\U040E' : 'W' # Ў
105
- '\u0424' : 'F' # Ф
106
- '\u0425' : 'Kh' # Х
107
- '\u0426' : 'Ts' # Ц
108
- '\u0427' : 'Ch' # Ч
109
- '\u0428' : 'Sh' # Ш
110
- '\u042B' : 'Y' # Ы
111
- '\u042C' : '' # Ь
112
- '\u042D' : 'E' # Э
113
- '\u042E' : 'Yu' # Ю
114
- '\u042F' : 'Ya' # Я
115
-
116
- '\u0430' : 'a' # а
117
- '\u0431' : 'b' # б
118
- '\u0432' : 'v' # в
119
- '\u0433' : 'h' # г
120
- '\u0491' : 'g' # ґ
121
- '\u0434' : 'd' # д
122
- '\u0435' : 'ye' # е
123
- '\u0451' : 'yo' # ё
124
- '\u0436' : 'zh' # ж
125
- '\u0437' : 'z' # з
126
- '\u0456' : 'i' # і
127
- '\u0439' : 'y' # й
128
- '\u043A' : 'k' # к
129
- '\u043B' : 'l' # л
130
- '\u043C' : 'm' # м
131
- '\u043D' : 'n' # н
132
- '\u043E' : 'o' # о
133
- '\u043F' : 'p' # п
134
- '\u0440' : 'r' # р
135
- '\u0441' : 's' # с
136
- '\u0442' : 't' # т
137
- '\u0443' : 'u' # у
138
- '\u045E' : 'w' # ў
139
- '\u0444' : 'f' # ф
140
- '\u0445' : 'kh' # х
141
- '\u0446' : 'ts' # ц
142
- '\u0447' : 'ch' # ч
143
- '\u0448' : 'sh' # ш
144
- '\u044B' : 'y' # ы
145
- '\u044c' : '' # Ь
146
- '\u044D' : 'e' # э
147
- '\u044E' : 'yu' # ю
148
- '\u044F' : 'ya' # я
@@ -1,96 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:bul
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Office of the Director Of National Intelligence Bulgarian Personal Names 2015, ICS-630-01 Annex O
8
- # url:
9
- source: ICS-630-01 Annex O
10
- creation_date: 2015
11
- confirmation_date: 2015
12
- description: |
13
- This system is the Intelligence Community standard for the transliteration of Bulgarian person
14
- names that will be applied to all final written reports and products for IC consumers. This
15
- standard matches both the Bulgarian national standard adopted in 2009 and the Board of
16
- Geographic Names / Permanent Committee on Geographic Names standard adopted in 2013. It is
17
- not intended to eliminate variations of a name that can contribute forensic information. Rather, it
18
- is to provide an IC standard Romanized (English) transliteration from Bulgarian that can then be
19
- linked to forensic information in ways that will help identify the referent of the name.
20
-
21
- In cases where an individual’s name has already been transliterated in a variant spelling, the IC
22
- Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the first
23
- usage. In addition, if the original Cyrillic-script spelling is known, that spelling should also
24
- appear in parentheses following the name, if possible, following best practices of the issuing
25
- organization and taking into consideration information system capabilities. For example: Dobri
26
- Hristov (also seen as Dobri Khristov, Добри Христов). This convention is designed to ensure
27
- that vital forensic information is not lost.
28
-
29
- For names of persons who are known to not be part of the Bulgarian-speaking community, use
30
- the relevant IC transliteration standard for names from that language (e.g., Yitzhak). A
31
- translator’s note may be used to clarify the known origin of the person. Spell names of
32
- individuals from languages that are written in Roman letters as they are spelled in those
33
- languages (e.g., George Clooney, Jorge Garcia, Georges Pompidou).
34
-
35
- In the case of active senior government officials in the on-line CIA World Factbook and the online directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings
36
- given in these on-line reference works should be used in place of the IC Standard. For any
37
- individual who has at one time been listed in the Factbook or Chiefs of State directory but who no
38
- longer appears in those resources (i.e. is no longer a government official), the IC Standard
39
- spelling should appear first, with the spelling, if known, as it previously appeared in those
40
- resources listed within parentheses at the first usage.
41
-
42
- The primary goal is to produce a consistent Romanized transcription of names that is specifically
43
- readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
44
- (English) Roman alphabet. Some ambiguities in the Romanized form will occur without the use
45
- of diacritics. However, within the context of a report, where additional information about the
46
- individual is provided, the referent will be clearly identified. This system will be used in
47
- conjunction with on-line tools, name dictionaries, and lists containing conventional spellings of
48
- names of well-known individuals.
49
-
50
- notes:
51
- - Transliterate double digraphs as a single digraph i.e. шш -> sh, not shsh
52
- - In the Roman, no distinction is made between digraphs such as 'sh' and single contiguous letters (e.g. 's' followed by 'h').
53
-
54
- tests:
55
-
56
- - source: Добри Христов
57
- expected: Dobri Khristov
58
- - source: болгарица
59
- expected: bolgaritsa
60
- - source: български език
61
- expected: balgarski ezik
62
- - source: българска азбука
63
- expected: balgarska azbuka
64
- - source: град
65
- expected: grad
66
- - source: аз държа
67
- expected: az darzha
68
- - source: Ядеш хляба с чубрица
69
- expected: Yadesh khlyaba s chubritsa
70
-
71
-
72
- # note[1]
73
- - source: шш
74
- expected: sh
75
- - source: ччччч
76
- expected: ch
77
-
78
- map:
79
- inherit: bgnpcgn-bul-Cyrl-Latn-2013
80
-
81
- rules:
82
- # note[1]
83
- - pattern: "(.)\\1{1,}"
84
- result: "\\1"
85
-
86
- - pattern: \u042C# # Ь
87
- result: "Y"
88
-
89
- - pattern: \u042A # Ъ
90
- result: "A"
91
-
92
- - pattern: \u044C # ь
93
- result: "y"
94
-
95
- - pattern: \u044A # ъ
96
- result: "a"
@@ -1,169 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:che
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Office of the Director Of National Intelligence -- ICS 630-01 -- Chechen Cyrillic 2015
8
- url: https://github.com/interscript/ics-630-01/blob/master/reference-docs/ANNEX%20C%20-%20Chechen_Personal_Names_FLTS%20(U).pdf
9
- source: ICS-630-01 Annex C
10
- creation_date: 2015
11
- confirmation_date: 2015
12
- description: |
13
- This system is the Intelligence Community (IC) standard for the transliteration of Chechen names
14
- that will be applied to all final written reports and products for IC consumers. It is not intended to
15
- eliminate variations of a name that can contribute forensic information. Rather, it is to provide an
16
- IC standard Romanized (English) transliteration from Chechen that can then be linked to forensic
17
- information in ways that will help identify the referent of the name.
18
-
19
- In cases where an individual’s name has already been transliterated in a variant spelling, the IC
20
- Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the first
21
- usage. In addition, if the original Cyrillic or Arabic-script spelling is known, that spelling should
22
- also appear in parentheses following the name, if possible, following best practices of the issuing
23
- organization and taking into consideration information system capabilities. For example: Ilyas
24
- Akhmadkant (also seen as Ilyas Axmadkhant, Ильяс Ахмадкӏант). This convention is designed
25
- to ensure that vital forensic information is not lost.
26
-
27
- For names of persons who are known to not be part of the Chechen-speaking community, use the
28
- relevant IC transliteration standard for names from that language (e.g., Mikhail, Yitzhak). A
29
- translator’s note may be used to clarify the known origin of the person. Spell names of
30
- individuals from languages that are written in Roman letters as they are spelled in those
31
- languages (e.g., George Clooney, Jorge Garcia, Georges Pompidou).
32
-
33
- In the case of active senior government officials in the on-line CIA World Factbook and the online directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings
34
- given in these on-line reference works should be used in place of the IC Standard. For any
35
- individual who has at one time been listed in the Factbook or Chiefs of State directory but who no
36
- longer appears in those resources (i.e. is no longer a government official), the IC Standard
37
- spelling should appear first, with the spelling, if known, as it previously appeared in those
38
- resources listed within parentheses at the first usage.
39
-
40
- The primary goal is to produce a consistent Romanized transcription of names that is specifically
41
- readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
42
- (English) Roman alphabet plus the apostrophe. Some ambiguities in the Romanized form will
43
- occur without the use of diacritics. However, within the context of a report, where additional
44
- information about the individual is provided, the referent will be clearly identified. This system
45
- will be used in conjunction with on-line tools, name dictionaries, and lists containing
46
- conventional spellings of names of well-known individuals.
47
-
48
- notes:
49
- - Add a preceding 'y' if the vowel is preceded by the sound of a 'y' consonant.
50
- - |
51
- This is a single apostrophe as found on regular US keyboards (ASCII character 39),
52
- though software may render the apostrophe with differing appearances (e.g. curved left or right).
53
- Note that the same apostrophe is used for 'ъ', '|', 'ӏ', and '1'.
54
- - A word-initial hard sign 'ъ' is not represented, but instead is left out of the transliteration.
55
- - The romanization follows the dialect spoken in Chechnya rather than other local pronunciations.
56
- - Long and short vowels are not distinguished in this system.
57
- - In the Roman, no distinction is made between digraphs such as 'sh' and single contiguous letters (e.g. 's' followed by 'h').
58
- - The Cyrillic soft sign ('ь') by itself (not part of a digraph) is not represented, but instead is left out of the transliteration.
59
- - Interpretation of Cyrillic digraphs in Table 1 takes precedence over interpretation of the individual characters. Thus, 'кх' -> 'q', and not to 'k' followed by 'kh'.
60
- - Transliteration of Cyrillic digraphs for diphthongs will follow the combination of the transliteration of the individual characters. Thus, 'aй' -> 'ay', 'oй' -> 'oy', and both 'эй' and 'eй' -> 'ey'.
61
-
62
- tests:
63
- - source: Ильяс Ахмадкӏант
64
- expected: Ilyas Akhmadkant
65
- - source: Ильяс Ахмадк1ант
66
- expected: Ilyas Akhmadkant
67
-
68
- map:
69
- rules:
70
- # note[1]
71
- - pattern: (?<!\b\u2019)\b\u0415 # Е in initial position -> Ye
72
- result: Ye
73
- - pattern: (?<!\b\u2019)\b\u0435 # е in initial position -> ye
74
- result: ye
75
- # note[2]
76
- - pattern: (\W+)1(\W+)
77
- result: "\\1ӏ\\2"
78
- - pattern: (\W+)1
79
- result: "\\1ӏ"
80
- - pattern: 1(\W+)
81
- result: "ӏ\\1"
82
-
83
- characters:
84
- '\u0410' : 'A' # А
85
- '\u0411' : 'B' # Б
86
- '\u0412' : 'V' # В
87
- '\u0413' : 'G' # Г
88
- '\u0413\u04C0' : 'Gh' # ГӀ
89
- '\u0414' : 'D' # Д
90
- '\u0415' : 'E' # Е note[1]
91
- '\u0416' : 'J' # Ж
92
- '\u0417' : 'Z' # З
93
- '\u0418' : 'I' # И
94
- '\u0418\u042B' : 'I' # ИЙ
95
- '\u042B' : 'Y' # Й
96
- '\u041A' : 'K' # К
97
- '\u041A\u04C0' : 'K' # КӀ
98
- '\u041A\u0445' : 'Q' # Кх note[8]
99
- '\u041A\u044A' : 'Q' # Къ
100
- '\u041B' : 'L' # Л
101
- '\u041C' : 'M' # М
102
- '\u041D' : 'N' # Н
103
- '\u041E' : 'O' # О
104
- '\u041F' : 'P' # П
105
- '\u041F\u04C0' : 'Ph' # ПӀ
106
- '\u0420' : 'R' # Р
107
- '\u0421' : 'S' # С
108
- '\u0422' : 'T' # Т
109
- '\u0422\u04C0' : 'T' # TӀ
110
- '\u0423' : 'U' # У
111
- '\u0424' : 'F' # Ф
112
- '\u0425' : 'Kh' # Х
113
- '\u0425\u044C' : 'H' # Хь
114
- '\u0425\u04C0' : 'H' # ХӀ
115
- '\u04B8' : 'Ts' # Ц
116
- '\u04B8\u04C0' : 'Ts' # ЦӀ
117
- '\u0427' : 'Ch' # Ч
118
- '\u0427\u04C0' : 'Ch' # ЧӀ
119
- '\u0428' : 'Sh' # Ш
120
- '\u042A' : "'" # Ъ note[2] note[3]
121
- '\u042B' : 'Е' # Ы
122
- '\u042D' : 'E' # Э
123
- '\u042E' : 'Yu' # Ю
124
- '\u042F' : 'Ya' # Я
125
- '\u04C0' : "'" # Ӏ note[2]
126
- '\u042C' : '' # Ь note[7]
127
-
128
- '\u0430' : 'a' # а
129
- '\u0431' : 'b' # б
130
- '\u0432' : 'v' # в
131
- '\u0433' : 'g' # г
132
- '\u0433\u04CF' : 'gh' # гӏ
133
- '\u0434' : 'd' # д
134
- '\u0435' : 'e' # е note[1]
135
- '\u0436' : 'j' # ж
136
- '\u0437' : 'z' # з
137
- '\u0438' : 'i' # и
138
- '\u0438\u0439' : 'i' # ий
139
- '\u0439' : 'y' # й
140
- '\u043A' : 'k' # к
141
- '\u043A\u04CF' : 'k' # кӏ
142
- '\u043A\u0445' : 'q' # кх note[8]
143
- '\u043A\u044A' : 'q' # къ
144
- '\u043B' : 'l' # л
145
- '\u043C' : 'm' # м
146
- '\u043D' : 'n' # н
147
- '\u043E' : 'o' # о
148
- '\u043F' : 'p' # п
149
- '\u0440' : 'r' # р
150
- '\u0441' : 's' # с
151
- '\u0442' : 't' # т
152
- '\u0442\u04CF' : 't' # тӏ
153
- '\u0443' : 'u' # у
154
- '\u0444' : 'f' # ф
155
- '\u0445' : 'kh' # х
156
- '\u0445\u044C' : 'h' # хь
157
- '\u0445\u04CF' : 'h' # хӏ
158
- '\u04B9' : 'ts' # ц
159
- '\u04B9\u04CF' : 'ts' # цӏ
160
- '\u0447' : 'ch' # ч
161
- '\u0447\u04CF' : 'ch' # чӏ
162
- '\u0448' : 'sh' # ш
163
- '\u044A' : "'" # ъ note[2] note[3]
164
- '\u044B' : 'e' # ы
165
- '\u044D' : 'e' # э
166
- '\u044E' : 'yu' # ю
167
- '\u044F' : 'ya' # я
168
- '\u04CF' : "'" # ӏ note[2]
169
- '\u044C' : '' # ь note[7]