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,166 +0,0 @@
1
- ---
2
- authority_id: ungegn
3
- id: 1987
4
- language: iso-639-2:rus
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: REPORT ON THE CURRENT STATUS OF UNITED NATIONS ROMANIZATION SYSTEMS FOR GEOGRAPHICAL NAMES -- Russian Romanization system
8
- url: http://www.eki.ee/wgrs/rom1_ru.htm
9
- creation_date: 1987
10
- confirmation_date: 2016
11
- description: |
12
- The United Nations recommended system was approved in 1987 (V/18),
13
- based on the official system of the Main Administration of Geodesy and
14
- Cartography of the former Soviet Union, also known as the GOST 1983
15
- system (GOST 16876-71). The table was published as an annex to the
16
- resolution.
17
-
18
- The system is used in the Russian Federation and increasingly in
19
- international cartographic products.
20
-
21
- Russian uses the Cyrillic script which is alphabetic. The
22
- romanization table is unambiguous and can be applied automatically. The
23
- system is reversible, although rarely there can be ambiguities.
24
-
25
- notes:
26
- - "Cursive forms of some characters might be formed differently: Аа Бб
27
- Вв Гг Дд Ее Ёё Жж Зз Ии Йй Кк Лл Мм Нн Оо Пп Рр Сс Тт Уу Фф Хх Цц Чч Шш
28
- Щщ Ъъ Ыы Ьь Ээ Юю Яя."
29
-
30
- - Fifth United Nations Conference on the Standardization of
31
- Geographical Names. Montreal, 18–31 August 1987. Vol. I. Report of the
32
- Conference, pp. 40–41.
33
-
34
- tests:
35
- - source: Aнaпa
36
- expected: Anapa
37
-
38
- - source: Бaбушкин
39
- expected: Babuškin
40
-
41
- - source: Вaвилово
42
- expected: Vavilovo
43
-
44
- - source: Гaгaрин
45
- expected: Gagarin
46
-
47
- - source: Дудинкa
48
- expected: Dudinka
49
-
50
- - source: Елисeeвкa
51
- expected: Eliseevka
52
-
53
- - source: Ёлкино
54
- expected: "\u00CBlkino"
55
-
56
- - source: Псëл
57
- expected: Psël
58
-
59
- - source: Жужa
60
- expected: Žuža
61
-
62
- - source: Звëздный
63
- expected: Zvëzdnyj
64
-
65
- - source: Идрицa
66
- expected: Idrica
67
-
68
- - source: Зaрaйск
69
- expected: Zarajsk
70
-
71
- - source: Кокaнд
72
- expected: Kokand
73
-
74
- - source: Лaлвaр
75
- expected: Lalvar
76
-
77
- - source: Мaймaк
78
- expected: Majmak
79
-
80
- - source: Нeжин
81
- expected: Nežin
82
-
83
- - source: Обoдoвкa
84
- expected: Obodovka
85
-
86
- - source: Пaп
87
- expected: Pap
88
-
89
- - source: Рeбрихa
90
- expected: Rebriha
91
-
92
- - source: Сaсoвo
93
- expected: Sasovo
94
-
95
- - source: Тaттa
96
- expected: Tatta
97
-
98
- - source: Уржум
99
- expected: Uržum
100
-
101
- - source: Фoфaнoвo
102
- expected: Fofanovo
103
-
104
- - source: Хoхломa
105
- expected: Hohloma
106
-
107
- - source: Цвeткoвo
108
- expected: Cvetkovo
109
-
110
- - source: Чeчeльник
111
- expected: Čečel’nik
112
-
113
- - source: Шишкинo
114
- expected: Šiškino
115
-
116
- - source: Щукинo
117
- expected: Ščukino
118
-
119
- - source: Пoдъячeвo
120
- expected: Pod”jačevo
121
-
122
- - source: Ыныкчaнский
123
- expected: Ynykčanskij
124
-
125
- - source: Пaрaньгa
126
- expected: Paran’ga
127
-
128
- - source: Кaзaнь
129
- expected: Kazan’
130
-
131
- - source: Щучьe
132
- expected: Ščuč’e
133
-
134
- - source: Элистa
135
- expected: Èlista
136
-
137
- - source: Юринo
138
- expected: Jurino
139
-
140
- - source: Юхнoв
141
- expected: Juhnov
142
-
143
- - source: Юрюзaнь
144
- expected: Jurjuzan’
145
-
146
- - source: Ямaл
147
- expected: Jamal
148
-
149
- - source: Язъявaн
150
- expected: Jaz”javan
151
-
152
- - source: Яя
153
- expected: Jaja
154
-
155
- - source: Вязьмa
156
- expected: Vjaz’ma
157
-
158
-
159
- map:
160
- inherit: gost-rus-Cyrl-Latn-16876-71-1983
161
-
162
- characters:
163
- '\u042A' : '”' # Ъ
164
- '\u042C' : '’' # Ь
165
- '\u044A' : '”' # ъ
166
- '\u044C' : '’' # ь
@@ -1,194 +0,0 @@
1
- ---
2
- authority_id: un
3
- id: 1972
4
- language: iso-639-2:tam
5
- source_script: Gujr
6
- destination_script: Taml
7
- name: REPORT ON THE CURRENT STATUS OF UNITED NATIONS ROMANIZATION SYSTEMS FOR GEOGRAPHICAL NAMES --Tamil Romanization Version 4.0
8
- url: https://www.eki.ee/wgrs/rom1_ta.htm
9
- creation_date: 1972
10
- confirmation_date: 2016
11
- description: |
12
- The United Nations recommended system was approved in 1972 (II/11) and amended in 1977 (III/12), based on a report prepared by
13
- D. N. Sharma. The tables and their corrections were published in volume II of the conference reports.
14
-
15
- There is no evidence of the use of the system either in India, Sri Lanka or in international cartographic products.
16
-
17
- Tamil uses an alphasyllabic script whereby each character represents a syllable rather than one sound. Vowels and diphthongs
18
- are marked in two ways: as independent characters (used syllable-initially) and in an abbreviated form, to denote vowels after
19
- consonants. The romanization table is unambiguous. The system is on the whole reversible.
20
-
21
- notes:
22
-
23
- - |
24
- ஜி Variation: டி ṭi.
25
- - |
26
- ஜீ Variation: டீ ṭī.
27
- - |
28
- ஜு Variations: கு ku, ஙு ṅu, சு chu, ஞு ñu, டு ṭu, ணு ṇu, து tu, நு nu, பு pu, மு mu, யு yu, ரு ru, லு lu, etc.
29
- - |
30
- ஜூ Variations: கூ kū, ஙூ ṅū, சூ chū, ஞூ ñū, டூ ṭū, ணூ ṇū, தூ tū, நூ nū, பூ pū, மூ mū, etc.
31
- - |
32
- ஃ Absent in the original table.
33
- - |
34
- ் Pronunciation without a vowel: க் k.
35
- - |
36
- ஜ, ஶ, ஸ, ன Characters borrowed from the Grantha script.
37
- - |
38
- ஸ Special syllable character: ஸ்ரீ srī.
39
-
40
- tests:
41
- - source: "அழிந்து போன நகரத்தில் , தொலைந்து போன நான்"
42
- expected: "al̮intu poṉa nakarattil , tŏlaintu poṉa nāṉ"
43
- - source: "முதன் முதலாக - மை ஃபர்ஸ்ட் சோலோ ட்ராவல்"
44
- expected: "mutaṉ mutalāka - mai ḥparsṭ cholo ṭrāval"
45
- - source: "வாழ்க்கையில் அவன் போன முதல் சோலோ டிரிப் அது தான்."
46
- expected: "vāl̮kkaiyil avaṉ poṉa mutal cholo ṭirip atu tāṉ."
47
- - source: "ஸ்கூல் ப்ரெண்ட் கார்த்திக் வீட்டுக்கு போய்ட்டு"
48
- expected: "skūl prĕṇṭ kārttik vīṭṭukku poyṭṭu"
49
- - source: "நாசா வெளியிட்ட வெடிக்கும் நட்சத்திரத்தின் வீடியோ"
50
- expected: "nāchā vĕḷiyiṭṭa vĕṭikkum naṭchattirattiṉ vīṭiyo"
51
- - source: "டார்பிடோவை ஏவ உதவும் சூப்பர்சானிக் ஏவுகணையான ஸ்மார்ட் சோதனை வெற்றி"
52
- expected: "ṭārpiṭovai eva utavum chūpparchāṉik evukaṇaiyāṉa smārṭ chotaṉai vĕṟṟi"
53
- - source: "இந்த ஆண்டு மருத்துவத்துக்கான நோபல் பரிசு பெறுபவர்களின் பெயர்கள் அறிவிப்பு"
54
- expected: "inta āṇṭu maruttuvattukkāṉa nopal parichu pĕṟupavarkaḷiṉ pĕyarkaḷ aṟivippu"
55
- - source: "மல்லையா விவகாரம்: பிரிட்டன் அரசின் நடவடிக்கைகள் தங்களுக்கு தெரியவில்லை - மத்திய அரசு தகவல்"
56
- expected: "mallaiyā vivakāram: piriṭṭaṉ arachiṉ naṭavaṭikkaikaḷ taṅkaḷukku tĕriyavillai - mattiya arachu takaval"
57
- - source: "ஆலோசனைக்குப் பிறகு தேனியில் இருந்து சென்னை புறப்பட்டார் துணை முதலமைச்சர் பன்னீர்செல்வம்"
58
- expected: "ālochaṉaikkup piṟaku teṉiyil iruntu chĕṉṉai puṟappaṭṭār tuṇai mutalamaichchar paṉṉīrchĕlvam"
59
- - source: "இன்று தான் பேரன் பிறந்தநாள் முடிந்து ஃப்ரீ ஆகி இருக்கிறேன்"
60
- expected: "iṉṟu tāṉ peraṉ piṟantanāḷ muṭintu ḥprī āki irukkiṟeṉ"
61
-
62
- map:
63
-
64
- rules:
65
- - pattern: ([க]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
66
- result: 'k'
67
- - pattern: ([ங]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
68
- result: 'ṅ'
69
- - pattern: ([ச]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
70
- result: 'ch'
71
- - pattern: ([ஞ]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
72
- result: 'ñ'
73
- - pattern: ([ட]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
74
- result: 'ṭ'
75
- - pattern: ([ண]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
76
- result: 'ṇ'
77
- - pattern: ([த]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
78
- result: 't'
79
- - pattern: ([ந]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
80
- result: 'n'
81
- - pattern: ([ப]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
82
- result: 'p'
83
- - pattern: ([ம]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
84
- result: 'm'
85
- - pattern: ([ய]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
86
- result: 'y'
87
- - pattern: ([ர]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
88
- result: 'r'
89
- - pattern: ([ல]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
90
- result: 'l'
91
- - pattern: ([வ]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
92
- result: 'v'
93
- - pattern: ([ழ]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
94
- result: 'l̮'
95
- - pattern: ([ள]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
96
- result: 'ḷ'
97
- - pattern: ([ற]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
98
- result: 'ṟ'
99
- - pattern: ([ன]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
100
- result: 'ṉ'
101
- - pattern: ([ஜ]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
102
- result: 'j'
103
- - pattern: ([ஶ]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
104
- result: 'sh'
105
- - pattern: ([ஷ]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
106
- result: 'ṣh'
107
- - pattern: ([ஸ]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
108
- result: 's'
109
- - pattern: ([ஹ]=?)(?=[\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc6\u0bc7\u0bc8\u0bca\u0bcb\u0bcc\u25cc\u0bcd])
110
- result: 'h'
111
-
112
-
113
- characters:
114
- 'அ': 'a'
115
- 'ஆ': 'ā'
116
- 'ா': 'ā'
117
-
118
- 'இ': 'i'
119
- 'ி': 'i'
120
-
121
- 'ஈ': 'ī'
122
- 'ீ': 'ī'
123
-
124
- 'உ': 'u'
125
- 'ு': 'u'
126
-
127
- 'ஊ': 'ū'
128
- 'ூ': 'ū'
129
-
130
- 'ெ': "ĕ"
131
- 'எ': 'ĕ'
132
-
133
- 'ே': "e"
134
- 'ஏ': 'e'
135
-
136
- 'ஐ': 'ai'
137
- 'ை': "ai"
138
-
139
- 'ஒ': 'ŏ'
140
- 'ொ': 'ŏ'
141
-
142
- 'ோ': 'o'
143
- 'ஓ': 'o'
144
-
145
- 'ஔ': 'au'
146
- 'ௌ': 'au'
147
-
148
- 'ஃ': 'ḥ'
149
- '்': ''
150
-
151
- 'க': 'ka'
152
- 'ங': 'ṅa'
153
- 'ச': 'cha'
154
- 'ஞ': 'ña'
155
- 'ட': 'ṭa'
156
- 'ண': 'ṇa'
157
- 'த': 'ta'
158
- 'ந': 'na'
159
- 'ப': 'pa'
160
- 'ம': 'ma'
161
- 'ய': 'ya'
162
- 'ர': 'ra'
163
- 'ல': 'la'
164
- 'வ': 'va'
165
- 'ழ': 'l̮a'
166
- 'ள': 'ḷa'
167
- 'ற': 'ṟa'
168
- 'ன': 'ṉa'
169
- 'ஜ': 'ja'
170
- 'ஶ': 'sha'
171
- 'ஷ': 'ṣha'
172
- 'ஸ': 'sa'
173
- 'ஹ': 'ha'
174
- 'க்ஷ': 'kṣha'
175
- 'ற்ற': 'ṟṟa'
176
- 'ன்ற': 'ṉṟa'
177
-
178
- # Digits
179
- '௧': '1'
180
- '௨': '2'
181
- '௩': '3'
182
- '௪': '4'
183
- '௫': '5'
184
- '௬': '6'
185
- '௭': '7'
186
- '௮': '8'
187
- '௯': '9'
188
- '௦': '0'
189
- '௰': '10'
190
- '௱': '100'
191
- '௲': '1000'
192
-
193
- "‍": '' # no need for zero with joiner
194
- "‌": '' # no need for zero with non joiner
@@ -1,270 +0,0 @@
1
- ---
2
- authority_id: un
3
- id: 1972
4
- language: iso-639-2:tel
5
- source_script: Telu
6
- destination_script: Latn
7
- name: REPORT ON THE CURRENT STATUS OF UNITED NATIONS ROMANIZATION SYSTEMS FOR GEOGRAPHICAL NAMES -- Telugu Romanization, 1972
8
- url: https://www.eki.ee/wgrs/rom1_te.htm
9
- creation_date: 1972
10
- confirmation_date: 2016
11
- description: |
12
- The United Nations recommended system was approved in 1972 (II/11) and amended in 1977 (III/12),
13
- based on a report prepared by D. N. Sharma. The tables and their corrections were published in volume II
14
- of the conference reports.
15
-
16
- There is no evidence of the use of the system either in India or in international cartographic products.
17
-
18
- Telugu uses an alphasyllabic script whereby each character represents a syllable rather than one sound.
19
- Vowels and diphthongs are marked in two ways: as independent characters (used syllable-initially) and in
20
- an abbreviated form, to denote vowels after consonants. The romanization table is unambiguous. The system is
21
- mostly reversible but there may exist some ambiguities in the romanization of vowels (independent vs. abbreviated characters)
22
- and consonants (combinations with subscript consonants vs. character sequences).
23
-
24
- notes:
25
-
26
- - |
27
- Only the vowel forms that appear at the beginning of a syllable are listed; the forms used for
28
- vowels following a consonant can be found in grammars; no distinction between the two is
29
- made in transliteration.
30
- - |
31
- The vowel a is implicit after all consonants and consonant clusters and is supplied in
32
- transliteration, with the following exceptions:
33
- a) when another vowel is indicated by its appropriate sign; and
34
- b) when the absence of any vowel is indicated by the superscript sign ( ౬ ) called valapalagilaka.
35
- - |
36
- Exception: Sunna is transliterated by:
37
- a) ṅ before gutturals,
38
- b) ñ before palatals,
39
- c) ṇ before cerebrals,
40
- d) n before dentals, and
41
- e) m before labials.
42
- - |
43
- Ardhasunna before gutturals and palatal, cerebral, and dental occlusives is transliterated n̐.
44
- Before labials, sibilants, semivowels, the aspirate, vowels, and in final position it is
45
- transliterated m
46
-
47
- tests:
48
- - source: "తమిళనాడు"
49
- expected: "tamiḷanāḍu"
50
- - source: "తంటికొండ ఘటన: ఆగని మృత్యుఘోష"
51
- expected: "taṃṭikŏṃḍa ghaṭana: āgani mṛtyughoṣha"
52
- - source: "మళ్లీ వివాదం: అమితాబ్‌పై కేసు"
53
- expected: "maḷlī vivādaṃ: amitābpai kesu"
54
- - source: "వరద సాయం పేరుతో వైట్ కాలర్ దోపిడీ"
55
- expected: "varada sāyaṃ peruto vaiṭ kālar dopiḍī"
56
- - source: "రెండో విడత జీఎస్టీ పరిహారం"
57
- expected: "rĕṃḍo viḍata jīĕsṭī parihāraṃ"
58
- - source: "నితీష్‌ కుమార్‌ అధ్యాయం ముగిసినట్లేనా?!"
59
- expected: "nitīṣh kumār adhyāyaṃ mugisinaṭlenā?!"
60
- - source: "వారిపై జీవితాంతం నిషేధం విధించండి!"
61
- expected: "vāripai jīvitāṃtaṃ niṣhedhaṃ vidhiṃchaṃḍi!"
62
- - source: "మరో లాక్‌డౌన్‌ వల్ల అన్నీ అనర్థాలే!"
63
- expected: "maro lākḍaun valla annī anarthāle!"
64
- - source: "జెసిండా మరో సంచలనం"
65
- expected: "jĕsiṃḍā maro saṃchalanaṃ"
66
- - source: "స్వీయ నిర్బంధంలోకి డబ్ల్యూహెచ్‌ఓ డైరెక్టర్‌"
67
- expected: "svīya nirbaṃdhaṃloki ḍablyūhĕcho ḍairĕkṭar"
68
- - source: "కరోనాపై యుద్ధంలో సమిధలు"
69
- expected: "karonāpai yuddhaṃlo samidhalu"
70
- - source: "అమెరికా ఎన్నికలు: ‘పెద్దన్న’ ఎవరో?!"
71
- expected: "amĕrikā ĕnnikalu: ‘pĕddanna’ ĕvaro?!"
72
- - source: "౪౬౨౬౯"
73
- expected: "46269"
74
- - source: "రంగపూర్"
75
- expected: "raṃgapūr"
76
- # subscript consonant characters
77
- - source: "ట్ట"
78
- expected: "ṭṭa"
79
- - source: "ప్ప"
80
- expected: "ppa"
81
- - source: "చ్చ"
82
- expected: "chcha"
83
-
84
-
85
- map:
86
-
87
- rules:
88
- - pattern: ([క]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
89
- result: 'k'
90
- - pattern: ([ఖ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
91
- result: 'kh'
92
- - pattern: ([గ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
93
- result: 'g'
94
- - pattern: ([ఘ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
95
- result: 'gh'
96
- - pattern: ([ఙ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
97
- result: 'ṅ'
98
- - pattern: ([చ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
99
- result: 'ch'
100
- - pattern: ([ఛ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
101
- result: 'chh'
102
- - pattern: ([జ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
103
- result: 'j'
104
- - pattern: ([ఝ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
105
- result: 'jh'
106
- - pattern: ([ఞ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
107
- result: 'ñ'
108
- - pattern: ([ట]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
109
- result: 'ṭ'
110
- - pattern: ([ఠ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
111
- result: 'ṭh'
112
- - pattern: ([డ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
113
- result: 'ḍ'
114
- - pattern: ([ఢ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
115
- result: 'ḍh'
116
- - pattern: ([ణ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
117
- result: 'ṇ'
118
- - pattern: ([త]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
119
- result: 't'
120
- - pattern: ([థ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
121
- result: 'th'
122
- - pattern: ([ద]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
123
- result: 'd'
124
- - pattern: ([ధ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
125
- result: 'dh'
126
- - pattern: ([న]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
127
- result: 'n'
128
- - pattern: ([ప]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
129
- result: 'p'
130
- - pattern: ([ఫ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
131
- result: 'ph'
132
- - pattern: ([బ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
133
- result: 'b'
134
- - pattern: ([భ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
135
- result: 'bh'
136
- - pattern: ([మ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
137
- result: 'm'
138
- - pattern: ([య]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
139
- result: 'y'
140
- - pattern: ([ర]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
141
- result: 'r'
142
- - pattern: ([ఱ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
143
- result: 'r'
144
- - pattern: ([ల]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
145
- result: 'l'
146
- - pattern: ([వ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
147
- result: 'v'
148
- - pattern: ([శ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
149
- result: 'sh'
150
- - pattern: ([ష]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
151
- result: 'ṣh'
152
- - pattern: ([స]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
153
- result: 's'
154
- - pattern: ([హ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
155
- result: 'h'
156
- - pattern: ([ళ]=?)(?=[\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c46\u0c47\u0c48\u0c4a\u0c4b\u0c4c\u0c6c\u0c4d])
157
- result: 'ḷ'
158
-
159
- characters:
160
-
161
- # I. Independent vowel characters
162
-
163
- 'అ': 'a'
164
- 'ఆ': 'ā'
165
- 'ఇ': 'i'
166
- 'ఈ': 'ī'
167
- 'ఉ': 'u'
168
- 'ఊ': 'ū'
169
- 'ఋ': 'ṛ'
170
- 'ౠ': 'ṝ'
171
- 'ఎ': 'ĕ'
172
- 'ఏ': 'e'
173
- 'ఐ': 'ai'
174
- 'ఒ': 'ŏ'
175
- 'ఓ': 'o'
176
- 'ఔ': 'au'
177
-
178
- # II. Abbreviated vowel characters and other symbols
179
-
180
- 'ా': 'ā'
181
- 'ి': 'i' # Variations: చి chi, ని ni, యి yi, లి li, etc.
182
- 'ీ': 'ī'
183
- 'ు': 'u' # Variations: జు ju, పు pu, వు vu, etc.
184
- 'ూ': 'ū'
185
- 'ృ': 'ṛ'
186
- 'ె': 'ĕ'
187
- 'ే': 'e'
188
- 'ై': 'ai'
189
- 'ొ': 'ŏ' # Variations: మొ mŏ, యొ yŏ.
190
- 'ో': 'o' # Variations: మో mo, యో yo.
191
- 'ౌ': 'au'
192
- 'ঁ': 'ṁ'
193
- 'ఁ': 'm̐' # Signified historic nasal sound, now obsolete.
194
- 'ః': 'ḥ'
195
- 'ం': 'ṃ'
196
- '\u0c4d': '' # End-of-syllable mark (i.e., a consonant without a vowel): రంగపూర్ Raṁgapūr.
197
-
198
- # III. Consonant characters
199
-
200
- # Gutturals
201
- 'క': 'ka'
202
- 'ఖ': 'kha'
203
- 'గ': 'ga'
204
- 'ఘ': 'gha'
205
- 'ఙ': 'ṅa'
206
-
207
- # Palatals
208
- 'చ': 'cha'
209
- 'ఛ': 'chha'
210
- 'జ': 'ja'
211
- 'ఝ': 'jha'
212
- 'ఞ': 'ña'
213
-
214
- # Cerebrals
215
- 'ట': 'ṭa'
216
- 'ఠ': 'ṭha'
217
- 'డ': 'ḍa'
218
- 'ఢ': 'ḍha'
219
- 'ణ': 'ṇa'
220
-
221
- # Dentals
222
- 'త': 'ta'
223
- 'థ': 'tha'
224
- 'ద': 'da'
225
- 'ధ': 'dha'
226
- 'న': 'na'
227
-
228
- # Labials
229
- 'ప': 'pa'
230
- 'ఫ': 'pha'
231
- 'బ': 'ba'
232
- 'భ': 'bha'
233
- 'మ': 'ma'
234
-
235
- # Semivowels
236
- 'య': 'ya'
237
- 'ర': 'ra' #Variant: ఱ.
238
- 'ఱ': 'ra'
239
- 'ల': 'la'
240
- 'వ': 'va'
241
-
242
- # Sibilants
243
- 'శ': 'sha'
244
- 'ష': 'ṣha'
245
- 'స': 'sa'
246
-
247
- # Aspirate
248
- 'హ': 'ha'
249
- 'ళ' : 'ḷa'
250
-
251
- '\u09CD': '' # Used for joining
252
- 'ౕ ': ''
253
- 'ౖ ': ''
254
- '्': ''
255
- '़': ''
256
- "‍": ''# Used for joining
257
- "‌": ''# Used for non joining
258
-
259
- # numbers
260
-
261
- '౦': '0'
262
- '౧': '1'
263
- '౨': '2'
264
- '౩': '3'
265
- '౪': '4'
266
- '౫': '5'
267
- '౬': '6'
268
- '౭': '7'
269
- '౮': '8'
270
- '౯': '9'