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,323 +0,0 @@
1
- ---
2
- authority_id: iso
3
- id: 233-1984
4
- language: iso-639-2:ara
5
- source_script: Arab
6
- destination_script: Latn
7
- name: ISO 233:1984 Documentation — Transliteration of Arabic characters into Latin characters
8
- url:
9
- - https://www.iso.org/standard/4117.html
10
- - http://transliteration.eki.ee/pdf/Arabic_2.2.pdf
11
- - http://www.eki.ee/wgrs/rom1_ar.pdf
12
- creation_date: 1984
13
- confirmation date: 2018-06
14
- description: |
15
- Is one of a series of International Standards dealing with
16
- the conversion of systems of writing, following the
17
- principles of stringent conversion in order to permit
18
- international information exchange. Its aim is to provide a
19
- means for international communication of written messages
20
- in a form which permits the automatic transmission and
21
- reconstitution of these by men or machines. Cancels and
22
- replaces ISO Recommendation R 233-1961
23
- notes:
24
- - |
25
- The transliteration ISO 233:1984 WRT ara-arab-latn-2017 gives every character and diacritical mark a unique
26
- equivalent and e.g. long vowels in Arabic ā, ī and ū are consequently written a’, iy and uw
27
- respectively in the ISO transliteration. Other main correspondences
28
- ث is ṯ instead of th
29
- ج is ǧ instead of j
30
- ح is ḥ instead of ẖ
31
- خ is ẖ instead of kh
32
- ذ is ḏ instead of dh
33
- ش is š instead of sh
34
- ص is ṣ instead of s̱
35
- ض is ḍ instead of ḏ
36
- ط is ṭ instead of ṯ
37
- ظ is ẓ instead of d͟h
38
- غ is ġ instead of gh
39
- ة is ẗ instead of h/t
40
- ى is ỳ
41
- ـِي is iy instead of iy
42
- ـُو is uw instead of ū
43
- ـَا is a’ instead of ā
44
- ـَى is aỳ instead of á
45
-
46
- tests:
47
-
48
- - source: مِصر
49
- expected: Miṣr
50
-
51
- - source: قَطَر
52
- expected: Qaṭar
53
-
54
- - source: الجُمهُورِيَّة العِرَاقِيَّة
55
- expected: Al Ǧumhuwriyaẗ al ‘Ira’qiyaẗ
56
-
57
- - source: جُمهُورِيَّة مِصر العَرَبِيَّة
58
- expected: Ǧumhuwriyaẗ Miṣr al ‘Arabiyaẗ
59
-
60
- - source: الرِيَاض
61
- expected: Ar Riya’ḍ
62
-
63
- - source: الشارِقة
64
- expected: Aš Šâriqaẗ
65
-
66
- map:
67
- postrules:
68
- - pattern: (?<=\b)(?<!\b[‘|’|'])[\u0061-\uFFFF]
69
- result: "upcase"
70
- # don't capitalize defined article in the middle of a sentence
71
- - pattern : ' At T' # الت
72
- result: ' at T'
73
- - pattern : ' Aṯ Ṯ' # الث
74
- result: ' aṯ Ṯ'
75
- - pattern : ' Ad D' # الد
76
- result: ' ad D'
77
- - pattern : ' Aḏ Ḏ' # الذ
78
- result: ' aḏ Ḏ'
79
- - pattern : ' Ar R' # الر
80
- result: ' ar R'
81
- - pattern : ' Az Z' # الز
82
- result: ' az Z'
83
- - pattern : ' As S' # الس
84
- result: ' as S'
85
- - pattern : ' Aš Š' # الش
86
- result: ' aš Š'
87
- - pattern : ' Aṣ Ṣ' # الص
88
- result: ' aṣ Ṣ'
89
- - pattern : ' Aḍ Ḍ' # الض
90
- result: ' aḍ Ḍ'
91
- - pattern : ' Aṭ Ṭ' # الط
92
- result: ' aṭ Ṭ'
93
- - pattern : ' Aẓ Ẓ' # الظ
94
- result: ' aẓ Ẓ'
95
- - pattern : ' Al L' # الل
96
- result: ' al L'
97
- - pattern : ' An N' # الن
98
- result: ' an N'
99
- - pattern: " Al " # ال
100
- result: " al "
101
-
102
- characters:
103
-
104
- # pointing
105
- '\u064e' : 'a' # َ fatha
106
- '\u064e(?=\u0629)' : '' # َ fatha followed by ta' marboota
107
- '\u0650' : 'i' # ِ kasra
108
- '\u064f' : 'u' # ُ damma
109
- '\u0652' : '' # ْ sokoon, see note A below
110
-
111
- # special pointed letters
112
- # special pointed letters
113
- '\u0639\u064e' : '‘a' # عَ
114
- '\u0639\u0650' : '‘i' # عِ
115
- '\u0639\u064f' : '‘ū' # عُ
116
- # handle MacOS regex difference
117
- '\u0639\u064f\u0648' : '‘ū' # عُو damma followed by و
118
-
119
- '\u0650\u064a' : 'iy' # ـِي kasra followed by ي
120
- '\u0650\u064a\u0651\u064e' : 'iy' # ـِيَّ
121
- '\u0650\u064a(?=\u064e|u064f)' : 'iy' # ـِي kasra followed by ي
122
- '\u064e\u0627' : 'a’' # ـَا fatha followed by ا
123
- '\u064e\u0649' : 'aỳ' # ـَى fatha followed by ى which is ا not ي
124
- '\u064f\u0648' : 'uw' # ـُو damma followed by و
125
- '\u064e\u0648\u0652' : 'aw' # ـَوْ
126
- '\u064e\u064a\u0652' : 'ay' # ـَيْ
127
-
128
- # Sun letters
129
-
130
- '\b\u0627\u0644\u062a' : 'at t' # الت
131
- '\b\u0627\u0644\u062b' : 'aṯ ṯ' # الث
132
- '\b\u0627\u0644\u062f' : 'ad d' # الد
133
- '\b\u0627\u0644\u0630' : 'aḏ ḏ' # الذ
134
- '\b\u0627\u0644\u0631' : 'ar r' # الر
135
- '\b\u0627\u0644\u0632' : 'az z' # الز
136
- '\b\u0627\u0644\u0633' : 'as s' # الس
137
- '\b\u0627\u0644\u0634' : 'aš š' # الش
138
- '\b\u0627\u0644\u0635' : 'aṣ ṣ' # الص
139
- '\b\u0627\u0644\u0636' : 'aḍ ḍ' # الض
140
- '\b\u0627\u0644\u0637' : 'aṭ ṭ' # الط
141
- '\b\u0627\u0644\u0638' : 'aẓ ẓ' # الظ
142
- '\b\u0627\u0644\u0644' : 'al l' # الل
143
- '\b\u0627\u0644\u0646' : 'an n' # الن
144
-
145
- # ta' marboota in iso-233-1984 is all the same `aẗ`
146
- '\u0629' : 'aẗ' # ة in the middle of the sentence
147
-
148
- # Shadda
149
-
150
-
151
- '\u0628\u0651' : 'bb' # ب
152
- '\u062a\u0651' : 'tt' # ت
153
- '\u062b\u0651' : 'ṯṯ' # ث
154
- '\u062c\u0651' : 'ǧǧ' # ج
155
- '\u062d\u0651' : 'ḥḥ' # ح
156
- '\u062e\u0651' : 'ẖẖ' # خ
157
- '\u062f\u0651' : 'dd' # د
158
- '\u0630\u0651' : 'ḏḏ' # ذ
159
- '\u0631\u0651' : 'rr' # ر
160
- '\u0632\u0651' : 'zz' # ز
161
- '\u0633\u0651' : 'ss' # س
162
- '\u0634\u0651' : 'šš' # ش
163
- '\u0635\u0651' : 'ṣṣ' # ص
164
- '\u0636\u0651' : 'ḍḍ' # ض
165
- '\u0637\u0651' : 'ṭṭ' # ط
166
- '\u0638\u0651' : 'ẓẓ' # ظ
167
- '\u063a\u0651' : 'ġġ' # غ
168
- '\u0641\u0651' : 'ff' # ف
169
- '\u0642\u0651' : 'qq' # ق
170
- '\u0643\u0651' : 'kk' # ك
171
- '\u0644\u0651' : 'll' # ل
172
- '\u0645\u0651' : 'mm' # م
173
- '\u0646\u0651' : 'nn' # ن
174
- '\u0647\u0651' : 'hh' # ه
175
- '\u0648\u0651' : 'ww' # و
176
- '\u064a\u0651' : 'yy' # ي
177
-
178
-
179
- '\u0622' : '’â' # آ
180
-
181
- '\u0627' : 'â' # ا
182
-
183
- '\u0649' : 'ỳ' # ى
184
-
185
- '\u0626' : "'" # ئ
186
-
187
-
188
- '\u0621' : # ء
189
- - '’'
190
- - '' # see note A
191
-
192
- '\u0623' : 'a' # أ
193
-
194
- # See note B
195
- '\b\u0627\u0644' : 'al ' # ال
196
- # '\uFE8E' : '' # ﺎ
197
-
198
- '\u0628' : 'b' # ب
199
- '\uFE91' : 'b' # ﺑ
200
- '\uFE92' : 'b' # ﺒ
201
- '\uFE90' : 'b' # ﺐ
202
-
203
- # See note C
204
- '\u062a' : 't' # ت
205
- '\ufe97' : 't' # ﺗ
206
- '\ufe98' : 't' # ﺘ
207
- '\ufe96' : 't' # ﺖ
208
-
209
- '\u062b' : 'ṯ' # ث
210
- '\ufe9b' : 'ṯ' # ﺛ
211
- '\ufe9c' : 'ṯ' # ﺜ
212
- '\ufe9a' : 'ṯ' # ﺚ
213
-
214
- '\u062c' : 'ǧ' # ج
215
- '\ufe9f' : 'ǧ' # ﺟ
216
- '\ufea0' : 'ǧ' # ﺠ
217
- '\ufe9e' : 'ǧ' # ﺞ
218
-
219
- '\u062d' : 'ḥ' # ح
220
- '\ufea3' : 'ḥ' # ﺣ
221
- '\ufea4' : 'ḥ' # ﺤ
222
- '\ufea2' : 'ḥ' # ﺢ
223
-
224
- '\u062e' : 'ẖ' # خ
225
- '\ufea7' : 'ẖ' # ﺧ
226
- '\ufea8' : 'ẖ' # ﺨ
227
- '\ufea6' : 'ẖ' # ﺦ
228
-
229
- '\u062f' : 'd' # د
230
- '\ufeaa' : 'd' # ﺪ
231
-
232
- '\u0630' : 'ḏ' # ذ
233
- '\ufeac' : 'ḏ' # ﺬ
234
-
235
- '\u0631' : 'r' # ر
236
- '\ufeae' : 'r' # ﺮ
237
-
238
- '\u0632' : 'z' # ز
239
- '\ufeb0' : 'z' # ﺰ
240
-
241
- '\u0633' : 's' # س
242
- '\ufeb3' : 's' # ﺳ
243
- '\ufeb4' : 's' # ﺴ
244
- '\ufeb2' : 's' # ﺲ
245
-
246
- '\u0634' : 'š' # ش
247
- '\ufeb7' : 'š' # ﺷ
248
- '\ufeb8' : 'š' # ﺸ
249
- '\ufeb6' : 'š' # ﺶ
250
-
251
- '\u0635' : 'ṣ' # ص
252
- '\ufebb' : 'ṣ' # ﺻ
253
- '\ufebc' : 'ṣ' # ﺼ
254
- '\ufeba' : 'ṣ' # ﺺ
255
-
256
- '\u0636' : 'ḍ' # ض
257
- '\ufebf' : 'ḍ' # ﺿ
258
- '\ufec0' : 'ḍ' # ﻀ
259
- '\ufebe' : 'ḍ' # ﺾ
260
-
261
- '\u0637' : 'ṭ' # ط
262
- '\ufec3' : 'ṭ' # ﻃ
263
- '\ufec4' : 'ṭ' # ﻄ
264
- '\ufec2' : 'ṭ' # ﻂ
265
-
266
- '\u0638' : 'ẓ' # ظ
267
- '\ufec7' : 'ẓ' # ﻇ
268
- '\ufec8' : 'ẓ' # ﻈ
269
- '\ufec6' : 'ẓ' # ﻆ
270
-
271
- '\u0639' : '‘' # ع
272
- '\ufecb' : '‘' # ﻋ
273
- '\ufecc' : '‘' # ﻌ
274
- '\ufeca' : '‘' # ﻊ
275
-
276
- '\u063a' : 'ġ' # غ
277
- '\ufecf' : 'ġ' # ﻏ
278
- '\ufed0' : 'ġ' # ﻐ
279
- '\ufece' : 'ġ' # ﻎ
280
-
281
- '\u0641' : 'f' # ف
282
- '\ufed3' : 'f' # ﻓ
283
- '\ufed4' : 'f' # ﻔ
284
- '\ufed2' : 'f' # ﻒ
285
-
286
- '\u0642' : 'q' # ق
287
- '\ufed7' : 'q' # ﻗ
288
- '\ufed8' : 'q' # ﻘ
289
- '\ufed6' : 'q' # ﻖ
290
-
291
- '\u0643' : 'k' # ك
292
- '\ufedb' : 'k' # ﻛ
293
- '\ufedc' : 'k' # ﻜ
294
- '\ufeda' : 'k' # ﻚ
295
-
296
- '\u0644' : 'l' # ل
297
- '\ufedf' : 'l' # ﻟ
298
- '\ufee0' : 'l' # ﻠ
299
- '\ufede' : 'l' # ﻞ
300
-
301
- '\u0645' : 'm' # م
302
- '\ufee3' : 'm' # ﻣ
303
- '\ufee4' : 'm' # ﻤ
304
- '\ufee2' : 'm' # ﻢ
305
-
306
- '\u0646' : 'n' # ن
307
- '\ufee7' : 'n' # ﻧ
308
- '\ufee8' : 'n' # ﻨ
309
- '\ufee6' : 'n' # ﻦ
310
-
311
- # See note C
312
- '\u0647' : 'h' # ه
313
- '\ufeeb' : 'h' # ﻫ
314
- '\ufeec' : 'h' # ﻬ
315
- '\ufeea' : 'h' # ﻪ
316
-
317
- '\u0648' : 'w' # و
318
- '\ufeee' : 'w' # ﻮ
319
-
320
- '\u064a' : 'y' # ي
321
- '\ufef3' : 'y' # ﻳ
322
- '\ufef4' : 'y' # ﻴ
323
- '\ufef1' : 'y' # ﻱ
@@ -1,75 +0,0 @@
1
- ---
2
- authority_id: iso
3
- id: 15919-2001
4
- language: iso-639-2:asm
5
- source_script: Beng
6
- destination_script: Latn
7
- name: "Information and documentation — Transliteration of Devanagari and related Indic scripts into Latin characters"
8
- url: https://www.chatranjali.fr/Scripts/Standards/ISO15919.pdf
9
- creation_date: 2001
10
- adoption_date: 2001
11
- description: |
12
- Script conversion is often required for documents such as historical and literary texts, geographical texts (including
13
- maps and atlases), bibliographies, catalogues, lists and passports (and other identification documents).
14
-
15
- Text in Devanagari script or other Indic scripts sometimes needs to be shown in Latin script, where users, or
16
- equipment that they are using, cannot read or write the text
17
-
18
- This International Standard applies to transliteration of Devanagari, and to Indic scripts related to Devanagari,
19
- independent of the period in which it is or was used.
20
-
21
- notes:
22
-
23
- - All transliterations made using this International Standard shall be case-insensitive.
24
- - Inherent a with a consonant shall always be transliterated.
25
- - anusvara (including Vedic anusvara) shall be transliterated as ṁ
26
- - candrabindu shall be transliterated as m̐
27
- - When m̐, ṃ or ṁ are associated with a vowel, they shall be placed after the vowel. When m̐ is associated
28
- with a semivowel, it shall be placed before the semivowel.
29
- - Latin punctuation signs and Hindu-Arabic numerals shall remain unchanged in transliteration.
30
- Indic punctuation is outside the scope of this International Standard.
31
- - The Vedic accent Udatta shall be transliterated as an acute accent over the transliterated vowel, and the
32
- independent Svarita as a grave accent over the transliterated vowel. In the case of the digraphs ai, au, the accent
33
- shall be attached to the second vowel.
34
- - |
35
- A colon: before a Latin character shall be used to resolve ambiguity. Some normative cases are as
36
- follows.
37
- - :’ for avagraha in modern text. (The apostrophe in modern text remains unchanged in accordance with previous rule.
38
- - If a character in an Indic script is defined in such a way as to be equivalent to another character in any
39
- script, where the second character has a transliteration in this International Standard, then the first character shall
40
- be transliterated in the same way as the second character.
41
- - Where it is desired to show the Vedic accent Anudatta, it should be transliterated as an underscore. In the case of
42
- the digraphs ai, au, both Latin vowels should be underscored.
43
- Where word boundaries are not shown in the original text (as happens commonly in Sanskrit) and a word ends in a
44
- consonant, the transliteration should show word division by a space; but when phonological processes result in two
45
- words sharing a common vowel, no attempt should be made to separate them. This will require a good knowledge
46
- of the language in question.
47
-
48
- tests:
49
- - source: "অসমীয়া কবিতা"
50
- expected: "asamaīẏaā kabaitaā"
51
- - source: "কবিৰ আজি জন্মদিন"
52
- expected: "kabaiva ājai janamadaina"
53
- - source: "বেৰুটত এমাহৰ পাছতে পুনৰ ভয়ংকৰ অগ্নিকাণ্ড"
54
- expected: "baevauṭata emaāhava paāchatae paunava bhaya়ṁkava aganaikaāṇaḍa"
55
- - source: "ভঙাৰ বিৰুদ্ধে আৱেদন দাখিল কংগনাৰ"
56
- expected: "bhaṅaāva baivaudadhae āraedana daākhaila kaṁganaāva"
57
- - source: "আপুনি পঢ়ি ভাল পাব পৰা বাতৰি"
58
- expected: "āpaunai paṙhai bhaāla paāba pavaā baātavai"
59
- - source: "শ্ৰীৰামপুৰত গৰুভৰ্তি ট্ৰাক জব্দ, দুজনক আটক"
60
- expected: "śavaīvaāmapauvata gavaubhavatai ṭavaāka jabada, daujanaka āṭaka"
61
- - source: "কেনে আছে প্ৰাক্তন"
62
- expected: "kaenae āchae pavaākatana"
63
- - source: "কমুম্বাইৰ মেয়ৰৰ দেহত কোভিড পজিটিভ"
64
- expected: "kamaumabaāiva maeẏavava daehata kaobhaiḍa pajaiṭaibha"
65
- - source: "টুইটাৰযোগে খোদ সদৰী কৰে এই কথা"
66
- expected: "ṭauiṭaāvayaogae khaoda sadavaī kavae ei kathaā"
67
- - source: "লখিমপুৰ জিলাৰ নাৰায়ণপুৰৰ বৰপথাৰত আজি প্ৰশান্তি ধাম নামেৰে এখন বৃদ্ধাশ্ৰমৰ শুভাৰম্ভ কৰা হয়"
68
- expected: "lakhaimapauva jailaāva naāvaāẏaṇapauvava bavapathaāvata ājai pavaśaānatai dhaāma naāmaevae ekhana baṛdadhaāśavamava śaubhaāvamabha kavaā haẏa"
69
-
70
- map:
71
- inherit: 'iso-ben-Beng-Latn-15919-2001'
72
-
73
- characters:
74
- 'ৰ': 'va'
75
- 'ৱ': 'ra'
@@ -1,175 +0,0 @@
1
- ---
2
- authority_id: iso
3
- id: 15919-2001
4
- language: iso-639-2:ben
5
- source_script: Beng
6
- destination_script: Latn
7
- name: "Information and documentation — Transliteration of Devanagari and related Indic scripts into Latin characters"
8
- url: https://www.chatranjali.fr/Scripts/Standards/ISO15919.pdf
9
- creation_date: 2001
10
- adoption_date: 2001
11
- description: |
12
- Script conversion is often required for documents such as historical and literary texts, geographical texts (including
13
- maps and atlases), bibliographies, catalogues, lists and passports (and other identification documents).
14
-
15
- Text in Devanagari script or other Indic scripts sometimes needs to be shown in Latin script, where users, or
16
- equipment that they are using, cannot read or write the text
17
-
18
- This International Standard applies to transliteration of Devanagari, and to Indic scripts related to Devanagari,
19
- independent of the period in which it is or was used.
20
-
21
- notes:
22
-
23
- - All transliterations made using this International Standard shall be case-insensitive.
24
- - Inherent a with a consonant shall always be transliterated.
25
- - anusvara (including Vedic anusvara) shall be transliterated as ṁ
26
- - candrabindu shall be transliterated as m̐
27
- - When m̐, ṃ or ṁ are associated with a vowel, they shall be placed after the vowel. When m̐ is associated
28
- with a semivowel, it shall be placed before the semivowel.
29
- - Latin punctuation signs and Hindu-Arabic numerals shall remain unchanged in transliteration.
30
- Indic punctuation is outside the scope of this International Standard.
31
- - The Vedic accent Udatta shall be transliterated as an acute accent over the transliterated vowel, and the
32
- independent Svarita as a grave accent over the transliterated vowel. In the case of the digraphs ai, au, the accent
33
- shall be attached to the second vowel.
34
- - |
35
- A colon: before a Latin character shall be used to resolve ambiguity. Some normative cases are as
36
- follows.
37
- - :’ for avagraha in modern text. (The apostrophe in modern text remains unchanged in accordance with previous rule.
38
- - Vowel hiatus, not digraph transliteration of diphthongs; as in Bengali ba:i (not bai), “book”.
39
- - Unexpected use of secondary ya/ẏa , as in Bengali r:yāpāra , English “wrapper” (using full r); a:yā (not ayā ).
40
- - If a character in an Indic script is defined in such a way as to be equivalent to another character in any
41
- script, where the second character has a transliteration in this International Standard, then the first character shall
42
- be transliterated in the same way as the second character.
43
- - Where it is desired to show the Vedic accent Anudatta, it should be transliterated as an underscore. In the case of
44
- the digraphs ai, au, both Latin vowels should be underscored.
45
- Where word boundaries are not shown in the original text (as happens commonly in Sanskrit) and a word ends in a
46
- consonant, the transliteration should show word division by a space; but when phonological processes result in two
47
- words sharing a common vowel, no attempt should be made to separate them. This will require a good knowledge
48
- of the language in question.
49
-
50
-
51
- tests:
52
- - source: "আগুয়েরোর হাঁটুর চোট"
53
- expected: "āgauẏaeraora haām̐ṭaura caoṭa"
54
- - source: "তঅস্ত্রোপচারের আশ্রয় নিতে হবে এ তারকাকে, তাই দলে জায়গা পাননি"
55
- expected: "taasataraopacaāraera āśaraẏa naitae habae e taārakaākae, taāi dalae jaāẏagaā paānanai"
56
- - source: "ওদিকে সদ্য করোনা থেকে ফিরে এসে দাপটের সঙ্গে পিএসজির হয়ে খেলে যাওয়া দি মারিয়া কেন ডাক পাননি, কেউ জানে না"
57
- expected: "odaikae sadaya karaonaā thaekae phairae esae daāpaṭaera saṅagae paiesajaira haẏae khaelae yaāoẏaā dai maāraiẏaā kaena ḍaāka paānanai, kaeu jaānae naā"
58
- - source: "তিন বিভাগে শনিবার থেকে ভারী বৃষ্টি, কমবে তাপমাত্রা"
59
- expected: "taina baibhaāgae śanaibaāra thaekae bhaāraī baṛṣaṭai, kamabae taāpamaātaraā"
60
- - source: "ফেসবুকে সময় নষ্ট না করে মায়ের সঙ্গে আড্ডা ভালোবাসেন তিনি"
61
- expected: "phaesabaukae samaẏa naṣaṭa naā karae maāẏaera saṅagae āḍaḍaā bhaālaobaāsaena tainai"
62
- - source: "এখনই আর্জেন্টিনার জার্সি খুলো না—দি মারিয়াকে কোচ"
63
- expected: "ekhanai ārajaenaṭainaāra jaārasai khaulao naā—dai maāraiẏaākae kaoca"
64
- - source: "প্রিয় তারকার আওয়াজ শুনে কোমা থেকে জেগে উঠলেন তিনি"
65
- expected: "paraiẏa taārakaāra āoẏaāja śaunae kaomaā thaekae jaegae uṭhalaena tainai"
66
- - source: "সুয়ারেজকে ‘বের করে দেওয়া’য় বার্সাকে ধুয়ে দিলেন মেসি"
67
- expected: "sauẏaāraejakae ‘baera karae daeoẏaā’ẏa baārasaākae dhauẏae dailaena maesai"
68
- - source: "আমি না থাকলে আর্জেন্টিনা দলে মেসিরও থাকার যোগ্যতা নেই"
69
- expected: "āmai naā thaākalae ārajaenaṭainaā dalae maesairao thaākaāra yaogayataā naei"
70
- - source: "তবে, নিয়মিত মুখগুলোর মধ্যে দলে নেই মেসির দুই ‘প্রিয় বন্ধু’ পিএসজির মিডফিল্ডার আনহেল দি মারিয়া ও ম্যানচেস্টার সিটির সার্জিও আগুয়েরো"
71
- expected: "tabae, naiẏamaita maukhagaulaora madhayae dalae naei maesaira daui ‘paraiẏa banadhau’ paiesajaira maiḍaphailaḍaāra ānahaela dai maāraiẏaā o mayaānacaesaṭaāra saiṭaira saārajaio āgauẏaerao"
72
-
73
- map:
74
- characters:
75
-
76
- #vowel characters
77
-
78
- 'অ': 'a'
79
- 'আ': 'ā'
80
- 'ই': 'i'
81
- 'ঈ': 'ī'
82
- 'উ': 'u'
83
- 'ঊ': 'ū'
84
- 'ঋ': 'ṛ'
85
- 'ৠ': 'ṝ'
86
- 'ঌ': 'ḻ'
87
- 'ৡ': 'ḹ'
88
- 'এ': 'e'
89
- 'ঐ': 'ai'
90
- 'ও': 'o'
91
- 'ঔ': 'au'
92
-
93
- 'া': 'ā'
94
- 'ি': 'i'
95
- 'ী': 'ī'
96
- 'ু': 'u'
97
- 'ূ': 'ū'
98
- 'ৃ': 'ṛ'
99
- 'ৄ': 'ṝ'
100
- 'ৢ': 'ḻ'
101
- 'ৣ': 'ḹ'
102
- 'ে': 'e'
103
- 'ৈ': 'ai'
104
- 'ো': 'o'
105
- 'ৌ': 'au'
106
-
107
-
108
- 'ং': 'ṁ'
109
- 'ঁ': 'm̐'
110
- 'ঃ': 'ḥ'
111
-
112
- # Consonant characters
113
-
114
- 'ক': 'ka'
115
- 'খ': 'kha'
116
- 'গ': 'ga'
117
- 'ঘ': 'gha'
118
- 'ঙ': 'ṅa'
119
- 'চ': 'ca'
120
- 'ছ': 'cha'
121
- 'জ': 'ja'
122
- 'ঝ': 'jha'
123
- 'ঞ': 'ña'
124
- 'ট': 'ṭa'
125
- 'ঠ': 'ṭha'
126
- 'ড': 'ḍa'
127
- 'ঢ': 'ḍha'
128
- 'ণ': 'ṇa'
129
- 'ত': 'ta'
130
- 'থ': 'tha'
131
- 'দ': 'da'
132
- 'ধ': 'dha'
133
- 'ন': 'na'
134
- 'প': 'pa'
135
- 'ফ': 'pha'
136
- 'ব': 'ba'
137
- 'ভ': 'bha'
138
- 'ম': 'ma'
139
- 'য': 'ya'
140
- 'র': 'ra'
141
- 'ল': 'la'
142
- 'শ': 'śa'
143
- 'ষ': 'ṣa'
144
- 'স': 'sa'
145
- 'হ': 'ha'
146
-
147
- 'ড়': 'ṙa'
148
- 'ঢ়': 'ṙha'
149
- 'য়': 'ẏa'
150
-
151
-
152
- # for semivowel rule no. 5
153
-
154
- 'যঁ': 'm̐ya'
155
- 'রঁ': 'm̐ra'
156
- 'লঁ': 'm̐la'
157
- 'বঁ': 'm̐va'
158
-
159
- 'ৎ': 't'
160
- '্': ''
161
-
162
-
163
- # numbers
164
-
165
- '১': '1'
166
- '২': '2'
167
- '৩': '3'
168
- '৪': '4'
169
- '৫': '5'
170
- '৬': '6'
171
- '৭': '7'
172
- '৮': '8'
173
- '৯': '9'
174
- '০': '0'
175
-