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,230 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 2020
4
- language: iso-639-2:nep
5
- source_script: Deva
6
- destination_script: Latn
7
- name: Nepali Romanization, 2020
8
- url: https://geonames.nga.mil/gns/html/Romanization/ROMANIZATION%20OF%20NEPALI.pdf
9
- creation_date: 1964
10
- description: |
11
- BGN/PCGN 2011 Agreement Romanization of Nepali
12
- The BGN and the PCGN have adopted the Nepal Survey Department (NSD) system for the
13
- romanization of Nepali names. This system, below, should be applied to Nepali names for which Roman‐
14
- script spellings in materials produced by the government of Nepal are not available.
15
-
16
- notes:
17
-
18
- - Only the isolated forms of the characters are given in the consonant table. See any grammar of Nepali
19
- (or other language using the Devanagari alphabet) for variant forms used in conjunct characters.
20
- - These two consonant characters appear sometimes to represent ṛ (cerebral r), e.g., पहाड → pahāṛ
21
- instead of pahāḍ. At one time they were written with dots below, i.e., as ड़ and ढ़, though this is no
22
- longer normal practice in Nepali. The romanizations ṛ and ṛh, respectively, are optional for
23
- documentary purposes if such dots appear in Nepali writing.
24
- - व , can be romanized as either v or w. This character is primarily
25
- romanized as v in consonant initial, medial, and final position; however, initial, medial, and final w
26
- romanizations can occur. The w romanization is a special case which is believed to be dependent on
27
- dialect, pronunciation, or stress.
28
- - |
29
- An inventory of letter‐diacritic combinations, with their Unicode encoding, in addition to the unmodified letters of the basic Roman script is:
30
- Ṅ(U+1E44) ṅ (U+1E45)
31
- Ñ (U+00D1) ñ (U+00F1)
32
- Ṭ (1E6C) ṭ (1E6D)
33
- Ḍ (1E0C) ḍ (1E0D)
34
- Ṇ (1E46) ṇ (1E47)
35
- Ṣ (1E62) ṣ (1E63)
36
- Ā (U+0100) ā (U+0101)
37
- Ī (U+012A) ī (U+012B)
38
- Ū (U+016A) ū (U+016B)
39
- Ṛ (1E5A) ṛ (1E5B)
40
-
41
- - The Romanization column shows only lowercase forms but, when romanizing, uppercase and lowercase
42
- Roman letters as appropriate should be used.
43
-
44
- - |
45
- ं (anusvara) is rendered by
46
- ṅ before क, ख, ग, and घ
47
- ñ before च, छ, ज, and झ
48
- ṇ before ट, ठ, ड, and ढ
49
- n before त, थ, द, and ध
50
- ṁ before य, र, ल, व, श, ष, स and ह
51
-
52
- tests:
53
- - source: "लेखन"
54
- expected: "lekhn"
55
- - source: "मुद्रा"
56
- expected: "mudarā"
57
- - source: "प्रशंसा"
58
- expected: "parshṃsā" # note 5 rule checking
59
- - source: "अंक"
60
- expected: "aṅk" # note 5 rule checking
61
- - source: "नेकपाले स्थगित स्थायी कमिटीको बैठक भदौ गते बोलाउने भएको"
62
- expected: "nekpāle sathgit sathāyī kmiṭīko baiṭhk bhdau gte bolāune bheko"
63
- - source: "न घर रह्यो, न परिवार"
64
- expected: "n ghr rhayo, n privār"
65
- - source: "ढोरपाटनमा भुजीखोला बाढीपहिरोले अभिभावक गुमाएका बालबालिकाको बिचल्ली"
66
- expected: "ḍhorpāṭnmā bhujīkholā bāḍhīphirole abhibhāvk gumāekā bālbālikāko bichlalī"
67
- - source: "सुस्मिताका काका हेमबहादुर र काकीलाई पनि पहिरोले बगायो"
68
- expected: "susamitākā kākā hembhādur r kākīlāī pni phirole bgāyo"
69
- - source: "संविधान जारी भएसँगै सार्वजनिक प्रशासनमा नयाँ उत्साह आउने अपेक्षा थियो"
70
- expected: "sṃvidhān jārī bhes~gai sāravjnik parshāsnmā nyā~ utasāh āune apekṣā thiyo"
71
- - source: "देशमा कोरोना संक्रमित र मृतकको संख्या हरेक दिन बढ्दो छ"
72
- expected: "deshmā koronā sṅkarmit r mṛitkko sṅkhayā hrek din bḍhado chh"
73
- - source: "गाउँपालिकाका अध्यक्ष टिका गुरुङका अनुसार विष्णुदासलाई राजुले सुत्नका लागि बेलुका साथी लगेका थिए"
74
- expected: "gāu~pālikākā adhaykṣ ṭikā guruṅkā anusār viṣaṇudāslāī rājule sutankā lāgi belukā sāthī lgekā thie"
75
- - source: "यो आयोजना गाउँपालिकाको केन्द्र तेल्लोकमा पर्छ"
76
- expected: "yo āyojnā gāu~pālikāko kenadar telalokmā prachh"
77
- - source: "सुस्मिताका काका हेमबहादुर र काकीलाई पनि पहिरोले बगायो"
78
- expected: "susamitākā kākā hembhādur r kākīlāī pni phirole bgāyo"
79
- - source: "चैत पहिलो साता घर आएका उनी लकडाउन भएपछि यतै रोकिए"
80
- expected: "chait philo sātā ghr āekā unī lkḍāun bhepchhi ytai rokie"
81
- - source: "काम गर्न जानेको हकमा रोजगारदाता कम्पनीको पत्रसँगै वडा र जिल्ला प्रशासनको सिफारिस अनिवार्य गरिएको छ"
82
- expected: "kām gran jāneko hkmā rojgārdātā kmapnīko ptrs~gai vḍā r jilalā parshāsnko siphāris anivāray grieko chh"
83
- - source: "दुःख"
84
- expected: "duḥkh"
85
- - source: "निकुञ्जको स्थानीय पोस्टका कर्मचारी पनि त्यहीँ थिए"
86
- expected: "nikuñajko sathānīy posaṭkā kramchārī pni tayhī~ thie"
87
- - source: "युद्धकालको मनोविज्ञान"
88
- expected: "yudadhkālko mnovijñān"
89
- - source: "जर्मन वायुसेवाको आक्रमणमा दुई लाख पचास हजार मानिसको ज्यान जानसक्ने र करिब ३० देखि ४० लाख मान्छे विस्थापित हुने अनुमान बेलायत सरकारको थियो"
90
- expected: "jramn vāyusevāko ākarmṇmā duī lākh pchās hjār mānisko jayān jānskane r krib 30 dekhi 40 lākh mānachhe visathāpit hune anumān belāyt srkārko thiyo"
91
- - source: "युद्ध"
92
- expected: "yudadh"
93
- - source: "कोरोनासँग जम्काभेट"
94
- expected: "koronās~g jmakābheṭ"
95
- - source: "संक्रमित"
96
- expected: "sṅkarmit"
97
- - source: "स्वयम्"
98
- expected: "savyma"
99
- - source: "संख्या"
100
- expected: "sṅkhayā"
101
- - source: "गौरीटारस्थित रंगशाला"
102
- expected: "gaurīṭārsathit rṅgshālā"
103
-
104
- map:
105
-
106
- rules:
107
- # note[5]
108
- - pattern: \u0902(?=[कखगघ]) # ं before क, ख, ग, and घ
109
- result: ṅ
110
- - pattern: \u0902(?=[चछजझ]) # ं before च, छ, ज, and झ
111
- result: ñ
112
- - pattern: \u0902(?=[टठडढ]) # ं before ट, ठ, ड, and ढ
113
- result: ṇ
114
- - pattern: \u0902(?=[तथदध]) # ं before त, थ, द, and ध
115
- result: n
116
-
117
- characters:
118
-
119
- # Vowels and Diphthongs
120
-
121
- 'अ': 'a'
122
- 'आ': 'ā'
123
- 'इ': 'i'
124
- 'ई': 'ī'
125
- 'उ': 'u'
126
- 'ऊ': 'ū'
127
- 'ऋ': 'ṛi'
128
- 'ॠ': 'rī'
129
- 'ए': 'e'
130
- 'ऐ': 'ai'
131
- 'ओ': 'o'
132
- 'औ': 'au'
133
-
134
- # Medials # Needed for connecting constants
135
-
136
- 'ा': "ā"
137
- 'ि': "i"
138
- 'ी': "ī"
139
- 'ु': "u"
140
- 'ू': "ū"
141
- 'ृ': "ṛi"
142
- 'ॄ': "rī"
143
- 'े': "e"
144
- 'ै': "ai"
145
- 'ो': "o"
146
- 'ौ': "au"
147
-
148
-
149
- # Consonants (see Note 1)
150
-
151
- # Gutturals
152
- 'क': 'k'
153
- 'ख': 'kh'
154
- 'ग': 'g'
155
- 'घ': 'gh'
156
- 'ङ': 'ṅ'
157
-
158
- # Palatals
159
- 'च': 'ch'
160
- 'छ': 'chh'
161
- 'ज': 'j'
162
- 'झ': 'jh'
163
- 'ञ': 'ñ'
164
-
165
- # Cerebrals
166
- 'ट': 'ṭ'
167
- 'ठ': 'ṭh'
168
- 'ड': 'ḍ'
169
- 'ढ': 'ḍh'
170
- 'ण': 'ṇ'
171
-
172
- # Dentals
173
- 'त': 't'
174
- 'थ': 'th'
175
- 'द': 'd'
176
- 'ध': 'dh'
177
- 'न': 'n'
178
-
179
- # Labials
180
- 'प': 'p'
181
- 'फ': 'ph'
182
- 'ब': 'b'
183
- 'भ': 'bh'
184
- 'म': 'm'
185
-
186
- # Semivowels
187
- 'य': 'y'
188
- 'र': 'r'
189
- 'ल': 'l'
190
- 'व': 'v' # or wa [Note#3]
191
-
192
- # Sibilants
193
- 'श': 'sh'
194
- 'ष': 'ṣ'
195
- 'स': 's'
196
- 'क्ष': 'kṣ'
197
- 'त्र': 'tr'
198
- 'ज्ञ' : 'jñ'
199
-
200
- # Aspirate
201
- 'ह': 'h'
202
-
203
- # Anusvāra
204
- 'ं': 'ṃ'
205
-
206
- # Bisarga
207
- 'ः': 'ḥ'
208
-
209
- # Anunāsika
210
- 'ँ': '~'
211
-
212
- 'ॅ': 'r'
213
-
214
- # halanta
215
- '्': 'a'
216
-
217
- # Abagraha
218
- 'ऽ': '’' # (apostrophe)
219
-
220
- # Numerals / सङ्ख्या
221
- '०': '0'
222
- '१': '1'
223
- '२': '2'
224
- '३': '3'
225
- '४': '4'
226
- '५': '5'
227
- '६': '6'
228
- '७': '7'
229
- '८': '8'
230
- '९': '9'
@@ -1,338 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 2007
4
- language: iso-639-3:prs # prs stands for Dari (https://iso639-3.sil.org/code/prs&_ga=GA1.2.2054538372.1574092823)
5
- source_script: Arab
6
- destination_script: Latn
7
- name: TRANSLITERATION SYSTEM FOR PERSIAN BGN/PCGN 1958 System
8
- url: https://github.com/interscript/interscript/files/5180821/BGN_Romanization_Guide_1964_persian_1958.pdf
9
- creation_date: 1958
10
- confirmation_date: 2017-11
11
- description: |
12
- The BGN/PCGN 1958 System for the Persian alphabet was
13
- adopted by the BGN in 1946 and by the PCGN In 1958. It Is
14
- used for the romanization of standard geographic names in
15
- Iran.
16
- The Persian alphabet is the same as the Arabic alphabet
17
- except for the addition of four consonant symbols for
18
- sounds which do not occur in Arabic. Therefore, the same
19
- conversion values are used for the Persian alphabet as for
20
- the Arabic alphabet wherever phonetically valid. Where
21
- letters common to the two alphabets have different
22
- pronunciation in the two languages, conversion values
23
- reflecting the Persian pronunciation are provided in the
24
- Persian system.
25
- It may be noted that neither the system of pointing nor the
26
- conversion values for vowels and diphthongs are the same
27
- for Persian as for Arabic.
28
- Persian presents the same problems of vowel pointing as
29
- Arabic in that the short vowel symbols necessary for the
30
- proper rendering of short vowels, long vowels, and
31
- diphthongs are almost always omitted from written Persian.
32
- It follows that, in order to produce transliter- tions in
33
- terms of standard written Persian, the transliterator must
34
- be able to identify the words used in names and must know
35
- their standard written Persian spelling, their proper vowel
36
- pointing, and how to eliminate pecularities due to
37
- dialectical variation.
38
- The notes and special rules explain details of
39
- transliteration not stated in the tables.
40
-
41
- notes:
42
- - |
43
- 1)The Persian writing system, in its generally used form,
44
- employs only the symbols found in Table I, and the alef maddeh
45
- (آ) of Table II. The symbols in column 1 of Table II are
46
- traditional auxiliary symbols used by Persians only
47
- sporadically to indicate the exact reading of a given word.
48
- In the case of i, ū, ey and ow, a choice of symbology
49
- exists, one system adhering to the Arabic tradition, the
50
- other being a modification of it. Likewise, there are two
51
- ways of writing alef maq§ureh. The BGN/PCGN transliteration
52
- system presupposes forms fully pointed with the Persian
53
- symbols represented in Table II, though these are omitted
54
- from the examples given below.
55
-
56
- - 2) Alef ( أ ) occurs with the following uses
57
- a. Initially, it indicates that the word begins with a vowel or
58
- diphthong, and the alef itself is not transliterated, e.g.,
59
- انجيرة Anjīreh, ايواني Eyvānī
60
- b. Initially with maddeh ( آ ),it indicates ā, e.g., آبادان Ābādān.
61
- c. Medially and finally. it represents ā, e.g., e.g., آبادان Ābādān,
62
- توكا Tūkā.
63
- d. With hamzeh. See Note 5.
64
-
65
-
66
- - 3) Where special considerations are paramount, the sub-dot
67
- may be used in place of the cedilla
68
-
69
- - 4) The two-letter symbols kh, zh, sh, and gh are convenient
70
- for use and easily comprehensible. The infrequent sequences
71
- of kāf, ze, sīn, and gāf followed by he can be unequivocally
72
- transliterated for bibliographical purposes by the use of a
73
- slant line (“shilling,” “solidus") to separate true h from
74
- a preceding k, z, s, or g; that is, kh represents khe, but
75
- k/h stands for kāf followed by he.
76
-
77
- - 5) Hamzeh (ء) is not regarded as a letter of the Persian
78
- alphabet, but as a diacritic mark, and as such is not
79
- always expressed in actual writing. In fully pointed words,
80
- however, it appears in several graphic forms, standing
81
- alone or written in conjunction with alef, vav, or ye (the
82
- ye in this instance being undotted). All these forms are
83
- transliterated simply with the apostrophe in the form
84
- resembling a small raised figure 9 (’) ,e.g., جزء Joz’
85
- صفراء şafrā’, مأخذ ma’khaz̄, مؤتمن mu’taman, پائين pā’īn Occasionally a word may
86
- appear pointed according to the strict Arabic tradition so
87
- as to indicate an initial hamzeh. This initial hamzeh is
88
- never transliterated, but only the vowel which it carries,
89
- e.g., •Jfi , whether pointed or 0 . is "transliterated
90
- simply Anjireh. ' Hamzeh is also sometimes written over
91
- final he or ye to represent the -ye form of the eg&feh, cf.
92
- Note 8.
93
-
94
- - 6) Alef maddeh is used initially to indicate ā, e.g., آبادان Ābādān
95
- Noninitially it indicates ’ā in words of Arabic origin,
96
- and must be so transliterated, e.g., قرآن Qor’ān, مآب ma’āb
97
-
98
- - 7) Tashdid ( ّ) indicates doubling of the consonant over which
99
- it is written and is represented in transliteration by writing
100
- the consonant twice, e.g محمّد Mohammad The sequence kasreh ye ye
101
- is transliterated īy.In names of Arabic origin containing the
102
- definite article, the vowel of the article is transliterated according
103
- to its Persian pronunciation and the lam, when followed by a “sun letter”
104
- (t, s̄, d, z̄, r, s, sh, ẕ, ţ, z̧, ţ, z̧, l, n) is assimilated. The article
105
- is written in lower case and separate from the preceding and following word,
106
- e.g., Zeyn od Din, but *£4 . Zeyn ed Dīn. Cf. Special Rule 1.
107
-
108
- - 8) The relational (ezafeh) suffix is transliterated -e after final consonants
109
- (except for silent h). After silent h and after vowels, it is transliterated
110
- -ye. It is usually not expressed in Persian writing after a consonant
111
- (kasreh being understood), e.g., كوهِ مَرغٌوب Kuh-e Marghūb. After final alef or vav
112
- it is written with ye (ي), e.g., بايِ آب Pa-ye Ab, جويِ آس Jū-ye Ās. After ye (ي)
113
- and silent he it is written as hamzeh over the letter, e.g., دَهَانهٴ مَمبَر Dahāneh-ye Mambar,
114
- سَلَيٴ بُذٌرگ Salasi-ye Bozorrg.
115
-
116
-
117
-
118
- - 1. In Persian names of Arabic origin, the word division
119
- used for transliterating Arabic will obtain, except that
120
- names ending in the word Allah will be written solid and
121
- the a of Allah will be replaced by o, e.g., The Arabic
122
- definite article when not subject to assimilation will be
123
- written al in name-initial position but usually, ol
124
- elsewhere, e.g., Al JJal but 2u ol Faqar. Cf. Note 7 above.
125
-
126
- - 2. In Persian names in general, in sequences of name
127
- elements pronounced as a single unit, division into
128
- separate words will be made after Persian letters written
129
- in the word final form. (But see the Rule immediately
130
- below.)
131
-
132
- - 3. The word abad which occurs very frequently at
133
- the end of place names will be written solid with the
134
- preceding word; e.g., Allahabad, not Allah Abad.
135
-
136
- - 4. Persian derivational endings such as vand and Turkish and other
137
- endings such as lar, li and lu will be written solid with
138
- the preceding word, whether so written in Persian script or
139
- not.
140
-
141
- - 5. The letter he, when used in Turkish fashion for
142
- word internal e, will be transliterated eh as usual but
143
- will be written solid with the remainder of the word.
144
-
145
- - 6. Kheplus vdv followed by long vowel or khe plus vdv followed
146
- by gammeh will be rendered khv although the v is not
147
- pronounced.
148
-
149
- tests:
150
-
151
- - source: اَنجِيرة
152
- expected: Anjīreh
153
-
154
- - source: اِيْوَانِي
155
- expected: Eyvānī
156
-
157
- - source: آبادان
158
- expected: Ābādān
159
-
160
- - source: تُوكا
161
- expected: Tūkā
162
-
163
- - source: آبادان
164
- expected: Ābādān
165
-
166
- - source: قُرآن
167
- expected: Qor’ān
168
-
169
- - source: مَآب
170
- expected: Ma’āb
171
-
172
- - source: مُحَمَّد
173
- expected: Moḩammad
174
-
175
- - source: كُوهِ مَرغُوب
176
- expected: Kūh-e Marghūb
177
-
178
- - source: پَايِ آب
179
- expected: Pā-ye Āb
180
-
181
- - source: جُويِ آس
182
- expected: Jū-ye Ās
183
-
184
- - source: دَهَانِهٴ مَمبَر
185
- expected: Dahāneh-ye Mambar
186
-
187
- - source: سَلَسِيٴ بُذُرگ
188
- expected: Salasī-ye Boz̄org
189
-
190
- - source: عَبداللَّه
191
- expected: ‘Abdollāh
192
-
193
- - source: ذُو الفَقَار
194
- expected: Z̄ū ol Faqār
195
-
196
- - source: اللَّه آبَاد
197
- expected: Allāhābād
198
-
199
- - source: اِيران
200
- expected: Īrān
201
- map:
202
- postrules:
203
- - pattern: (?<=\b)(?<!\b[‘|’|'|-])[\u0061-\uFFFF]
204
- result: "upcase"
205
-
206
- - pattern: " Ol"
207
- result: " ol"
208
-
209
- characters:
210
-
211
- '\s\u0622\u0628\u064E\u0627\u062F' : 'ābād' # Special Rule 3
212
-
213
- '\u064e(?=\u0629)' : '' # َ fatha followed by ta' marboota
214
- '\u064e(?=a[h|t])' : '' # َ fatha followed by ta' marboota, handling different order of conversion
215
-
216
- # pointing
217
- '\u064e' : 'a' # َ fatha
218
- '\u0650' : 'e' # ِ kasra
219
- '\u064f' : 'o' # ُ damma
220
- '\u064e\u0627' : 'ā' # ـَا fatha followed by ا
221
- '\u0649\u0670' : 'á' # ىٰ
222
- '\u0622' : '’ā' # آ
223
- '\b\u0622' : 'ā' # آ
224
- '\u0650[\u064a|\u06cc]' : 'ī' # ـِي kasra followed by ي
225
- # '\u0650\u06cc' : 'ī' # ـِي kasra followed by ي
226
- '\u064f\u0648' : 'ū' # ـُو damma followed by و
227
- '\u064e[\u064a|\u06cc]\u0652' : 'ey' # ـَيْ
228
- '\u0650[\u064a|\u06cc]\u0652' : 'ey' # ـِيْ
229
- '\u064e\u0648' : 'ow' # ـَو
230
- '\u0652' : '' # ْ sokoon
231
- '\u0650\u064a\u0651' : 'īy' # ـِيّ
232
- '[\u0654|\u0674]' : '-e' # ٴ ezafeh
233
- '(?<=[\u064a|\u0647])[\u0654|\u0674]' : '-ye' # ٴ ezafeh
234
- '\u0650\b' : '-e' # ِ kasra
235
- '[\u064a|\u06cc]\u0650\b' : '-ye' # ِ kasra
236
- # shadda
237
-
238
- '\u0628\u0651' : 'bb' # ب
239
- '\u062a\u0651' : 'tt' # ت
240
- '\u062b\u0651' : 's̄s̄' # ث
241
- '\u062c\u0651' : 'jj' # ج
242
- '\u062d\u0651' : 'ḩḩ' # ح
243
- '\u062e\u0651' : 'kh' # خ
244
- '\u062f\u0651' : 'dd' # د
245
- '\u0630\u0651' : 'z̄z̄' # ذ
246
- '\u0631\u0651' : 'rr' # ر
247
- '\u0632\u0651' : 'zz' # ز
248
- '\u0633\u0651' : 'ss' # س
249
- '\u0634\u0651' : 'sh' # ش
250
- '\u0635\u0651' : 'şş' # ص
251
- '\u0636\u0651' : 'ẕẕ' # ض
252
- '\u0637\u0651' : 'ţţ' # ط
253
- '\u0638\u0651' : 'z̧z̧' # ظ
254
- '\u063a\u0651' : 'gh' # غ
255
- '\u0641\u0651' : 'ff' # ف
256
- '\u0642\u0651' : 'qq' # ق
257
- '\u0643\u0651' : 'kk' # ك
258
- '\u0644\u0651' : 'll' # ل
259
- '\u0645\u0651' : 'mm' # م
260
- '\u0646\u0651' : 'nn' # ن
261
- '\u0647\u0651' : 'hh' # ه
262
- '\u0648\u0651' : 'vv' # و
263
- '\u064a\u0651' : 'yy' # ي
264
-
265
- '\u0659': 'ê'
266
-
267
- # ta' marboota
268
- '\u0629' : 'eh'
269
-
270
- '\b\u0627\u0644' : 'al ' # ال
271
- '\s\b\u0627\u0644' : ' ol ' # ال #special Rule 1
272
- '\ufdf2': 'Allāh' # See note 5
273
- '\u0627\u0644\u0644\u0651\u064e\u0647' : "Allāh"
274
- '(?<!\b)\u0627\u0644\u0644\u0651\u064e\u0647' : "ollāh" # Special Rule 1
275
- # '\uFE8E' : '' # ﺎ
276
-
277
- # Sun letters
278
- '\b\u0627\u0644\u062a' : 'at t' # الت
279
- '\b\u0627\u0644\u062b' : 'as̄ s̄' # الث
280
- '\b\u0627\u0644\u062f' : 'ad d' # الد
281
- '\b\u0627\u0644\u0630' : 'az̄ z̄' # الذ
282
- '\b\u0627\u0644\u0631' : 'ar r' # الر
283
- '\b\u0627\u0644\u0632' : 'az z' # الز
284
- '\b\u0627\u0644\u0633' : 'as s' # الس
285
- '\b\u0627\u0644\u0634' : 'ash sh' # الش
286
- '\b\u0627\u0644\u0635' : 'aş ş' # الص
287
- '\b\u0627\u0644\u0636' : 'aẕ ẕ' # الض
288
- '\b\u0627\u0644\u0637' : 'aţ ţ' # الط
289
- '\b\u0627\u0644\u0638' : 'az̧ z̧' # الظ
290
- '\b\u0627\u0644\u0644' : 'al l' # الل
291
- '\b\u0627\u0644\u0646' : 'an n' # الن
292
-
293
-
294
- '\u0621': '’' # ء
295
- '\u0626': '’' # ئ
296
-
297
- '\u0623' : '' # أ
298
- '\u0625' : '' # إ
299
- '\u0627' : 'ā' # ا
300
- '\b\u0627' : '' # ا
301
-
302
- # consonant characters
303
-
304
- '\u0628' : 'b' # ب
305
- '\u067E' : 'p' # پ
306
- '\u062a' : 't' # ت
307
- '\u062B' : 's̄' # ث
308
- '\u062c' : 'j' # ج
309
- '\u0686' : 'ch' # ‫چ‬
310
- '\u062d' : 'ḩ' # ح
311
- '\u062e' : 'kh' # خ
312
- '\u062f' : 'd' # د
313
- '\u0630' : 'z̄' # ذ
314
- '\u0631' : 'r' # ر
315
- '\u0632' : 'z' # ز
316
- '\u0698' : 'zh' # ‫ژ‬
317
- '\u0633' : 's' # س
318
- '\u0634' : 'sh' # ش
319
- '\u0635' : 'ş' # ص
320
- '\u0636' : 'ẕ' # ض
321
- '\u0637' : 'ţ' # ط
322
- '\u0638' : 'z̧' # ظ
323
- '\u0639' : '‘' # ع
324
- '\u063a' : 'gh' # غ
325
- '\u0641' : 'f' # ف
326
- '\u0642' : 'q' # ق
327
- '\u0643' : 'k' # ك
328
- '\u06A9' : 'k' # ک
329
- '\u06AF' : 'g' # ‫گ‬
330
- '\u0644' : 'l' # ل
331
- '\u0645' : 'm' # م
332
- '\u0646' : 'n' # ن
333
- '\u0647' : 'h' # ه
334
- '\u0648' : 'v' # و
335
- '\u064a' : 'y' # ي
336
- '\u0649' : 'y' # ي
337
- '\u06D0' : 'ē' # ې
338
- '\u06CD' : 'êy' # ‫ۍ‬