interscript 0.1.9 → 2.0.5

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 (352) 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 +53 -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 +80 -135
  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 +67 -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 +26 -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 +61 -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 +65 -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/requirements.txt +1 -0
  63. metadata +73 -458
  64. data/README.adoc +0 -296
  65. data/aliases.json +0 -1
  66. data/lib/g2pwrapper.py +0 -34
  67. data/lib/interscript/fs.rb +0 -96
  68. data/lib/interscript/mapping.rb +0 -144
  69. data/lib/interscript/opal.rb +0 -196
  70. data/lib/interscript/opal/entrypoint.rb +0 -20
  71. data/lib/interscript/opal/exports.rb +0 -11
  72. data/lib/interscript/opal/maps.js.erb +0 -8
  73. data/lib/model-7 +0 -0
  74. data/lib/tha-pt-b-7 +0 -0
  75. data/maps/acadsin-zho-Hani-Latn-2002.yaml +0 -38916
  76. data/maps/alalc-amh-Ethi-Latn-1997.yaml +0 -513
  77. data/maps/alalc-amh-Ethi-Latn-2011.yaml +0 -138
  78. data/maps/alalc-ara-Arab-Latn-1997.yaml +0 -1287
  79. data/maps/alalc-asm-Deva-Latn-1997.yaml +0 -259
  80. data/maps/alalc-asm-Deva-Latn-2012.yaml +0 -55
  81. data/maps/alalc-aze-Arab-Latn-1997.yaml +0 -376
  82. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -145
  83. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +0 -129
  84. data/maps/alalc-ben-Beng-Latn-1997.yaml +0 -291
  85. data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
  86. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -98
  87. data/maps/alalc-div-Thaa-Latn-1997.yaml +0 -211
  88. data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -628
  89. data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -626
  90. data/maps/alalc-guj-Gujr-Latn-1997.yaml +0 -266
  91. data/maps/alalc-guj-Gujr-Latn-2011.yaml +0 -64
  92. data/maps/alalc-hin-Deva-Latn-1997.yaml +0 -303
  93. data/maps/alalc-hin-Deva-Latn-2011.yaml +0 -65
  94. data/maps/alalc-kan-Kana-Latn-1997.yaml +0 -274
  95. data/maps/alalc-kan-Kana-Latn-2011.yaml +0 -63
  96. data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -111
  97. data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -150
  98. data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -98
  99. data/maps/alalc-mal-Mlym-Latn-1997.yaml +0 -303
  100. data/maps/alalc-mal-Mlym-Latn-2012.yaml +0 -73
  101. data/maps/alalc-mar-Deva-Latn-1997.yaml +0 -189
  102. data/maps/alalc-mar-Deva-Latn-2011.yaml +0 -45
  103. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +0 -114
  104. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
  105. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +0 -220
  106. data/maps/alalc-ori-Orya-Latn-1997.yaml +0 -284
  107. data/maps/alalc-ori-Orya-Latn-2011.yaml +0 -67
  108. data/maps/alalc-pan-Guru-Latn-1997.yaml +0 -256
  109. data/maps/alalc-pan-Guru-Latn-2011.yaml +0 -78
  110. data/maps/alalc-per-Arab-Latn-1997.yaml +0 -375
  111. data/maps/alalc-pli-Deva-Latn-2012.yaml +0 -144
  112. data/maps/alalc-pra-Deva-Latn-2012.yaml +0 -47
  113. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -225
  114. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
  115. data/maps/alalc-san-Deva-Latn-2012.yaml +0 -241
  116. data/maps/alalc-sin-Sinh-Latn-1997.yaml +0 -292
  117. data/maps/alalc-sin-Sinh-Latn-2011.yaml +0 -71
  118. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -118
  119. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +0 -135
  120. data/maps/alalc-tam-Taml-Latn-1997.yaml +0 -62
  121. data/maps/alalc-tam-Taml-Latn-2011.yaml +0 -58
  122. data/maps/alalc-tel-Telu-Latn-1997.yaml +0 -284
  123. data/maps/alalc-tel-Telu-Latn-2011.yaml +0 -64
  124. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -145
  125. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
  126. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
  127. data/maps/az-aze-Cyrl-Latn-1939.yaml +0 -105
  128. data/maps/az-aze-Cyrl-Latn-1958.yaml +0 -45
  129. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -174
  130. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
  131. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -292
  132. data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -35
  133. data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
  134. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
  135. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
  136. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +0 -532
  137. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +0 -598
  138. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
  139. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -111
  140. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -188
  141. data/maps/bgnpcgn-bal-Arab-Latn-2008.yaml +0 -329
  142. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +0 -289
  143. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -119
  144. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -42
  145. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +0 -184
  146. data/maps/bgnpcgn-div-Thaa-Latn-1988.yaml +0 -75
  147. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -705
  148. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -23
  149. data/maps/bgnpcgn-far-Latn-Latn-1964.yaml +0 -28
  150. data/maps/bgnpcgn-fas-Arab-Latn-1956.yaml +0 -96
  151. data/maps/bgnpcgn-isl-Latn-Latn-1964.yaml +0 -37
  152. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
  153. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -131
  154. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -42
  155. data/maps/bgnpcgn-kaz-Cyrl-Latn-1979.yaml +0 -247
  156. data/maps/bgnpcgn-kir-Cyrl-Latn-1979.yaml +0 -218
  157. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
  158. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
  159. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
  160. data/maps/bgnpcgn-kur-Arab-Latn-2007.yaml +0 -249
  161. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -163
  162. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
  163. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +0 -223
  164. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +0 -230
  165. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +0 -338
  166. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +0 -673
  167. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +0 -459
  168. data/maps/bgnpcgn-pus-Arab-Latn-1968.yaml +0 -377
  169. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +0 -168
  170. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -318
  171. data/maps/bgnpcgn-srp-Cyrl-Latn-1962.yaml +0 -73
  172. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -170
  173. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +0 -220
  174. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +0 -240
  175. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -166
  176. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -119
  177. data/maps/bgnpcgn-urd-Arab-Latn-2007.yaml +0 -459
  178. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +0 -127
  179. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +0 -82
  180. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +0 -7456
  181. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +0 -159
  182. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +0 -156
  183. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +0 -184
  184. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +0 -181
  185. data/maps/bis-kan-Kana-Latn-13194-1991.yaml +0 -173
  186. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +0 -176
  187. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +0 -175
  188. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +0 -175
  189. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +0 -170
  190. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +0 -155
  191. data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -172
  192. data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
  193. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +0 -899
  194. data/maps/din-hin-Deva-Latn-33904-2018.yaml +0 -100
  195. data/maps/din-kat-Geor-Latn-32707-2010.yaml +0 -145
  196. data/maps/din-mar-Deva-Latn-33904-2018.yaml +0 -84
  197. data/maps/din-nep-Deva-Latn-33904-2018.yaml +0 -119
  198. data/maps/din-pli-Deva-Latn-33904-2018.yaml +0 -75
  199. data/maps/din-pra-Deva-Latn-33904-2018.yaml +0 -63
  200. data/maps/din-san-Deva-Latn-33904-2018.yaml +0 -338
  201. data/maps/din-tam-Taml-Latn-33903-2016.yaml +0 -213
  202. data/maps/dos-nep-Deva-Latn-1997.yaml +0 -47
  203. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -684
  204. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -680
  205. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -19
  206. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -31
  207. data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -92
  208. data/maps/gki-bel-Cyrl-Latn-1992.yaml +0 -33
  209. data/maps/gki-bel-Cyrl-Latn-2000.yaml +0 -201
  210. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +0 -190
  211. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +0 -157
  212. data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
  213. data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -136
  214. data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -118
  215. data/maps/icao-fas-Arab-Latn-9303.yaml +0 -103
  216. data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
  217. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
  218. data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -117
  219. data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
  220. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -119
  221. data/maps/iso-ara-Arab-Latn-233-1984.yaml +0 -323
  222. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +0 -75
  223. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +0 -175
  224. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -613
  225. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -44
  226. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +0 -220
  227. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +0 -87
  228. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +0 -61
  229. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -66
  230. data/maps/iso-kan-Kana-Latn-15919-2001.yaml +0 -220
  231. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +0 -145
  232. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +0 -240
  233. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +0 -226
  234. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +0 -281
  235. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +0 -75
  236. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +0 -87
  237. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +0 -193
  238. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +0 -222
  239. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +0 -73
  240. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +0 -74
  241. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +0 -219
  242. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +0 -55
  243. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +0 -59
  244. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +0 -366
  245. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -271
  246. data/maps/iso-san-Deva-Latn-15919-2001.yaml +0 -220
  247. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +0 -159
  248. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +0 -220
  249. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
  250. data/maps/kp-kor-Hang-Latn-2002.yaml +0 -909
  251. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
  252. data/maps/masm-mon-Cyrl-Latn-5217-2012.yaml +0 -163
  253. data/maps/masm-mon-Latn-Cyrl-5217-2012.yaml +0 -200
  254. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
  255. data/maps/moct-kor-Hang-Latn-2000.yaml +0 -807
  256. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
  257. data/maps/mv-div-Thaa-Latn-1987.yaml +0 -200
  258. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
  259. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
  260. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -109
  261. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
  262. data/maps/odni-ara-Arab-Latn-2004.yaml +0 -137
  263. data/maps/odni-ara-Arab-Latn-2015.yaml +0 -315
  264. data/maps/odni-aze-Cyrl-Latn-2015.yaml +0 -144
  265. data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
  266. data/maps/odni-bul-Cyrl-Latn-2005.yaml +0 -90
  267. data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
  268. data/maps/odni-che-Cyrl-Latn-2015.yaml +0 -169
  269. data/maps/odni-fas-Arab-Latn-2004.yaml +0 -276
  270. data/maps/odni-fas-Arab-Latn-2015.yaml +0 -406
  271. data/maps/odni-hin-Deva-Latn-2004.yaml +0 -182
  272. data/maps/odni-hin-Deva-Latn-2015.yaml +0 -258
  273. data/maps/odni-kat-Geor-Latn-2015.yaml +0 -87
  274. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +0 -148
  275. data/maps/odni-kir-Cyrl-Latn-2015.yaml +0 -136
  276. data/maps/odni-kor-Hang-Latn-2015.yaml +0 -375
  277. data/maps/odni-mkd-Cyrl-Latn-2005.yaml +0 -21
  278. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +0 -122
  279. data/maps/odni-prs-Arab-Latn-2004.yaml +0 -123
  280. data/maps/odni-prs-Arab-Latn-2015.yaml +0 -228
  281. data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
  282. data/maps/odni-srp-Cyrl-Latn-2005.yaml +0 -36
  283. data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
  284. data/maps/odni-tat-Cyrl-Latn-2015.yaml +0 -142
  285. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +0 -148
  286. data/maps/odni-tuk-Cyrl-Latn-2015.yaml +0 -170
  287. data/maps/odni-uig-Cyrl-Latn-2015.yaml +0 -138
  288. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -161
  289. data/maps/odni-urd-Arab-Latn-2015.yaml +0 -221
  290. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -166
  291. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
  292. data/maps/royin-tha-Thai-Latn-1968.yaml +0 -183
  293. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
  294. data/maps/royin-tha-Thai-Latn-1999.yaml +0 -80
  295. data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24763
  296. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +0 -389
  297. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +0 -354
  298. data/maps/ses-ara-Arab-Latn-1930.yaml +0 -283
  299. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
  300. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -197
  301. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +0 -75
  302. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +0 -192
  303. data/maps/un-amh-Ethi-Latn-2016.yaml +0 -602
  304. data/maps/un-ara-Arab-Latn-1971.yaml +0 -139
  305. data/maps/un-ara-Arab-Latn-1972.yaml +0 -159
  306. data/maps/un-ara-Arab-Latn-2017.yaml +0 -420
  307. data/maps/un-asm-Beng-Latn-1972.yaml +0 -223
  308. data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
  309. data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
  310. data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +0 -780
  311. data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -31
  312. data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -19
  313. data/maps/un-guj-Gujr-Latn-1972.yaml +0 -229
  314. data/maps/un-hin-Deva-Latn-2016.yaml +0 -316
  315. data/maps/un-kan-Kana-Latn-2016.yaml +0 -254
  316. data/maps/un-mal-Mlym-Latn-1972.yaml +0 -251
  317. data/maps/un-mar-Deva-Latn-2016.yaml +0 -102
  318. data/maps/un-mon-Mong-Latn-general-2013.yaml +0 -264
  319. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +0 -264
  320. data/maps/un-nep-Deva-Latn-1972.yaml +0 -269
  321. data/maps/un-nep-Deva-Latn-2013.yaml +0 -74
  322. data/maps/un-ori-Orya-Latn-1972.yaml +0 -247
  323. data/maps/un-pan-Guru-Latn-1972.yaml +0 -402
  324. data/maps/un-prs-Arab-Latn-1967.yaml +0 -236
  325. data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
  326. data/maps/un-tam-Taml-Latn-1972.yaml +0 -194
  327. data/maps/un-tel-Telu-Latn-1972.yaml +0 -270
  328. data/maps/un-ukr-Cyrl-Latn-1998.yaml +0 -53
  329. data/maps/un-ukr-Cyrl-Latn-2012.yaml +0 -162
  330. data/maps/un-urd-Arab-Latn-1972.yaml +0 -405
  331. data/maps/var-amh-Ethi-Latn-eae-2003.yaml +0 -466
  332. data/maps/var-gez-Ethi-Latn-eae-2003.yaml +0 -76
  333. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +0 -221
  334. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
  335. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
  336. data/maps/var-kor-Hang-Hang-jamo.yaml +0 -11193
  337. data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
  338. data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
  339. data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -36
  340. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +0 -43
  341. data/maps/var-mon-Mong-Latn-1930.yaml +0 -102
  342. data/maps/var-mon-Mong-Latn-lessing.yaml +0 -272
  343. data/maps/var-mon-Mong-Latn-vpmc.yaml +0 -274
  344. data/maps/var-pra-Deva-Latn-iast-1912.yaml +0 -30
  345. data/maps/var-san-Deva-Latn-iast-1912.yaml +0 -149
  346. data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
  347. data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
  348. data/maps/var-zho-Hani-Latn-wd-1979.yaml +0 -38912
  349. data/spec/interscript/filenames_spec.rb +0 -21
  350. data/spec/interscript/mapping_spec.rb +0 -42
  351. data/spec/interscript_spec.rb +0 -37
  352. data/spec/spec_helper.rb +0 -3
