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,77 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:rus
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Office of the Director Of National Intelligence Russian Personal Names 2015, ICS-630-01 Annex K
8
- # url:
9
- source: ICS-630-01 Annex K
10
- creation_date: 2015
11
- confirmation_date: 2015
12
- description: |
13
- This system, adapted from the Board of Geographic Names (BGN) Romanization system for Russian
14
- (1947), is the Intelligence Community (IC) standard for the transliteration of Russian names that will be
15
- applied to all final written reports and products for IC consumers. It is not intended to eliminate variations
16
- of a name that can contribute forensic information. Rather, it is to provide an IC standard Romanized
17
- (English) transliteration from Russian that can then be linked to forensic information in ways that will
18
- help identify the referent of the name.
19
-
20
- In cases where an individual’s name has already been transliterated in a variant spelling, the IC Standard
21
- spelling should appear first, followed by the variant spelling(s) in parentheses at the first usage. E.g.,
22
- Sergey Nikolayevich Tyurin (Serguei Nicolaivitch Tiourine). In addition, if the original Cyrillic spelling
23
- is known, that spelling should also appear in parentheses following the name, if possible, following best
24
- practices of the issuing organization and taking into consideration information system capabilities. This
25
- convention is designed to ensure that vital forensic information is not lost.
26
-
27
- For non-Russian names, use the relevant IC transliteration standard for names from that language. A
28
- translator’s 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., George Clooney,
30
- Jorge Garcia, Georges Pompidou).
31
-
32
- In the case of active senior government officials in the on-line CIA World Factbook and the on-line
33
- directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings given in these
34
- on-line reference works should be used in place of the IC Standard. For any individual who has at one
35
- time been listed in the Factbook or Chiefs of State directory but who no longer appears in those resources
36
- (i.e. is no longer a government official), the IC Standard spelling should appear first, with the spelling, if
37
- known, as it previously appeared in those 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 readable
40
- to the English-speaking non-specialist. The system uses the 26 letters of the standard (English) Roman
41
- alphabet. Some ambiguities in the Romanized form will occur without the use of diacritics. However,
42
- within the context of a report, where additional information about the individual is provided, the referent
43
- will be clearly identified. This system will be used in conjunction with on-line tools, name dictionaries,
44
- and lists containing conventional spellings of names of well-known individuals.
45
-
46
- notes:
47
-
48
- tests:
49
- - source: Ирина Ивановна Никитина
50
- expected: Irina Ivanovna Nikitina
51
- - source: Николай Римский-Корсаков
52
- expected: Nikolay Rimskiy-Korsakov
53
- - source: Михаил Тимофеевич Калашников
54
- expected: Mikhail Timofeyevich Kalashnikov
55
- - source: Корж Василий Захарович
56
- expected: Korzh Vasiliy Zakharovich
57
- - source: Циолковский Константин Эдуардович
58
- expected: Tsiolkovskiy Konstantin Eduardovich
59
- - source: Лобачевский Николай Иванович
60
- expected: Lobachevskiy Nikolay Ivanovich
61
- - source: Пушкин Александр Сергеевич
62
- expected: Pushkin Aleksandr Sergeyevich
63
- - source: Гоголь Николай Васильевич
64
- expected: Gogol Nikolay Vasilyevich
65
- - source: Ломоносов Михаил Васильевич
66
- expected: Lomonosov Mikhail Vasilyevich
67
-
68
- map:
69
- inherit: bgnpcgn-rus-Cyrl-Latn-1947
70
-
71
- characters:
72
- '\u042a': '' # Ъ
73
- '\u042c': '' # Ь
74
-
75
-
76
- '\u044a': '' # ъ
77
- '\u044c': '' # ь
@@ -1,36 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2005
4
- language: iso-639-2:srp
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Office of the Director Of National Intelligence Serbian Personal Names 2004 System
8
- creation_date: 2005
9
- confirmation_date: 2005
10
- description: |
11
- Office of the Director Of National Intelligence Serbian Personal Names 2004 System
12
-
13
- notes:
14
-
15
- tests:
16
- - source: Гојко Митић
17
- expected: Gojko Mitic
18
- - source: Горња Ваганица
19
- expected: Gornja Vaganica
20
- - source: Довиђења
21
- expected: Dovidjenja
22
- - source: Ћао! Здраво!
23
- expected: Cao! Zdravo!
24
- - source: Кључ
25
- expected: Kljuc
26
- - source: Цигарете
27
- expected: Cigarete
28
- - source: Пролеће
29
- expected: Prolece
30
- - source: Понедељак
31
- expected: Ponedeljak
32
- - source: Горња Ваганица
33
- expected: Gornja Vaganica
34
-
35
- map:
36
- inherit: odni-srp-Cyrl-Latn-2015
@@ -1,129 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:srp
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Office of the Director Of National Intelligence Serbian Personal Names 2015, ICS-630-01 Annex L
8
- # url:
9
- source: ICS-630-01 Annex L
10
- creation_date: 2015
11
- confirmation_date: 2015
12
- description: |
13
- This system is the Intelligence Community (IC) standard for the transliteration of Serbian names
14
- written in Cyrillic that will be applied to all final written reports and products for IC consumers. It
15
- is not intended to eliminate variations of a name that can contribute forensic information. Rather,
16
- it is to provide an IC standard Romanized (English) transliteration from Serbian 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 Serbian-speaking community, use the
27
- 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 dictionaries, and lists containing conventional spellings of
45
- names of well-known individuals.
46
-
47
- notes:
48
-
49
- tests:
50
- - source: Гојко Митић
51
- expected: Gojko Mitic
52
- - source: Горња Ваганица
53
- expected: Gornja Vaganica
54
- - source: Довиђења
55
- expected: Dovidjenja
56
- - source: Ћао! Здраво!
57
- expected: Cao! Zdravo!
58
- - source: Кључ
59
- expected: Kljuc
60
- - source: Цигарете
61
- expected: Cigarete
62
- - source: Пролеће
63
- expected: Prolece
64
- - source: Понедељак
65
- expected: Ponedeljak
66
-
67
- map:
68
- characters:
69
- '\u0410': 'A' # А
70
- '\u0411': 'B' # Б
71
- '\u0412': 'V' # В
72
- '\u0413': 'G' # Г
73
- '\u0414': 'D' # Д
74
- '\u0402': 'Dj' # Ђ
75
- '\u0415': 'E' # Е
76
- '\u0416': 'Z' # Ж
77
- '\u0417': 'Z' # З
78
- '\u0418': 'I' # И
79
- '\u0408': 'J' # Ј
80
- '\u041A': 'K' # К
81
- '\u041B': 'L' # Л
82
- '\u0409': 'Lj' # Љ
83
- '\u041C': 'M' # М
84
- '\u041D': 'N' # Н
85
- '\u040A': Nj # Њ
86
- '\u041E': 'O' # О
87
- '\u041F': 'P' # П
88
- '\u0420': 'R' # Р
89
- '\u0421': 'S' # С
90
- '\u0422': 'T' # Т
91
- '\u040B': 'C' # Ћ
92
- '\u0423': 'U' # У
93
- '\u0424': 'F' # Ф
94
- '\u0425': 'H' # Х
95
- '\u0426': 'C' # Ц
96
- '\u0427': 'C' # Ч
97
- '\u040F': 'Dz' # Џ
98
- '\u0428': 'S' # Ш
99
-
100
- '\u0430': 'a' # а
101
- '\u0431': 'b' # б
102
- '\u0432': 'v' # в
103
- '\u0433': 'g' # г
104
- '\u0434': 'd' # д
105
- '\u0452': 'dj' # ђ
106
- '\u0435': 'e' # e
107
- '\u0436': 'z' # ж
108
- '\u0437': 'z' # з
109
- '\u0438': 'i' # и
110
- '\u0458': 'j' # ј
111
- '\u043A': 'k' # к
112
- '\u043B': 'l' # л
113
- '\u0459': 'lj' # љ
114
- '\u043C': 'm' # м
115
- '\u043D': 'n' # н
116
- '\u045A': 'nj' # њ
117
- '\u043E': 'o' # о
118
- '\u043F': 'p' # п
119
- '\u0440': 'r' # р
120
- '\u0441': 's' # с
121
- '\u0442': 't' # т
122
- '\u045B': 'c' # ћ
123
- '\u0443': 'u' # у
124
- '\u0444': 'f' # ф
125
- '\u0445': 'h' # х
126
- '\u0446': 'c' # ц
127
- '\u0447': 'c' # ч
128
- '\u045F': 'dz' # џ
129
- '\u0448': 's' # ш
@@ -1,142 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:tat
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Standards for the transliteration of tatar personal names in written reports and products
8
- source: ICS-630-01 Annex S
9
- creation_date: 2015
10
- confirmation_date: 2015
11
- description: |
12
- This system is the Intelligence Community standard for the transliteration of Tatar person names
13
- that will be applied to all final written reports and products for IC consumers. It is not intended
14
- to eliminate variations of a name that can contribute forensic information. Rather, it is to provide
15
- an IC standard Romanized (English) transliteration from Tatar that can then be linked to forensic
16
- 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
- Rustam Abdrashitov (also seen as Rustem Abdrashitov, Рустам Абдрашитов). This convention is
24
- designed to ensure that vital forensic information is not lost.
25
-
26
- For names of persons who are known to not be part of the Tatar-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: Rustam Abdrashitov
57
-
58
- map:
59
- rules:
60
- # note[1]
61
- - pattern: "(?i)(\u0401|\u0416|\u04A2|\u0425|\u0426|\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
- '\u04D8': 'A' # Ә
70
- '\u0411': 'B' # Б
71
- '\u0412': 'V' # В
72
- '\u0413': 'G' # Г
73
- '\u0414': 'D' # Д
74
- '\u0415': 'E' # Е
75
- '\u0401': 'Yo' # Ё
76
- '\u0416': 'Zh' # Ж
77
- '\u0496': 'J' # Җ
78
- '\u0417': 'Z' # З
79
- '\u0418': 'I' # И
80
- '\u0419': 'Y' # Й
81
- '\u041A': 'K' # К
82
- '\u041B': 'L' # Л
83
- '\u041C': 'M' # М
84
- '\u041D': 'N' # Н
85
- '\u04A2': 'Ng' # Ң
86
- '\u041E': 'O' # О
87
- '\u04E8': 'O' # Ө
88
- '\u041F': 'P' # П
89
- '\u0420': 'R' # Р
90
- '\u0421': 'S' # С
91
- '\u0422': 'T' # Т
92
- '\u0423': 'U' # У
93
- '\u04AE': 'U' # Ү
94
- '\u0424': 'F' # Ф
95
- '\u0425': 'Kh' # Х
96
- '\u04BA': 'H' # Һ
97
- '\u0426': 'Ts' # Ц
98
- '\u0427': 'Ch' # Ч
99
- '\u0428': 'Sh' # Ш
100
- '\u0429': 'Shch' # Щ
101
- '\u042B': 'Y' # Ы
102
- '\u042D': 'E' # Э
103
- '\u042E': 'Yu' # Ю
104
- '\u042F': 'Ya' # Я
105
-
106
- '\u0430': 'a' # а
107
- '\u04D9': 'a' # ә
108
- '\u0431': 'b' # б
109
- '\u0432': 'v' # в
110
- '\u0433': 'g' # г
111
- '\u0434': 'd' # д
112
- '\u0435': 'e' # e
113
- '\u0451': 'yo' # ё
114
- '\u0436': 'zh' # ж
115
- '\u0497': 'j' # җ
116
- '\u0437': 'z' # з
117
- '\u0438': 'i' # и
118
- '\u0439': 'y' # й
119
- '\u043A': 'k' # к
120
- '\u043B': 'l' # л
121
- '\u043C': 'm' # м
122
- '\u043D': 'n' # н
123
- '\u04A3': 'ng' # ң
124
- '\u043E': 'o' # о
125
- '\u04E9': 'o' # ө
126
- '\u043F': 'p' # п
127
- '\u0440': 'r' # р
128
- '\u0441': 's' # с
129
- '\u0442': 't' # т
130
- '\u0443': 'u' # у
131
- '\u04AF': 'u' # ү
132
- '\u0444': 'f' # ф
133
- '\u0445': 'kh' # х
134
- '\u04BB': 'h' # һ
135
- '\u0446': 'ts' # ц
136
- '\u0447': 'ch' # ч
137
- '\u0448': 'sh' # ш
138
- '\u0449': 'shch' # щ
139
- '\u044B': 'y' # ы
140
- '\u044D': 'e' # э
141
- '\u044E': 'yu' # ю
142
- '\u044F': 'ya' # я
@@ -1,148 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:tgk
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Standards for the transliteration of tajik personal names in written reports and products
8
- source: ICS-630-01 Annex N
9
- creation_date: 2015
10
- confirmation_date: 2015
11
- description: |
12
- This system is the Intelligence Community standard for the transliteration of Tajik names that
13
- will be applied to all final written reports and products for IC consumers. It is not intended to
14
- eliminate variations of a name that can contribute forensic information. Rather, it is to provide
15
- an IC standard Romanized (English) transliteration from Tajik that can then be linked to forensic
16
- 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
- Parvona Jamshedov (also seen as Parvona Dzhamshedov, Парвона Ҷамшедов). This convention is
24
- designed to ensure that vital forensic information is not lost.
25
-
26
- For names of persons who are known to not be part of the Tajik-speaking community, use the
27
- relevant IC transliteration standard for names from that language (e.g., Mikhail, Yitzhak).
28
- A 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 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
- - Transliterate ‘е‘ as ‘ye’ at beginning of words, ‘e’ elsewhere
54
-
55
- tests:
56
- - source: Парвона Ҷамшедов
57
- expected: Parvona Jamshedov
58
-
59
- map:
60
- rules:
61
- # note[1]
62
- - pattern: "(?i)(\u0492|\u0401|\u0416|\u0425|\u0427|\u0428|\u042E|\u042F|\u0426|\u0429)\\1(?-i)"
63
- result: "\\1"
64
- # note[3]
65
- - pattern: \u044A|\u044C
66
- result: ""
67
- # note[4]
68
- - pattern: \b\u0415
69
- result: Ye
70
- - pattern: \b\u0435
71
- result: ye
72
-
73
- characters:
74
- '\u0410': 'A' # А
75
- '\u0411': 'B' # Б
76
- '\u0412': 'V' # В
77
- '\u0413': 'G' # Г
78
- '\u0492': 'Gh' # Ғ
79
- '\u0414': 'D' # Д
80
- '\u0415': 'E' # Е
81
- '\u0401': 'Yo' # Ё
82
- '\u0416': 'Zh' # Ж
83
- '\u0417': 'Z' # З
84
- '\u0418': 'I' # И
85
- '\u04E2': 'I' # Ӣ
86
- '\u0419': 'Y' # Й
87
- '\u041A': 'K' # К
88
- '\u049A': 'Q' # Қ
89
- '\u041B': 'L' # Л
90
- '\u041C': 'M' # М
91
- '\u041D': 'N' # Н
92
- '\u041E': 'O' # О
93
- '\u041F': 'P' # П
94
- '\u0420': 'R' # Р
95
- '\u0421': 'S' # С
96
- '\u0422': 'T' # Т
97
- '\u0423': 'U' # У
98
- '\u04EE': 'U' # Ӯ
99
- '\u0424': 'F' # Ф
100
- '\u0425': 'Kh' # Х
101
- '\u04B2': 'H' # Ҳ
102
- '\u0427': 'Ch' # Ч
103
- '\u04B6': 'J' # Ҷ
104
- '\u0428': 'Sh' # Ш
105
- '\u042D': 'E' # Э
106
- '\u042E': 'Yu' # Ю
107
- '\u042F': 'Ya' # Я
108
- '\u0426': 'Ts' # Ц
109
- '\u0429': 'Shch' # Щ
110
- '\u042B': 'Y' # Ы
111
-
112
- '\u0430': 'a' # а
113
- '\u0431': 'b' # б
114
- '\u0432': 'v' # в
115
- '\u0433': 'g' # г
116
- '\u0493': 'gh' # ғ
117
- '\u0434': 'd' # д
118
- '\u0435': 'e' # e
119
- '\u0451': 'yo' # ё
120
- '\u0436': 'zh' # ж
121
- '\u0437': 'z' # з
122
- '\u0438': 'i' # и
123
- '\u04E3': 'i' # ӣ
124
- '\u0439': 'y' # й
125
- '\u043A': 'k' # к
126
- '\u049B': 'q' # қ
127
- '\u043B': 'l' # л
128
- '\u043C': 'm' # м
129
- '\u043D': 'n' # н
130
- '\u043E': 'o' # о
131
- '\u043F': 'p' # п
132
- '\u0440': 'r' # р
133
- '\u0441': 's' # с
134
- '\u0442': 't' # т
135
- '\u0443': 'u' # у
136
- '\u04EF': 'u' # ӯ
137
- '\u0444': 'f' # ф
138
- '\u0445': 'kh' # х
139
- '\u04B3': 'h' # ҳ
140
- '\u0447': 'ch' # ч
141
- '\u04B7': 'j' # ҷ
142
- '\u0448': 'sh' # ш
143
- '\u044D': 'e' # э
144
- '\u044E': 'yu' # ю
145
- '\u044F': 'ya' # я
146
- '\u0446': 'ts' # ц
147
- '\u0449': 'shch' # щ
148
- '\u044B': 'y' # ы