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,53 +0,0 @@
1
- ---
2
- authority_id: un
3
- id: 1998
4
- language: iso-639-2:ukr
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ROMANIZATION SYSTEM FOR BELARUSIAN, RUSSIAN AND UKRAINIAN CYRILLIC
8
- url: https://unstats.un.org/unsd/geoinfo/UNGEGN/docs/7th-uncsgn-docs/econf/7th_UNCSGN_econf.91_3_Add1.pdf
9
- creation_date: 1998
10
-
11
- tests:
12
-
13
- map:
14
- inherit: gost-rus-Cyrl-Latn-16876-71-1983
15
-
16
- characters:
17
- '\u0413' : 'H' # Г
18
- '\u0490' : 'G' # Ґ
19
- '\u0404' : 'Ye' # Є
20
- '\u0416' : 'Zh' # Ж
21
- '\u0418' : 'Y' # И
22
- '\u0419' : 'Y' # Й
23
- '\u0406' : 'I' # І
24
- '\u0407' : 'Yi' # Ї
25
- '\u0425' : 'Kh' # Х
26
- '\u0426' : 'Ts' # Ц
27
- '\u0427' : 'Ch' # Ч
28
- '\u0428' : 'Sh' # Ш
29
- '\u0429' : 'Shch' # Щ
30
- '\u042C' : '' # Ь
31
- '\u042E' : 'yu' # Ю
32
- '\u042F' : 'ya' # Я
33
- '\u042D' : 'E' # Э
34
-
35
- '\u0433' : 'h' # г
36
- '\u0491' : 'g' # ґ
37
- '\u0454' : 'ye' # є
38
- '\u0436' : 'zh' # ж
39
- '\u0438' : 'y' # и
40
- '\u0439' : 'y' # й
41
- '\u0456' : 'i' # і
42
- '\u0457' : 'yi' # ї
43
- '\u0445' : 'kh' # х
44
- '\u0446' : 'ts' # ц
45
- '\u0447' : 'ch' # ч
46
- '\u0448' : 'sh' # ш
47
- '\u0449' : 'shch' # щ
48
- '\u044C' : '' # ь
49
- '\u044E' : 'yu' # ю
50
- '\u044F' : 'ya' # я
51
- '\u044D' : 'e' # э
52
-
53
- '\u0027' : '"' # '
@@ -1,162 +0,0 @@
1
- ---
2
- authority_id: un
3
- id: 2012
4
- language: iso-639-2:ukr
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ROMANIZATION SYSTEM FOR BELARUSIAN, RUSSIAN AND UKRAINIAN CYRILLIC
8
- url: http://www.eki.ee/wgrs/rom1_uk.htm
9
- creation_date: 2010
10
-
11
- tests:
12
- - source: Алушта
13
- expected: Alushta
14
- - source: Андрій
15
- expected: Andrii
16
- - source: Борщагівка
17
- expected: Borshchahivka
18
- - source: Борисенко
19
- expected: Borysenko
20
- - source: Вінниця
21
- expected: Vinnytsia
22
- - source: Володимир
23
- expected: Volodymyr
24
- - source: Гадяч
25
- expected: Hadiach
26
- - source: Богдан
27
- expected: Bohdan
28
- - source: Згурський
29
- expected: Zghurskyi
30
- - source: Ґалаґан
31
- expected: Galagan
32
- - source: Ґорґани
33
- expected: Gorgany
34
- - source: Донецьк
35
- expected: Donetsk
36
- - source: Дмитро
37
- expected: Dmytro
38
- - source: Рівне
39
- expected: Rivne
40
- - source: Олег
41
- expected: Oleh
42
- - source: Есмань
43
- expected: Esman
44
- - source: Єнакієве
45
- expected: Yenakiieve
46
- - source: Гаєвич
47
- expected: Haievych
48
- - source: Короп'є
49
- expected: Koropie
50
- - source: Житомир
51
- expected: Zhytomyr
52
- - source: Жанна
53
- expected: Zhanna
54
- - source: Жежелів
55
- expected: Zhezheliv
56
- - source: Закарпаття
57
- expected: Zakarpattia
58
- - source: Казимирчук
59
- expected: Kazymyrchuk
60
- - source: Медвин
61
- expected: Medvyn
62
- - source: Михайленко
63
- expected: Mykhailenko
64
- - source: Іванків
65
- expected: Ivankiv
66
- - source: Іващенко
67
- expected: Ivashchenko
68
- - source: Їжакевич
69
- expected: Yizhakevych
70
- - source: Кадиївка
71
- expected: Kadyivka
72
- - source: Мар'їне
73
- expected: Marine
74
- - source: Йосипівка
75
- expected: Yosypivka
76
- - source: Стрий
77
- expected: Stryi
78
- - source: Олексій
79
- expected: Oleksii
80
- - source: Київ
81
- expected: Kyiv
82
- - source: Коваленко
83
- expected: Kovalenko
84
- - source: Лебедин
85
- expected: Lebedyn
86
- - source: Леонід
87
- expected: Leonid
88
- - source: Миколаїв
89
- expected: Mykolaiv
90
- - source: Маринич
91
- expected: Marynych
92
- - source: Ніжин
93
- expected: Nizhyn
94
- - source: Наталія
95
- expected: Nataliia
96
- - source: Одеса
97
- expected: Odesa
98
- - source: Онищенко
99
- expected: Onyshchenko
100
- - source: Полтава
101
- expected: Poltava
102
- - source: Петро
103
- expected: Petro
104
- - source: Решетилівка
105
- expected: Reshetylivka
106
- - source: Рибчинський
107
- expected: Rybchynskyi
108
- - source: Суми
109
- expected: Sumy
110
- - source: Соломія
111
- expected: Solomiia
112
- - source: Тернопіль
113
- expected: Ternopil
114
- - source: Троць
115
- expected: Trots
116
- - source: Ужгород
117
- expected: Uzhhorod
118
- - source: Уляна
119
- expected: Uliana
120
- - source: Фастів
121
- expected: Fastiv
122
- - source: Філіпчук
123
- expected: Filipchuk
124
- - source: Харків
125
- expected: Kharkiv
126
- - source: Христина
127
- expected: Khrystyna
128
- - source: Біла Церква
129
- expected: Bila Tserkva
130
- - source: Стеценко
131
- expected: Stetsenko
132
- - source: Чернівці
133
- expected: Chernivtsi
134
- - source: Шевченко
135
- expected: Shevchenko
136
- - source: Шостка
137
- expected: Shostka
138
- - source: Кишеньки
139
- expected: Kyshenky
140
- - source: Щербухи
141
- expected: Shcherbukhy
142
- - source: Гоща
143
- expected: Hoshcha
144
- - source: Гаращенко
145
- expected: Harashchenko
146
- - source: Яготин
147
- expected: Yahotyn
148
- - source: Ярошенко
149
- expected: Yaroshenko
150
- - source: Костянтин
151
- expected: Kostiantyn
152
- - source: Знам'янка
153
- expected: Znamianka
154
- - source: Феодосія
155
- expected: Feodosiia
156
- - source: Згорани
157
- expected: Zghorany
158
- - source: Розгон
159
- expected: Rozghon
160
-
161
- map:
162
- inherit: ua-ukr-Cyrl-Latn-2010
@@ -1,405 +0,0 @@
1
- ---
2
- authority_id: ungegn
3
- id: 2017
4
- language: iso-639-2:ara
5
- source_script: Arab
6
- destination_script: Latn
7
- name: ROMANIZATION OF ARABIC -- UNGEGN 2017 System
8
- url: https://www.eki.ee/wgrs/rom1_ur.htm
9
- creation_date: 2017
10
- confirmation date: 2018-06
11
- description: |
12
- The United Nations recommended system was approved in 1972 (
13
- II/11) and amended in 1977 (III/12), based on a report
14
- prepared by D. N. Sharma. The tables and their corrections
15
- were published in volume II of the conference reports1,2.
16
-
17
- There is no evidence of the use of the system either in
18
- Pakistan, India or in international cartographic products.
19
- Instead, in Pakistan the Hunterian system is officially
20
- used3. The resolutions III/12 (1977) and IV/17 (1982)
21
- recommended association, inter alia, with Pakistan, in
22
- carrying out further studies on the system.
23
-
24
- Urdu (Urdū) uses the Perso-Arabic script which is written
25
- from right to left. In the script vowel points are usually
26
- omitted which makes it difficult to obtain uniform
27
- romanizations. Some of the Arabic consonants are
28
- undifferentiated in romanization which means that the
29
- system is not fully reversible.
30
- notes:
31
- - A If preceded by short a, it is romanized ‘ā, e.g. مَعمُل M‘āmul.
32
- - B When و is imperceptible, e.g. in a few words of Persian origin when preceded by خ (ḳh).
33
- - C Word-finally after a short vowel.
34
- - D Marks aspiration of consonants.
35
- - E The character ے is used only word-finally.
36
- tests:
37
- - source: بوغدِی
38
- expected: Bvghdī
39
-
40
- - source: مَعمُل
41
- expected: M‘āmul
42
-
43
- - source: پَالِير
44
- expected: Pālīr
45
-
46
- - source: بیزوت كَلے
47
- expected: Byzvt Kale
48
-
49
- - source: عَمَل كوٹ
50
- expected: ‘Amal Kvṭ
51
-
52
- - source: ثَابِر
53
- expected: Sābir
54
-
55
- - source: شَاه نَثَار ميلة
56
- expected: Shāh Nasār Mylah
57
-
58
- - source: چَپرِی
59
- expected: Chaprī
60
-
61
- - source: أَحمَد خَان كَلے
62
- expected: Ahmad Ḳhān Kale
63
-
64
- - source: دُرَانِي
65
- expected: Durānī
66
-
67
- - source: ڈَنگِیلا
68
- expected: Ḍangīlā
69
-
70
- - source: ذَرَانِی
71
- expected: Zarānī
72
-
73
- - source: بُركِي
74
- expected: Burkī
75
-
76
- - source: گِیدَڑَه
77
- expected: Gīdaṙah
78
-
79
- - source: عَلِي زَائِي
80
- expected: ‘Alī Zā-ī
81
-
82
- - source: ژوب
83
- expected: Ỵvb
84
-
85
- - source: بِسَاتُو
86
- expected: Bisātū
87
-
88
- - source: أَحمَدِي شَامَا
89
- expected: Ahmadī Shāmā
90
-
91
- - source: اَصَالَت كَلے
92
- expected: Asālat Kale
93
-
94
- - source: خَضَر خَان
95
- expected: Ḳhazar Ḳhān
96
-
97
- - source: سُلْطَان
98
- expected: Sultān
99
-
100
- - source: عَزَم سَيِّد نُور كَلے
101
- expected: ‘Azam Sayyid Nūr Kale
102
-
103
- - source: بغَاكِي
104
- expected: Bghākī
105
-
106
- - source: حَقدَرَه
107
- expected: Haqdarah
108
-
109
- - source: کَچکِینَہ
110
- expected: Kachkīnaḥ
111
-
112
- - source: بَاگَن
113
- expected: Bāgan
114
-
115
- - source: بُلبَلَک
116
- expected: Bulbalak
117
-
118
- - source: بِلیَامِین
119
- expected: Bilyāmīn
120
-
121
- - source: نَہر
122
- expected: Nahr
123
-
124
- - source: اَرَوْالِی
125
- expected: Arawālī
126
-
127
- - source: مَہردِی
128
- expected: Mahrdī
129
-
130
- - source: بَڑھ
131
- expected: Baṙh
132
-
133
- - source: یَاردَا کَلے
134
- expected: Yārdā Kale
135
-
136
- - source: بهَائِي خَان
137
- expected: Bhā-ī Ḳhān
138
-
139
- - source: پھاشک
140
- expected: Phāshk
141
-
142
- - source: تھَلّ
143
- expected: Thall
144
-
145
- - source: پَٹھان ريَا
146
- expected: Paṭhān Ryā
147
-
148
- - source: جھِیل
149
- expected: Jhīl
150
-
151
- - source: غَزْنِي سْپِين
152
- expected: Ghaznī Spīn
153
-
154
- - source: بَادشَاه چھُم
155
- expected: Bādshāh Chhum
156
-
157
- - source: سِندھ
158
- expected: Sindh
159
-
160
- - source: ڈھَنڈ
161
- expected: Ḍhanḍ
162
-
163
- - source: خَان گھَڑِی
164
- expected: Ḳhān Ghaṙī
165
-
166
- - source: غُلَامَک كَلے
167
- expected: Ghulāmak Kale
168
-
169
- - source: خَپیَنگا
170
- expected: Ḳhapyangā
171
-
172
- - source: گَندَه كَلے
173
- expected: Gandah Kale
174
-
175
- - source: مَورپِتھِی
176
- expected: Maurpithī
177
-
178
- - source: درے پلارِی
179
- expected: Dre Plārī
180
-
181
- - source: آگرَہ
182
- expected: Āgraḥ
183
-
184
- - source: ڈَنڈَر
185
- expected: Ḍanḍar
186
-
187
- - source: گُبازانَہ
188
- expected: Gubāzānaḥ
189
-
190
- - source: حَےدَر عَلِی كَلے
191
- expected: Haidar ‘Alī Kale
192
-
193
- - source: تَودَہ چِینَہ
194
- expected: Taudaḥ Chīnaḥ
195
-
196
- - source: مُوسى خَان كَلے
197
- expected: Mūsá Ḳhān Kale
198
-
199
- - source: مُلَّا بَاغ
200
- expected: Mullā Bāgh
201
-
202
- map:
203
- postrules:
204
- - pattern: (?<=\b)(?<!\b[‘|’|'|-])[\u0061-\uFFFF]
205
- result: "upcase"
206
- # don't capitalize defined article in the middle of a sentence
207
- - pattern : ' At T' # الت
208
- result: ' at T'
209
- - pattern : ' As̄ S̄' # الث
210
- result: ' as̄ S̄'
211
- - pattern : ' Ad D' # الد
212
- result: ' ad D'
213
- - pattern : ' Az Z' # الذ
214
- result: ' az Z'
215
- - pattern : ' Ar R' # الر
216
- result: ' ar R'
217
- - pattern : ' Az Z' # الز
218
- result: ' az Z'
219
- - pattern : ' As S' # الس
220
- result: ' as S'
221
- - pattern : ' Ash Sh' # الش
222
- result: ' ash Sh'
223
- - pattern : ' As S' # الص
224
- result: ' as S'
225
- - pattern : ' Az Z' # الض
226
- result: ' az Z'
227
- - pattern : ' At T' # الط
228
- result: ' at T'
229
- - pattern : ' Az Z' # الظ
230
- result: ' az Z'
231
- - pattern : ' Al L' # الل
232
- result: ' al L'
233
- - pattern : ' An N' # الن
234
- result: ' an N'
235
- - pattern: " Al " # ال
236
- result: " al "
237
- characters:
238
- # special rules
239
-
240
- '\s(?=\u0622\u0628\u064E\u0627\u062F)': '' # space followed by abad is removed
241
- '\ufdf2': 'Allāh' # See note 5
242
-
243
- # Vowels, Diphthongs, and Diacritical Marks
244
- '\u064e' : 'a' # َ fatha
245
- '\u064e\u0627' : 'ā' # ـَا fatha followed by ا
246
- '\u0627' : 'ā' # ا
247
- '\u0649\u0670' : 'ā' # ىٰ
248
- '\u06D2\u0670' : 'ā' # ےٰ
249
- '\u0622' : 'ā' # آ
250
- '\b\u0627' : '' # ا
251
- '\u064e(?=\u0629)' : '' # َ fatha followed by ta' marboota
252
- '\u064e(?=a[h|t])' : '' # َ fatha followed by ta' marboota, handling different order of conversion
253
-
254
- '\u0652' : '' # ْ sokoon
255
- '\u0659': 'ê'
256
-
257
- '\u0650' : 'i' # karsra
258
- '\u0650[\u064a|\u06cc]' : 'ī' # ـِي kasra followed by ي
259
- '\u0650\u06d2\u0652' : 'e' # ـے
260
- '\u0650\u06d2' : 'e' # ـے
261
- '\u06d2' : 'e' # ـے
262
-
263
- '\u064f' : 'u' # ُ damma
264
- '\u064f\u0648' : 'ū' # ـُو damma followed by و
265
- '\u064f\u0648\u0652' : 'o' # ـَوْ
266
-
267
-
268
- '\u064e\u06d2' : 'ai' # ـے
269
- '\u064e\u0648' : 'au' # ـَو
270
- '\u0670': 'á' # ىٰ
271
- '\u0649': 'á' # ىٰ
272
-
273
- # shadda
274
- '\u0628\u0651' : 'bb' # ب
275
- '\u062a\u0651' : 'tt' # ت
276
- '\u062b\u0651' : 'ss' # ث
277
- '\u062c\u0651' : 'jj' # ج
278
- '\u062d\u0651' : 'hh' # ح
279
- '\u062e\u0651' : 'ḳhḳh' # خ
280
- '\u062f\u0651' : 'dd' # د
281
- '\u0630\u0651' : 'zz' # ذ
282
- '\u0631\u0651' : 'rr' # ر
283
- '\u0632\u0651' : 'zz' # ز
284
- '\u0633\u0651' : 'ss' # س
285
- '\u0634\u0651' : 'sh' # ش
286
- '\u0635\u0651' : 'ss' # ص
287
- '\u0636\u0651' : 'ḏḏ' # ض
288
- '\u0637\u0651' : 'tt' # ط
289
- '\u0638\u0651' : 'zz' # ظ
290
- '\u063a\u0651' : 'ghgh' # غ
291
- '\u0641\u0651' : 'ff' # ف
292
- '\u0642\u0651' : 'qq' # ق
293
- '\u0643\u0651' : 'kk' # ك
294
- '\u0644\u0651' : 'll' # ل
295
- '\u0645\u0651' : 'mm' # م
296
- '\u0646\u0651' : 'nn' # ن
297
- '\u0647\u0651' : 'hh' # ه
298
- '\u0648\u0651' : 'vv' # و
299
- '[\u064a|\u06cc]\u0651' : 'yy' # ي
300
-
301
- # NOTE 1
302
- '\u0650\b' : '-e' # ِ kasra
303
- '\u0674' : '-e' # ٴ
304
- '\u0654' : '-e' # ٔ
305
-
306
- '\u0650\u064a\u0651\u064e' : 'īy' # ـِيَّ
307
- '\u0650\u064a(?=\u064e|u064f)' : 'iy' # ـِي kasra followed by ي
308
- '\u064e\u0649' : 'ay' # ـَى fatha followed by ى which is ا not ي
309
- '\u064e\u0648\u0652' : 'aw' # ـَوْ
310
- '\u064e\u064a\u0652' : 'ay' # ـَيْ
311
- '\u0650\u06cc\u0651\u064e' : 'īy' # ـِيَّ
312
- '\u064e\u064a' : 'aī' # ـَي
313
- '\u064e\u06cc' : 'aī' # ـَي
314
- # - '-ye'
315
-
316
-
317
- # ta' marboota
318
- '\u0629' : 'at' # ة in the middle of the sentence
319
- '\u0629$' : 'ah'
320
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{2})\u0629' : 'ah'
321
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{3})\u0629' : 'ah'
322
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{4})\u0629' : 'ah'
323
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{5})\u0629' : 'ah'
324
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{6})\u0629' : 'ah'
325
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{7})\u0629' : 'ah'
326
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{8})\u0629' : 'ah'
327
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{9})\u0629' : 'ah'
328
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{10})\u0629' : 'ah'
329
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{11})\u0629' : 'ah'
330
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{12})\u0629' : 'ah'
331
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{13})\u0629' : 'ah'
332
-
333
-
334
-
335
- '\u0621' : '-' # ء
336
- '\u0624' : '-' # ؤ
337
- '\u0626' : '-' # ئ
338
-
339
- '\u0623' : '' # أ
340
- '\u0625' : '' # إ
341
- # See note B
342
- '\b\u0627\u0644' : 'al ' # ال
343
- # '\uFE8E' : '' # ﺎ
344
-
345
- # Sun letters
346
- '\b\u0627\u0644\u062a' : 'at t' # الت
347
- '\b\u0627\u0644\u062b' : 'as s' # الث
348
- '\b\u0627\u0644\u062f' : 'ad d' # الد
349
- '\b\u0627\u0644\u0630' : 'az z' # الذ
350
- '\b\u0627\u0644\u0631' : 'ar r' # الر
351
- '\b\u0627\u0644\u0632' : 'az z' # الز
352
- '\b\u0627\u0644\u0633' : 'as s' # الس
353
- '\b\u0627\u0644\u0634' : 'ash sh' # الش
354
- '\b\u0627\u0644\u0635' : 'as s' # الص
355
- '\b\u0627\u0644\u0636' : 'az z' # الض
356
- '\b\u0627\u0644\u0637' : 'at t' # الط
357
- '\b\u0627\u0644\u0638' : 'az z' # الظ
358
- '\b\u0627\u0644\u0644' : 'al l' # الل
359
- '\b\u0627\u0644\u0646' : 'an n' # الن
360
-
361
-
362
- # consonant characters
363
-
364
- '\u0628' : 'b' # ب
365
- '\u067E' : 'p' # پ
366
- '\u062a' : 't' # ت
367
- '\u0679' : 'ṭ' # ٹ
368
- '\u062B' : 's' # ث
369
- '\u062c' : 'j' # ج
370
- '\u0686' : 'ch' # ‫چ‬
371
- '\u062d' : 'h' # ح
372
- '\u062e' : 'ḳh' # خ
373
- '\u062f' : 'd' # د
374
- '\u0688' : 'ḍ' # ‫ڈ
375
- '\u0630' : 'z' # ذ
376
- '\u0631' : 'r' # ر
377
- '\u0691' : 'ṙ' # ڑ
378
- '\u0632' : 'z' # ز
379
- '\u0698' : 'ỵ' # ‫ژ‬
380
- '\u0633' : 's' # س
381
- '\u0634' : 'sh' # ش
382
- '\u0635' : 's' # ص
383
- '\u0636' : 'z' # ض
384
- '\u0637' : 't' # ط
385
- '\u0638' : 'z' # ظ
386
- '\u0639' : '‘' # ع
387
- '\u064e\u0639' : '‘ā' # ع NOTE A
388
- '\u063a' : 'gh' # غ
389
- '\u0641' : 'f' # ف
390
- '\u0642' : 'q' # ق
391
- '\u0643' : 'k' # ك
392
- '\u06A9' : 'k' # ک
393
- '\u06AF' : 'g' # ‫گ‬
394
- '\u0644' : 'l' # ل
395
- '\u0645' : 'm' # م
396
- '[\u06BA|\u0646]' : 'n' # ن, ں
397
- '[\ufba9|\u06c1]' : 'h' # ہ , ﮩ
398
- '(?<=[\u064e|\u0650|\u064f])[\ufba9|\u06c1]\b' : 'ḥ' # ہ , ﮩ NOTE C
399
- '[\u0647|\u06be]' : 'h' # ه, ھ
400
- '\u0648' : 'v' # و
401
- '(?<=\u062e)\u0648' : 'ẉ' # و NOTE B
402
- '[\u064a|\u06cc]' : 'y' # ي
403
- # '\u0649' : 'y' # ي
404
- '\u06D0' : 'ē' # ې
405
- '\u06CD' : 'êy' # ‫ۍ‬