interscript 0.1.3 → 0.1.9

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 (294) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +10 -11
  3. data/aliases.json +1 -0
  4. data/lib/interscript.rb +62 -59
  5. data/lib/interscript/command.rb +3 -2
  6. data/lib/interscript/fs.rb +96 -0
  7. data/lib/interscript/mapping.rb +36 -17
  8. data/lib/interscript/opal.rb +196 -0
  9. data/lib/interscript/opal/entrypoint.rb +20 -0
  10. data/lib/interscript/opal/exports.rb +11 -0
  11. data/lib/interscript/opal/maps.js.erb +8 -0
  12. data/lib/interscript/version.rb +1 -1
  13. data/maps/acadsin-zho-Hani-Latn-2002.yaml +6 -2
  14. data/maps/alalc-amh-Ethi-Latn-1997.yaml +513 -0
  15. data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
  16. data/maps/alalc-ara-Arab-Latn-1997.yaml +1287 -0
  17. data/maps/alalc-asm-Deva-Latn-1997.yaml +259 -0
  18. data/maps/alalc-asm-Deva-Latn-2012.yaml +55 -0
  19. data/maps/alalc-aze-Arab-Latn-1997.yaml +376 -0
  20. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +145 -0
  21. data/maps/{alalc-bel-cyrl-latn-1997.yaml → alalc-bel-Cyrl-Latn-1997.yaml} +7 -3
  22. data/maps/alalc-ben-Beng-Latn-1997.yaml +291 -0
  23. data/maps/alalc-ben-Beng-Latn-2017.yaml +1 -1
  24. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +5 -1
  25. data/maps/alalc-div-Thaa-Latn-1997.yaml +211 -0
  26. data/maps/alalc-ell-Grek-Latn-1997.yaml +7 -4
  27. data/maps/alalc-ell-Grek-Latn-2010.yaml +3 -5
  28. data/maps/alalc-guj-Gujr-Latn-1997.yaml +266 -0
  29. data/maps/alalc-guj-Gujr-Latn-2011.yaml +64 -0
  30. data/maps/alalc-hin-Deva-Latn-1997.yaml +303 -0
  31. data/maps/alalc-hin-Deva-Latn-2011.yaml +65 -0
  32. data/maps/alalc-kan-Kana-Latn-1997.yaml +274 -0
  33. data/maps/alalc-kan-Kana-Latn-2011.yaml +63 -0
  34. data/maps/alalc-kat-Geok-Latn-1997.yaml +2 -3
  35. data/maps/alalc-kat-Geor-Latn-1997.yaml +5 -1
  36. data/maps/alalc-kor-Hang-Latn-1997.yaml +6 -2
  37. data/maps/alalc-mal-Mlym-Latn-1997.yaml +303 -0
  38. data/maps/alalc-mal-Mlym-Latn-2012.yaml +73 -0
  39. data/maps/alalc-mar-Deva-Latn-1997.yaml +189 -0
  40. data/maps/alalc-mar-Deva-Latn-2011.yaml +45 -0
  41. data/maps/{alalc-mkd-cyrl-latn-1997.yaml → alalc-mkd-Cyrl-Latn-1997.yaml} +1 -1
  42. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +1 -1
  43. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +220 -0
  44. data/maps/alalc-ori-Orya-Latn-1997.yaml +284 -0
  45. data/maps/alalc-ori-Orya-Latn-2011.yaml +67 -0
  46. data/maps/alalc-pan-Guru-Latn-1997.yaml +256 -0
  47. data/maps/alalc-pan-Guru-Latn-2011.yaml +78 -0
  48. data/maps/alalc-per-Arab-Latn-1997.yaml +375 -0
  49. data/maps/alalc-pli-Deva-Latn-2012.yaml +144 -0
  50. data/maps/alalc-pra-Deva-Latn-2012.yaml +47 -0
  51. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +225 -0
  52. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  53. data/maps/alalc-san-Deva-Latn-2012.yaml +241 -0
  54. data/maps/alalc-sin-Sinh-Latn-1997.yaml +292 -0
  55. data/maps/alalc-sin-Sinh-Latn-2011.yaml +71 -0
  56. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +5 -1
  57. data/maps/{alalc-srp-cyrl-latn-2013.yaml → alalc-srp-Cyrl-Latn-2013.yaml} +1 -1
  58. data/maps/alalc-tam-Taml-Latn-1997.yaml +62 -0
  59. data/maps/alalc-tam-Taml-Latn-2011.yaml +58 -0
  60. data/maps/alalc-tel-Telu-Latn-1997.yaml +284 -0
  61. data/maps/alalc-tel-Telu-Latn-2011.yaml +64 -0
  62. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +5 -1
  63. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +1 -1
  64. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +1 -1
  65. data/maps/az-aze-Cyrl-Latn-1939.yaml +105 -0
  66. data/maps/az-aze-Cyrl-Latn-1958.yaml +45 -0
  67. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +1 -2
  68. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +1 -1
  69. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +1 -3
  70. data/maps/bgn-kor-Hang-Latn-1943.yaml +8 -4
  71. data/maps/bgn-kor-Kore-Latn-1943.yaml +4 -4
  72. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +1 -1
  73. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +1 -1
  74. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +532 -0
  75. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +598 -0
  76. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +1 -1
  77. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +111 -104
  78. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +188 -0
  79. data/maps/bgnpcgn-bal-Arab-Latn-2008.yaml +329 -0
  80. data/maps/{bgnpcgn-bel-cyrl-latn-1979.yaml → bgnpcgn-bel-Cyrl-Latn-1979.yaml} +5 -1
  81. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +14 -10
  82. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +5 -1
  83. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +184 -0
  84. data/maps/bgnpcgn-div-Thaa-Latn-1988.yaml +75 -0
  85. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +8 -5
  86. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +5 -2
  87. data/maps/bgnpcgn-far-Latn-Latn-1964.yaml +28 -0
  88. data/maps/{bgnpcgn-per-Arab-Latn-1956.yaml → bgnpcgn-fas-Arab-Latn-1956.yaml} +5 -2
  89. data/maps/bgnpcgn-isl-Latn-Latn-1964.yaml +37 -0
  90. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +1 -1
  91. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +5 -1
  92. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +1 -2
  93. data/maps/bgnpcgn-kaz-Cyrl-Latn-1979.yaml +247 -0
  94. data/maps/bgnpcgn-kir-Cyrl-Latn-1979.yaml +218 -0
  95. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +18 -18
  96. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +3 -3
  97. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +3 -3
  98. data/maps/bgnpcgn-kur-Arab-Latn-2007.yaml +249 -0
  99. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +5 -1
  100. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +2 -2
  101. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +223 -0
  102. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +230 -0
  103. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +338 -0
  104. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +673 -0
  105. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +459 -0
  106. data/maps/bgnpcgn-pus-Arab-Latn-1968.yaml +377 -0
  107. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +168 -0
  108. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +5 -1
  109. data/maps/bgnpcgn-srp-Cyrl-Latn-1962.yaml +73 -0
  110. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +5 -1
  111. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +220 -0
  112. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +240 -0
  113. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +5 -2
  114. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +3 -92
  115. data/maps/bgnpcgn-urd-Arab-Latn-2007.yaml +459 -0
  116. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +127 -0
  117. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +82 -0
  118. data/maps/{bgnpcgn-chn-Hans-Latn-1979.yaml → bgnpcgn-zho-Hans-Latn-1979.yaml} +1 -1
  119. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
  120. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
  121. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
  122. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +181 -0
  123. data/maps/bis-kan-Kana-Latn-13194-1991.yaml +173 -0
  124. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
  125. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +175 -0
  126. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
  127. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
  128. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
  129. data/maps/by-bel-Cyrl-Latn-1998.yaml +9 -5
  130. data/maps/by-bel-Cyrl-Latn-2007.yaml +4 -4
  131. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +899 -0
  132. data/maps/din-hin-Deva-Latn-33904-2018.yaml +100 -0
  133. data/maps/din-kat-Geor-Latn-32707-2010.yaml +145 -0
  134. data/maps/din-mar-Deva-Latn-33904-2018.yaml +84 -0
  135. data/maps/din-nep-Deva-Latn-33904-2018.yaml +119 -0
  136. data/maps/din-pli-Deva-Latn-33904-2018.yaml +75 -0
  137. data/maps/din-pra-Deva-Latn-33904-2018.yaml +63 -0
  138. data/maps/din-san-Deva-Latn-33904-2018.yaml +338 -0
  139. data/maps/din-tam-Taml-Latn-33903-2016.yaml +213 -0
  140. data/maps/dos-nep-Deva-Latn-1997.yaml +47 -0
  141. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +7 -8
  142. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +6 -7
  143. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +2 -3
  144. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +2 -3
  145. data/maps/ggg-kat-Geor-Latn-2002.yaml +5 -2
  146. data/maps/{gki-bel-cyrl-latn-1992.yaml → gki-bel-Cyrl-Latn-1992.yaml} +2 -2
  147. data/maps/{gki-bel-cyrl-latn-2000.yaml → gki-bel-Cyrl-Latn-2000.yaml} +2 -2
  148. data/maps/{gost-rus-cyrl-latn-16876-71-1983.yaml → gost-rus-Cyrl-Latn-16876-71-1983.yaml} +8 -4
  149. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +157 -0
  150. data/maps/hk-yue-Hani-Latn-1888.yaml +1 -1
  151. data/maps/icao-bel-Cyrl-Latn-9303.yaml +1 -6
  152. data/maps/icao-bul-Cyrl-Latn-9303.yaml +1 -5
  153. data/maps/{icao-per-Arab-Latn-9303.yaml → icao-fas-Arab-Latn-9303.yaml} +1 -2
  154. data/maps/icao-heb-Hebr-Latn-9303.yaml +1 -1
  155. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +1 -1
  156. data/maps/icao-rus-Cyrl-Latn-9303.yaml +1 -2
  157. data/maps/icao-srp-Cyrl-Latn-9303.yaml +1 -1
  158. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +1 -2
  159. data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
  160. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +75 -0
  161. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +175 -0
  162. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +11 -8
  163. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +8 -5
  164. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +220 -0
  165. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +87 -0
  166. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +61 -0
  167. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +10 -6
  168. data/maps/iso-kan-Kana-Latn-15919-2001.yaml +220 -0
  169. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +145 -0
  170. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +240 -0
  171. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +226 -0
  172. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +281 -0
  173. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +75 -0
  174. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +87 -0
  175. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +193 -0
  176. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +222 -0
  177. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +73 -0
  178. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +74 -0
  179. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +219 -0
  180. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +55 -0
  181. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +59 -0
  182. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +366 -0
  183. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +3 -4
  184. data/maps/iso-san-Deva-Latn-15919-2001.yaml +220 -0
  185. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +159 -0
  186. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +220 -0
  187. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +2 -2
  188. data/maps/kp-kor-Hang-Latn-2002.yaml +29 -21
  189. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +3 -3
  190. data/maps/masm-mon-Cyrl-Latn-5217-2012.yaml +163 -0
  191. data/maps/masm-mon-Latn-Cyrl-5217-2012.yaml +200 -0
  192. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +1 -1
  193. data/maps/moct-kor-Hang-Latn-2000.yaml +6 -2
  194. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +1 -1
  195. data/maps/mv-div-Thaa-Latn-1987.yaml +200 -0
  196. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  197. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  198. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
  199. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  200. data/maps/odni-ara-Arab-Latn-2004.yaml +137 -0
  201. data/maps/odni-ara-Arab-Latn-2015.yaml +315 -0
  202. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  203. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  204. data/maps/odni-bul-Cyrl-Latn-2005.yaml +90 -0
  205. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  206. data/maps/odni-che-Cyrl-Latn-2015.yaml +169 -0
  207. data/maps/odni-fas-Arab-Latn-2004.yaml +276 -0
  208. data/maps/odni-fas-Arab-Latn-2015.yaml +406 -0
  209. data/maps/odni-hin-Deva-Latn-2004.yaml +182 -0
  210. data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
  211. data/maps/odni-kat-Geor-Latn-2015.yaml +2 -3
  212. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  213. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  214. data/maps/odni-kor-Hang-Latn-2015.yaml +375 -0
  215. data/maps/odni-mkd-Cyrl-Latn-2005.yaml +21 -0
  216. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
  217. data/maps/odni-prs-Arab-Latn-2004.yaml +123 -0
  218. data/maps/odni-prs-Arab-Latn-2015.yaml +228 -0
  219. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  220. data/maps/odni-srp-Cyrl-Latn-2005.yaml +36 -0
  221. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  222. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  223. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  224. data/maps/odni-tuk-Cyrl-Latn-2015.yaml +170 -0
  225. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  226. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +6 -2
  227. data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
  228. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
  229. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +5 -5
  230. data/maps/royin-tha-Thai-Latn-1968.yaml +9 -5
  231. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +5 -5
  232. data/maps/royin-tha-Thai-Latn-1999.yaml +8 -4
  233. data/maps/sac-zho-Hans-Latn-1979.yaml +5 -1
  234. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +389 -0
  235. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +354 -0
  236. data/maps/ses-ara-Arab-Latn-1930.yaml +283 -0
  237. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +1 -1
  238. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +6 -2
  239. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +75 -0
  240. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +192 -0
  241. data/maps/un-amh-Ethi-Latn-2016.yaml +602 -0
  242. data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
  243. data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
  244. data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
  245. data/maps/un-asm-Beng-Latn-1972.yaml +223 -0
  246. data/maps/un-bel-Cyrl-Latn-2007.yaml +4 -4
  247. data/maps/un-ben-Beng-Latn-2016.yaml +1 -1
  248. data/maps/{un-ell-Grek-Latn-phonetic-1987.yaml → un-ell-Grek-Latn-1987-phonetic.yaml} +44 -44
  249. data/maps/un-ell-Grek-Latn-1987-tl.yaml +3 -4
  250. data/maps/un-ell-Grek-Latn-1987-ts.yaml +3 -4
  251. data/maps/un-guj-Gujr-Latn-1972.yaml +229 -0
  252. data/maps/un-hin-Deva-Latn-2016.yaml +316 -0
  253. data/maps/un-kan-Kana-Latn-2016.yaml +254 -0
  254. data/maps/un-mal-Mlym-Latn-1972.yaml +251 -0
  255. data/maps/un-mar-Deva-Latn-2016.yaml +102 -0
  256. data/maps/un-mon-Mong-Latn-general-2013.yaml +264 -0
  257. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +264 -0
  258. data/maps/un-nep-Deva-Latn-1972.yaml +269 -0
  259. data/maps/un-nep-Deva-Latn-2013.yaml +74 -0
  260. data/maps/un-ori-Orya-Latn-1972.yaml +247 -0
  261. data/maps/un-pan-Guru-Latn-1972.yaml +402 -0
  262. data/maps/un-prs-Arab-Latn-1967.yaml +236 -0
  263. data/maps/un-rus-Cyrl-Latn-1987.yaml +2 -2
  264. data/maps/un-tam-Taml-Latn-1972.yaml +194 -0
  265. data/maps/un-tel-Telu-Latn-1972.yaml +270 -0
  266. data/maps/un-ukr-Cyrl-Latn-1998.yaml +53 -0
  267. data/maps/un-ukr-Cyrl-Latn-2012.yaml +162 -0
  268. data/maps/un-urd-Arab-Latn-1972.yaml +405 -0
  269. data/maps/var-amh-Ethi-Latn-eae-2003.yaml +466 -0
  270. data/maps/var-gez-Ethi-Latn-eae-2003.yaml +76 -0
  271. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +221 -0
  272. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +1 -1
  273. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +1 -1
  274. data/maps/{nil-kor-Hang-Hang-jamo.yaml → var-kor-Hang-Hang-jamo.yaml} +4 -4
  275. data/maps/var-kor-Hang-Latn-mr-1939.yaml +4 -4
  276. data/maps/var-kor-Kore-Hang-2013.yaml +2 -2
  277. data/maps/var-kor-Kore-Latn-mr-1939.yaml +2 -3
  278. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +43 -0
  279. data/maps/var-mon-Mong-Latn-1930.yaml +102 -0
  280. data/maps/var-mon-Mong-Latn-lessing.yaml +272 -0
  281. data/maps/var-mon-Mong-Latn-vpmc.yaml +274 -0
  282. data/maps/var-pra-Deva-Latn-iast-1912.yaml +30 -0
  283. data/maps/var-san-Deva-Latn-iast-1912.yaml +149 -0
  284. data/maps/var-tha-Thai-Thai-phonemic.yaml +6 -6
  285. data/maps/var-tha-Thai-Zsym-ipa.yaml +13 -13
  286. data/maps/{var-zho-Hani-Latn-1979.yaml → var-zho-Hani-Latn-wd-1979.yaml} +13 -9
  287. data/spec/interscript/filenames_spec.rb +21 -0
  288. data/spec/interscript_spec.rb +16 -5
  289. metadata +275 -27
  290. data/bin/interscript +0 -41
  291. data/bin/rspec +0 -29
  292. data/bin/setup +0 -8
  293. data/maps/un-mon-Mong-Latn-2013.yaml +0 -93
  294. data/maps/un-ukr-cyrl-latn-1998.yaml +0 -30
@@ -0,0 +1,230 @@
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'
@@ -0,0 +1,338 @@
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' # ‫ۍ‬