@@ -1,220 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 2007
4
- language: iso-639-2:tat
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: TATAR TABLE OF CORRESPONDENCES CYRILLIC - ROMAN BGN/PCGN 2007 Agreement
8
- alias:
9
- ogc11122:
10
- code: tat_Cyrl2Latn_BGN_2005
11
- description: Tatar is an official language within Respublika Tatarstan, one of the republics of the Russian Federation.
12
- url: https://geonames.nga.mil/gns/html/Romanization/TABLE%20OF%20CORRESPONDENCES%20FOR%20TATAR.pdf
13
- creation_date: 2007
14
- confirmation_date: 2017-11
15
- description: |
16
- Tatar is an official language within Respublika Tatarstan, one of the republics of the Russian
17
- Federation. It will normally be encountered in Cyrillic script, in which case it should be romanized by means
18
- of the Cyrillic-Roman table of correspondences given below.
19
-
20
- notes:
21
- - |
22
- The alphabet portrayed in the above table is referred to as yaꞑalif-2.
23
- A set of simpler characters is also encountered; this is known as zamanalif.
24
- In this latter set, the alternative characters ä, ñ and ö are used for letters
25
- 2, 17 and 19 respectively where the user has difficulty reproducing ə, ꞑ, and ө.
26
- Please note that all three alternatives must be used as a set, and the letters should not be intermingled.
27
- - Used only in borrowed words.
28
- - The first option is used in words with back vowels, the second in words with front vowels (though this does not apply to borrowed words).
29
- - yı/ye is used after a vowel (except и, ю), ъ and ь, also word-initially.
30
- - w is used after a vowel.
31
- - After ğ or q, ый is represented i
32
- - Э is represented ’ after a vowel in words of Arabic origin.
33
- - Ю and Я are represented ü and a/ä respectively after и.
34
- - |
35
- An inventory of letter-diacritic combinations, with their Unicode encoding, in addition to the unmodified letters
36
- of the basic Roman script is:
37
- Ə (U+018F) ə (U+0259)
38
- Ğ (U+011E) ğ (U+011F)
39
- İ (U+0130) ı (U+0131)
40
- Ü (U+00DC) ü (U+00FC)
41
- Ꞑ (U+A790) ꞑ (U+A791)
42
- Ɵ (U+019F) ɵ (U+0275)
43
- Ç (U+00C7) ç (U+00E7)
44
- Ş (U+015E) ş (U+015F)
45
- Ä (U+00C4) ä (U+00E4)
46
- ’ (U+2019)
47
- - |
48
- The Roman-script columns show only lowercase forms but, when applying the table, uppercase and lowercase
49
- Roman letters as appropriate should be used.
50
-
51
- tests:
52
- - source: Гыйльмиев #
53
- expected: Ğil’miew # note[6] in the note it's Ğilmiev which incorrect according to the rules
54
- # https://en.wikipedia.org/wiki/Tatar_alphabet
55
- - source: баеды
56
- expected: bayıdı # note[4]
57
- - source: кардәш
58
- expected: qardəş
59
- - source: калынлык һәм аеру билгесе
60
- expected: qalınlıq həm ayıru bilgese # note[4]
61
- - source: |
62
- Барлык кешеләр дә азат һәм үз абруйлары һәм хокуклары ягыннан тиң булып туалар.
63
- Аларга акыл һәм вөҗдан бирелгән һәм бер-берсенә карата туганнарча мөнасәбәттә булырга тиешләр.
64
- expected: |
65
- Barlıq keşelər də azat həm üz abruyları həm xoquqları yağınnan tiꞑ bulıp tualar.
66
- Alarğa aqıl həm wocdan birelgən həm ber-bersenə qarata tuğannarça monasəbəttə bulırğa tieşlər.
67
- # https://www.azatliq.org/a/30820571.html
68
- - source: Әлдермештән Әлмәндәр
69
- expected: Əldermeştən Əlməndər
70
- - source: Әссәламү галәйкүм
71
- expected: Əssəlamü ğaləyküm
72
- - source: Танымаган кешегә
73
- expected: Tanımağan keşegə # note[3]
74
- - source: Иң әүвәл кул бирешеп күрешик
75
- expected: İꞑ əwwəl qul bireşep küreşiq # note[5]
76
- - source: Ялгышмыйсың
77
- expected: Yalğışmıysıꞑ
78
- - source: Нәкъ үзе
79
- expected: Nəq üze
80
- - source: Кирәгеннән артыгын
81
- expected: Kirəgennən artığın # note[3]
82
- - source: мәңгелеккә килмәгән
83
- expected: məꞑgeleqkə kilməgən
84
- - source: кулыңны куй
85
- expected: qulıꞑnı quy
86
- - source: Өммия # note[8]
87
- expected: Ommiä
88
- - source: Җиһангир # note[3]
89
- expected: Cihangir
90
-
91
- map:
92
- rules:
93
- # note[3] http://www.hintfox.com/article/sistema-glasnih-zvykov-na-tatarskom-i-anglijskom-jazikah.html
94
- # back vowels: у, а, ы, о,
95
- # front vowels: е, ә, и, ө, ү, э
96
- - pattern: Г(?=[ЕеƏәИиӨөҮүЭэ])
97
- result: G
98
- - pattern: г(?=[ЕеƏәИиӨөҮүЭэ])
99
- result: g
100
- - pattern: К(?=[ЕеƏәИиӨөҮүЭэ])
101
- result: K
102
- - pattern: к(?=[ЕеƏәИиӨөҮүЭэ])
103
- result: k
104
- - pattern: Ю(?=[ЕеƏәИиӨөҮүЭэ])
105
- result: "Y\u00FC"
106
- - pattern: ю(?=[ЕеƏәИиӨөҮүЭэ])
107
- result: "y\u00FC"
108
- - pattern: Я(?=[ЕеƏәИиӨөҮүЭэ])
109
- result: "Y\u00E4"
110
- - pattern: я(?=[ЕеƏәИиӨөҮүЭэ])
111
- result: "y\u00E4"
112
-
113
- # note[4]
114
- - pattern: (?<=[АаЕеƏәОоӨөҮүУуЫыЭэЯяЪъЬь])\u0415
115
- result: "Y\u0131"
116
- - pattern: (?<=[АаЕеƏәОоӨөҮүУуЫыЭэЯяЪъЬь])\u0435
117
- result: "y\u0131"
118
-
119
- # note[5]
120
- - pattern: (?<=[АаЕеƏәИиОоӨөҮүУуЫыЭэЮюЯяЪъЬь])\u0423
121
- result: "W"
122
- - pattern: (?<=[АаЕеƏәИиОоӨөҮүУуЫыЭэЮюЯяЪъЬь])\u0443
123
- result: "w"
124
- - pattern: (?<=[АаЕеƏәИиОоӨөҮүУуЫыЭэЮюЯяЪъЬь])\u04AE
125
- result: "W"
126
- - pattern: (?<=[АаЕеƏәИиОоӨөҮүУуЫыЭэЮюЯяЪъЬь])\u04AF
127
- result: "w"
128
-
129
- # note[6]
130
- - pattern: (?<=[Гг])ый
131
- result: i
132
-
133
- # note[8]
134
- - pattern: (?<=[Ии])\u042E
135
- result: "\u00DC"
136
- - pattern: (?<=[Ии])\u044E
137
- result: "\u00FC"
138
- - pattern: (?<=[Ии])\u042F
139
- result: "\u00C4"
140
- - pattern: (?<=[Ии])\u044F
141
- result: "\u00E4"
142
-
143
- characters:
144
- "\u0410": 'A' # А
145
- "\u04D8": ["\u018F", "\u00C4"] # Ә => [Ə, Ä] note[1]
146
- "\u0411": 'B' # Б
147
- "\u0412": ['W', 'V'] # В note[2]
148
- "\u0413": "\u011E" # Г => Ğ note[3]
149
- "\u0414": 'D' # Д
150
- "\u0415": 'E' # Е note[3] note[4]
151
- "\u0416": 'J' # Ж
152
- "\u0496": 'C' # Җ
153
- "\u0417": 'Z' # З
154
- "\u0418": "\u0130" # И => İ
155
- "\u0419": 'Y' # Й
156
- "\u041A": 'Q' # К note[3]
157
- "\u041B": 'L' # Л
158
- "\u041C": 'M' # М
159
- "\u041D": 'N' # Н
160
- "\u04A2": ["\uA790", "\u00D1"] # Ң => [Ꞑ, Ñ] note[1]
161
- "\u041E": 'O' # О
162
- "\u04E8": ['O', "\u00D6"] # Ө => [O, Ö] note[1]
163
- "\u041F": 'P' # П
164
- "\u0420": 'R' # Р
165
- "\u0421": 'S' # С
166
- "\u0422": 'T' # Т
167
- "\u0423": 'U' # У note[5]
168
- "\u04AE": "\u00DC" # Ү => Ü note[5]
169
- "\u0424": 'F' # Ф
170
- "\u0425": 'Х' # Х
171
- "\u04BA": 'H' # Һ
172
- "\u0426": 'Ts' # Ц
173
- "\u0427": "\u00C7" # Ч => Ç
174
- "\u0428": "\u015E" # Ш => Ş
175
- "\u0429": "\u015E\u00C7" # Щ
176
- "\u042A": '' # Ъ
177
- "\u042B": 'I' # Ы => I note[2] note[6]
178
- "\u042C": "\u2019" # Ь => ’
179
- "\u042D": 'E' # Э note[7]
180
- "\u042E": 'Yu' # Ю note[3] note[8]
181
- "\u042F": 'Ya' # Я note[3] note[8]
182
-
183
- '\u0430': 'a' # а
184
- '\u04D9': ["\u0259", "\u00E4"] # ә => [ə, ä] note[1]
185
- '\u0431': 'b' # б
186
- '\u0432': ['w', 'v'] # в note[2]
187
- '\u0433': "\u011F" # г => ğ note[3]
188
- '\u0434': 'd' # д
189
- '\u0435': 'e' # e note[3] note[4]
190
- '\u0436': 'j' # ж
191
- '\u0497': 'c' # җ
192
- '\u0437': 'z' # з
193
- '\u0438': 'i' # и
194
- '\u0439': 'y' # й
195
- '\u043A': 'q' # к note[3]
196
- '\u043B': 'l' # л
197
- '\u043C': 'm' # м
198
- '\u043D': 'n' # н
199
- '\u04A3': ["\uA791", "\u00F1"] # ң => [ꞑ, ñ] note[1]
200
- '\u043E': 'o' # о
201
- '\u04E9': ['o', "\u00F6"] # ө => [o, ö] note[1]
202
- '\u043F': 'p' # п
203
- '\u0440': 'r' # р
204
- '\u0441': 's' # с
205
- '\u0442': 't' # т
206
- '\u0443': 'u' # у note[5]
207
- '\u04AF': "\u00FC" # ү => ü note[5]
208
- '\u0444': 'f' # ф
209
- '\u0445': 'x' # х
210
- '\u04BB': 'h' # һ
211
- '\u0446': 'ts' # ц
212
- '\u0447': "\u00E7" # ч => ç
213
- '\u0448': "\u015F" # ш => ş
214
- '\u0449': "\u015F\u00E7" # щ => şç
215
- "\u044a": '' # ъ
216
- '\u044B': "\u0131" # ы => ı note[2] note[6]
217
- "\u044C": "\u2019" # ь => ’
218
- '\u044D': 'e' # э note[7]
219
- '\u044E': 'yu' # ю note[3] note[8]
220
- '\u044F': 'ya' # я note[3] note[8]
@@ -1,240 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 1994
4
- language: iso-639-2:tgk
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: BGN/PCGN Romanization System -- Tajik (1994)
8
- alias:
9
- ogc11122:
10
- code: tgk_Cyrl2Latn_BGN_1994
11
- description: The BGN/PCGN system for Tajik was designed for use in romanizing names written in the Tajik Cyrillic alphabet.
12
- url: https://geonames.nga.mil/gns/html/Romanization/ROMANIZATION%20OF%20TAJIK.pdf
13
- creation_date: 1994
14
- confirmation_date: 2017-11
15
- description: |
16
- The BGN/PCGN system for Tajik was designed for use in romanizing names written in the Tajik Cyrillic alphabet.
17
- The Tajik Cyrillic alphabet contains six characters not present in the Russian alphabet: ғ, ӣ, қ, ӯ, ҳ and ҷ. An
18
- orthographic reform of the Tajik Cyrillic alphabet was implemented under the auspices of the Academy of Sciences of
19
- Tajikistan. This reform was promulgated in a decree of 3 September 1998 by the government of the Republic of
20
- Tajikistan. The reform abolished the characters ц, щ, ь and ы (see notes 2 through 5).
21
-
22
- notes:
23
- - |
24
- The character sequences гҳ , зҳ , кҳ , and сҳ may be romanized g·h, z·h, k·h, and s·h in order
25
- to differentiate those romanizations from the digraphs gh, zh, kh, and sh which are used to
26
- render the characters ғ, ж, x, and ш.
27
- - |
28
- The obsolete character ц, abolished in 1998, should be romanized s (before a vowel and/or
29
- after a consonant within a word) or ts intervocalically.
30
- - The obsolete character щ, replaced by ш in 1998, should be romanized sh.
31
- - The obsolete character ь, abolished in 1998, should not be romanized.
32
- - The obsolete character ы, replaced by и in 1998, should be romanized i.
33
- - Unicode values are shown with the uppercase Cyrillic character first, followed by the lowercase character.
34
- - |
35
- An inventory of letter-diacritic combinations, with their Unicode encoding, in addition to the
36
- unmodified letters of the basic Roman script is:
37
- All apostrophes appearing in romanization are U+2019
38
- Í (U+00CD) í (U+00ED)
39
- Ŭ (U+016C) ŭ (U+016D)
40
- Ė (U+0116) ė (U+0117)
41
- - |
42
- The Romanization column shows only lowercase forms but, when romanizing, uppercase and
43
- lowercase Roman letters as appropriate should be used.
44
-
45
- tests:
46
- # https://ru.wikipedia.org/wiki/Таджикская_письменность#Образцы_записи
47
- - source: |
48
- Тамоми одамон озод ба дунё меоянд ва аз лиҳози манзилату ҳуқуқ бо ҳам баробаранд.
49
- Ҳама соҳиби ақлу виҷдонанд, бояд нисбат ба якдигар бародарвор муносабат намоянд.
50
- expected: |
51
- Tamomi odamon ozod ba dunyo meoyand va az lihozi manzilatu huquq bo ham barobarand.
52
- Hama sohibi aqlu vijdonand, boyad nisbat ba yakdigar barodarvor munosabat namoyand.
53
- - source: Баниодам аъзои як пайкаранд, ки дар офариниш зи як гавҳаранд. Чу узве ба дард оварад рӯзгор, дигар узвҳоро намонад қарор.
54
- expected: Baniodam a’zoi yak paykarand, ki dar ofarinish zi yak gavharand. Chu uzve ba dard ovarad rŭzgor, digar uzvhoro namonad qaror.
55
- - source: Саъдӣ
56
- expected: Sa’dí
57
- - source: Мурда будам, зинда шудам; гиря будам, xанда шудам. Давлати ишқ омаду ман давлати поянда шудам.
58
- expected: Murda budam, zinda shudam; girya budam, xanda shudam. Davlati ishq omadu man davlati poyanda shudam.
59
- - source: Мавлавӣ
60
- expected: Mavlaví
61
- - source: санг
62
- expected: sang
63
- - source: барг
64
- expected: barg
65
- - source: номвар
66
- expected: nomvar
67
- - source: Бағдод
68
- expected: Baghdod
69
- - source: ғор
70
- expected: ghor
71
- - source: модар
72
- expected: modar
73
- - source: меравам
74
- expected: meravam
75
- - source: дарё
76
- expected: daryo
77
- - source: осиёб
78
- expected: osiyob
79
- - source: жола
80
- expected: zhola
81
- - source: каждум
82
- expected: kazhdum
83
- - source: баъз
84
- expected: ba’z
85
- - source: назар
86
- expected: nazar
87
- - source: заҳоб
88
- expected: zahob
89
- - source: ихтиёр
90
- expected: ikhtiyor
91
- - source: зебоӣ
92
- expected: zeboí
93
- - source: май
94
- expected: may
95
- - source: кадом
96
- expected: kadom
97
- - source: қадам
98
- expected: qadam
99
- - source: лола
100
- expected: lola
101
- - source: мурдагӣ
102
- expected: murdagí
103
- - source: нон
104
- expected: non
105
- - source: орзу
106
- expected: orzu
107
- - source: панҷ
108
- expected: panj
109
- - source: ранг
110
- expected: rang
111
- - source: сар
112
- expected: sar
113
- - source: субҳ
114
- expected: subh
115
- - source: сурайё
116
- expected: surayyo
117
- - source: тоҷик
118
- expected: tojik
119
- - source: талаб
120
- expected: talab
121
- - source: дуд
122
- expected: dud
123
- - source: хӯрдан
124
- expected: khŭrdan
125
- - source: фурӯғ
126
- expected: furŭgh
127
- - source: хондан
128
- expected: khondan
129
- - source: ҳофиз
130
- expected: hofiz
131
- - source: чӣ
132
- expected: chí
133
- - source: ҷанг
134
- expected: jang
135
- - source: шаб
136
- expected: shab
137
- - source: таъриф
138
- expected: ta’rif
139
- - source: эй
140
- expected: ėy
141
- - source: июн
142
- expected: iyun
143
- - source: ягонагӣ
144
- expected: yagonagí
145
- - source: РАМЗҲО
146
- expected: RAMZ·HO
147
-
148
- map:
149
- rules:
150
- # note[1]
151
- - pattern: ([ГгЗзКкСс])\u04B3
152
- result: "\\1·h"
153
- - pattern: ([ГгЗзКкСс])\u04B2
154
- result: "\\1·H"
155
- # note[2]
156
- - pattern: \u0426(?=[АаЕеЁёИиОоУуЫыЭэЮюЯя])
157
- result: S
158
- - pattern: \u0446(?=[АаЕеЁёИиОоУуЫыЭэЮюЯя])
159
- result: s
160
-
161
- characters:
162
- "\u0410": 'A' # А
163
- "\u0411": 'B' # Б
164
- "\u0412": 'V' # В
165
- "\u0413": 'G' # Г
166
- "\u0492": 'Gh' # Ғ
167
- "\u0414": 'D' # Д
168
- "\u0415": 'E' # Е
169
- "\u0401": 'Yo' # Ё
170
- "\u0416": 'Zh' # Ж
171
- "\u0417": 'Z' # З
172
- "\u0418": 'I' # И
173
- "\u04E2": "\u00CD" # Ӣ => Í
174
- "\u0419": 'Y' # Й
175
- "\u041A": 'K' # К
176
- "\u049A": 'Q' # Қ
177
- "\u041B": 'L' # Л
178
- "\u041C": 'M' # М
179
- "\u041D": 'N' # Н
180
- "\u041E": 'O' # О
181
- "\u041F": 'P' # П
182
- "\u0420": 'R' # Р
183
- "\u0421": 'S' # С
184
- "\u0422": 'T' # Т
185
- "\u0423": 'U' # У
186
- "\u04EE": "\u016C" # Ӯ => Ŭ
187
- "\u0424": 'F' # Ф
188
- "\u0425": 'Kh' # Х
189
- "\u04B2": 'H' # Ҳ
190
- "\u0427": 'Ch' # Ч
191
- "\u04B6": 'J' # Ҷ
192
- "\u0426": 'Ts' # Ц note[2]
193
- "\u0428": 'Sh' # Ш
194
- "\u0429": 'Sh' # Щ note[3]
195
- "\u042A": "\u2019" # Ъ
196
- "\u042B": 'I' # Ы note[5]
197
- "\u042C": '' # Ь note[4]
198
- "\u042D": "\u0116" # Э => Ė
199
- "\u042E": 'Yu' # Ю
200
- "\u042F": 'Ya' # Я
201
-
202
- "\u0430": 'a' # а
203
- "\u0431": 'b' # б
204
- "\u0432": 'v' # в
205
- "\u0433": 'g' # г
206
- "\u0493": 'gh' # ғ
207
- "\u0434": 'd' # д
208
- "\u0435": 'e' # e
209
- "\u0451": 'yo' # ё
210
- "\u0436": 'zh' # ж
211
- "\u0437": 'z' # з
212
- "\u0438": 'i' # и
213
- "\u04E3": "\u00ED" # ӣ => í
214
- "\u0439": 'y' # й
215
- "\u043A": 'k' # к
216
- "\u049B": 'q' # қ
217
- "\u043B": 'l' # л
218
- "\u043C": 'm' # м
219
- "\u043D": 'n' # н
220
- "\u043E": 'o' # о
221
- "\u043F": 'p' # п
222
- "\u0440": 'r' # р
223
- "\u0441": 's' # с
224
- "\u0442": 't' # т
225
- "\u0443": 'u' # у
226
- "\u04EF": "\u016D" # ӯ => ŭ
227
- "\u0444": 'f' # ф
228
- "\u0445": 'kh' # х
229
- "\u04B3": 'h' # ҳ
230
- "\u0447": 'ch' # ч
231
- "\u04B7": 'j' # ҷ
232
- "\u0446": 'ts' # ц note[2]
233
- "\u0448": 'sh' # ш
234
- "\u0449": 'sh' # щ note[3]
235
- "\u044a": "\u2019" # ъ
236
- "\u044B": 'i' # ы note[5]
237
- "\u044C": '' # ь note[4]
238
- "\u044D": "\u0117" # э => ė
239
- "\u044E": 'yu' # ю
240
- "\u044F": 'ya' # я