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
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  authority_id: bgnpcgn
3
3
  id: 1965
4
- language: ukr
4
+ language: iso-639-2:ukr
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: BGN/PCGN 1965 System
8
+ alias:
9
+ ogc11122:
10
+ code: ukr_Cyrl2Latn_BGN_1965
11
+ description: Ukrainian Board on Geographic Names/Permanent Committee on Geographical Names for British Official Use(PCGN) 1965 System
8
12
  url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/816788/ROMANIZATION_OF_UKRAINIAN.pdf
9
13
  creation_date: 1947
10
14
  confirmation_date: 2019-06
@@ -160,4 +164,3 @@ map:
160
164
  "\u042e": 'Yu'
161
165
  "\u042f": 'Ya'
162
166
  "\u0490": 'G'
163
-
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: bgnpcgn
3
3
  id: 2019
4
- language: ukr
4
+ language: iso-639-2:ukr
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: BGN/PCGN 2019 Agreement
@@ -113,96 +113,7 @@ tests:
113
113
  expected: Znamianka
114
114
 
115
115
  map:
116
- rules:
117
- - pattern: (?<=З|з)(Г|г)
118
- result: gh
119
- - pattern: (?<!\b\u2019)\b\u0404 # Є in initial position -> Ye
120
- result: Ye
121
- - pattern: (?<!\b\u2019)\b\u0454 # є in initial position -> ye
122
- result: ye
123
- - pattern: (?<!\b\u2019)\b\u0407 # Ї in initial position -> Yi
124
- result: Yi
125
- - pattern: (?<!\b\u2019)\b\u0457 # ї in initial position -> yi
126
- result: yi
127
- - pattern: (?<!\b\u2019)\b\u0419 # Й in initial position -> Y
128
- result: "Y"
129
- - pattern: (?<!\b\u2019)\b\u0419 # й in initial position -> y
130
- result: "y"
131
- - pattern: (?<!\b\u2019)\b\u042e # Ю in initial position -> Yu
132
- result: Yu
133
- - pattern: (?<!\b\u2019)\b\u044e # ю in initial position -> yu
134
- result: yu
135
- - pattern: (?<!\b\u2019)\b\u042f # Я in initial position -> Ya
136
- result: Ya
137
- - pattern: (?<!\b\u2019)\b\u044f # я in initial position -> ya
138
- result: ya
139
- - pattern: \b\u2019\b # remove ’
140
- result: ""
116
+ inherit: un-ukr-Cyrl-Latn-2012
141
117
 
142
118
  characters:
143
- "\u0410": "A" # А
144
- "\u0411": "B" # Б
145
- "\u0412": "V" # В
146
- "\u0413": "H" # Г
147
- "\u0490": "G" # Ґ
148
- "\u0414": "D" # Д
149
- "\u0415": "E" # Е
150
- "\u0404": "Ie" # Є
151
- "\u0416": "Zh" # Ж
152
- "\u0417": "Z" # З
153
- "\u0418": "Y" # И
154
- "\u0406": "I" # І
155
- "\u0407": "I" # Ї
156
- "\u0419": "I" # Й
157
- "\u041a": "K" # К
158
- "\u041b": "L" # Л
159
- "\u041c": "M" # М
160
- "\u041d": "N" # Н
161
- "\u041e": "O" # О
162
- "\u041f": "P" # П
163
- "\u0420": "R" # Р
164
- "\u0421": "S" # С
165
- "\u0422": "T" # Т
166
- "\u0423": "U" # У
167
- "\u0424": "F" # Ф
168
- "\u0425": "Kh" # Х
169
- "\u0426": "Ts" # Ц
170
- "\u0427": "Ch" # Ч
171
- "\u0428": "Sh" # Ш
172
- "\u0429": "Shch" # Щ
173
- "\u042e": "Iu" # Ю
174
- "\u042f": "Ia" # Я
175
- "\u042c": "" # Ь
176
- "\u0430": "a" # а
177
- "\u0431": "b" # б
178
- "\u0432": "v" # в
179
- "\u0433": "h" # г
180
- "\u0491": "g" # ґ
181
- "\u0434": "d" # д
182
- "\u0435": "e" # е
183
- "\u0454": "ie" # є
184
- "\u0436": "zh" # ж
185
- "\u0437": "z" # з
186
- "\u0438": "y" # и
187
- "\u0456": "i" # і
188
- "\u0457": "i" # ї
189
- "\u0439": "i" # й
190
- "\u043a": "k" # к
191
- "\u043b": "l" # л
192
- "\u043c": "m" # м
193
- "\u043d": "n" # н
194
- "\u043e": "o" # о
195
- "\u043f": "p" # п
196
- "\u0440": "r" # р
197
- "\u0441": "s" # с
198
- "\u0442": "t" # т
199
- "\u0443": "u" # у
200
- "\u0444": "f" # ф
201
- "\u0445": "kh" # х
202
- "\u0446": "ts" # ц
203
- "\u0447": "ch" # ч
204
- "\u0448": "sh" # ш
205
- "\u0449": "shch" # щ
206
- "\u044e": "iu" # ю
207
- "\u044f": "ia" # я
208
- "\u044c": "" # Ь
119
+ "\u0027": '' # ' ->
@@ -0,0 +1,459 @@
1
+ ---
2
+ authority_id: bgnpcgn
3
+ id: 2007
4
+ language: iso-639-2:urd
5
+ source_script: Arab
6
+ destination_script: Latn
7
+ name: BGN/PCGN Romanization System -- Urdu (2007)
8
+ alias:
9
+ ogc11122:
10
+ code: uas_Arab2Latn_BGN_2007
11
+ description: Unified Afghan Romanization System US Board on Geographic Names (BGN)/The Permanent Committee on Geographical Names (PCGN) 2007
12
+ url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/693788/ROMANIZATION_OF_URDU.pdf
13
+ creation_date: 2007
14
+ confirmation_date: 2017-11
15
+ description: |
16
+ The following is the approved romanization system for
17
+ deriving standard spellings of Urdu geographical names for
18
+ Pakistan. It was jointly adopted by BGN and PCGN at the
19
+ 23rd BGN/PCGN Conference in Washington, DC, in 2007 and it
20
+ is based on the Hunterian romanization system for Urdu,
21
+ which has been used by the Surveys of India and Pakistan
22
+ for romanizing Urdu geographical names for more than one
23
+ hundred years. The BGN/PCGN system laid out below includes
24
+ diacritical marks in order that the original script can be
25
+ derived from the romanized form (i.e. it is reversible).
26
+ For desk users requiring a diacritic-free form, these
27
+ diacritics can simply be removed. In every case the same
28
+ basic Roman-script characters are kept as are used in the
29
+ Hunterian system. The BGN/PCGN forms have further been
30
+ designed to harmonize with the BGN/PCGN Persian
31
+ romanization system.
32
+ notes:
33
+ - 1. When the vowel sign zīr ( ِ) occurs word-finally in the
34
+ first element of a compound, it is assumed to mark the
35
+ Persian izafat
36
+ morpheme, and is romanized -e, not i.
37
+ - 2. The source of almost all example names is the 1951
38
+ Census of Pakistan, Village List, Northwest Frontier
39
+ Province, Chitral
40
+ State. Office of the Provincial Superintendant of Census,
41
+ North-West Frontier Province, Peshawar.
42
+ - 3. No examples of aspirated dental r (rh, رھ ( were found,
43
+ though this phoneme is assumed to be part of the phonology
44
+ of
45
+ Urdu, and was therefore left out of Table 2.
46
+ - 4. Note that the short vowels in the Urdu examples are not
47
+ pointed.
48
+ - 5. Occasionally, sequences of /z/ or /s/ plus /h/ may be
49
+ encountered, i.e. z·h, s·h. These may be romanized with the
50
+ Unicode
51
+ 'center dot' (U+00B7) separating the two letters, to
52
+ distinguish them from the digraphs /zh/ and /sh/.
53
+ - Commented tests are blocked by this issue https://github.com/interscript/interscript/issues/572
54
+ depends on the different ways of handling ي to y or e AND و to u or o
55
+
56
+
57
+ tests:
58
+ # - source: بوغدِی
59
+ # expected: Boghdī
60
+
61
+ - source: پَالِير
62
+ expected: Pālīr
63
+
64
+ # - source: بیزوت كَلے
65
+ # expected: Bezot Kale
66
+
67
+ # - source: عَمَل كوٹ
68
+ # expected: ‘Amal Koṭ
69
+
70
+ - source: ثَابِر
71
+ expected: S̄ābir
72
+
73
+ - source: شَاه نَثَار ميلة
74
+ expected: Shāh Nas̄ār Mylah
75
+
76
+ # - source: بَرجُو ميلَه
77
+ # expected: Barjū Melah
78
+
79
+ - source: چَپرِی
80
+ expected: Chaprī
81
+
82
+ - source: أَحمَد خَان كَلے
83
+ expected: Aḩmad Khān Kale
84
+
85
+ # - source: آكَا خيل
86
+ # expected: Ākā Khel
87
+
88
+ - source: دُرَانِي
89
+ expected: Durānī
90
+
91
+ - source: ڈَنگِیلا
92
+ expected: Ḍangīlā
93
+
94
+ - source: ذَرَانِی
95
+ expected: Z̄arānī
96
+
97
+ - source: بُركِي
98
+ expected: Burkī
99
+
100
+ - source: گِیدَڑَه
101
+ expected: Gīdaṛah
102
+
103
+ - source: عَلِي زَائِي
104
+ expected: ‘Alī Zā’ī
105
+
106
+ # - source: ژوب
107
+ # expected: Zhob
108
+
109
+ - source: بِسَاتُو
110
+ expected: Bisātū
111
+
112
+ - source: أَحمَدِي شَامَا
113
+ expected: Aḩmadī Shāmā
114
+
115
+ - source: اَصَالَت كَلے
116
+ expected: Aşālat Kale
117
+
118
+ - source: خَضَر خَان
119
+ expected: Khaẕar Khān
120
+
121
+ - source: سُلْطَان
122
+ expected: Sulţān
123
+
124
+ - source: عَزَم سَيِّد نُور كَلے
125
+ expected: ‘Azam Sayyid Nūr Kale
126
+
127
+ # - source: عَلَم شير
128
+ # expected: ‘Alam Sher
129
+
130
+ - source: بغَاكِي
131
+ expected: Bghākī
132
+
133
+ # - source: مُظَفَر كوٹ
134
+ # expected: Muz̧afar Koṭ
135
+
136
+ - source: حَقدَرَه
137
+ expected: Ḩaqdarah
138
+
139
+ - source: کَچکِینَہ
140
+ expected: Kachkīnah
141
+
142
+ - source: بَاگَن
143
+ expected: Bāgan
144
+
145
+ - source: بُلبَلَک
146
+ expected: Bulbalak
147
+
148
+ - source: بِلیَامِین
149
+ expected: Bilyāmīn
150
+
151
+ - source: نَہر
152
+ expected: Nahr
153
+
154
+ # - source: جوکَالِیَاں
155
+ # expected: Jokālīāñ
156
+
157
+ - source: اَرَوْالِی
158
+ expected: Arawālī
159
+
160
+ # - source: هیروشاه
161
+ # expected: Heroshāh
162
+
163
+ - source: مَہردِی
164
+ expected: Mahrdī
165
+
166
+ - source: بَڑھ
167
+ expected: Baṛh
168
+
169
+ # - source: شِیوَاؤ
170
+ # expected: Shīwā’o
171
+
172
+ - source: یَاردَا کَلے
173
+ expected: Yārdā Kale
174
+
175
+ - source: بهَائِي خَان
176
+ expected: Bhā’ī Khān
177
+
178
+ - source: پھاشک
179
+ expected: Phāshk
180
+
181
+ - source: تھَلّ
182
+ expected: Thall
183
+
184
+ - source: پَٹھان ريَا
185
+ expected: Paṭhān Ryā
186
+
187
+ - source: جھِیل
188
+ expected: Jhīl
189
+
190
+ - source: غَزْنِي سْپِين
191
+ expected: Ghaznī Spīn
192
+
193
+ - source: بَادشَاه چھُم
194
+ expected: Bādshāh Chhum
195
+
196
+ - source: سِندھ
197
+ expected: Sindh
198
+
199
+ - source: ڈھَنڈ
200
+ expected: Ḍhanḍ
201
+
202
+ # - source: غوزگَڑھِی
203
+ # expected: Ghozgaṛhī
204
+
205
+ # - source: دوغَل گاکھَر
206
+ # expected: Doghal Gākhar
207
+
208
+ - source: خَان گھَڑِی
209
+ expected: Khān Ghaṛī
210
+
211
+ - source: غُلَامَک كَلے
212
+ expected: Ghulāmak Kale
213
+
214
+ # - source: کاراخیل
215
+ # expected: Kārākhel
216
+
217
+ - source: خَپیَنگا
218
+ expected: Khapyangā
219
+
220
+ - source: گَندَه كَلے
221
+ expected: Gandah Kale
222
+
223
+ # - source: گُلونَا ڈھيرِي
224
+ # expected: Gulonā Ḍherī
225
+
226
+ # - source: خيرَه دِين
227
+ # expected: Kherah Dīn
228
+
229
+ - source: مَورپِتھِی
230
+ expected: Maurpithī
231
+
232
+ - source: درے پلارِی
233
+ expected: Dre Plārī
234
+
235
+ - source: آگرَہ
236
+ expected: Āgrah
237
+
238
+ - source: ڈَنڈَر
239
+ expected: Ḍanḍar
240
+
241
+ # - source: گِیدو
242
+ # expected: Gīdo
243
+
244
+ - source: گُبازانَہ
245
+ expected: Gubāzānah
246
+
247
+ # - source: اُوشو
248
+ # expected: Ūsho
249
+
250
+ - source: حَےدَر عَلِی كَلے
251
+ expected: Ḩaidar ‘Alī Kale
252
+
253
+ - source: تَودَہ چِینَہ
254
+ expected: Taudah Chīnah
255
+
256
+ - source: مُوسى خَان كَلے
257
+ expected: Mūsá Khān Kale
258
+
259
+ - source: مُلَّا بَاغ
260
+ expected: Mullā Bāgh
261
+
262
+ map:
263
+ postrules:
264
+ - pattern: (?<=\b)(?<!\b[‘|’|'|-])[\u0061-\uFFFF]
265
+ result: "upcase"
266
+ # don't capitalize defined article in the middle of a sentence
267
+ - pattern : ' At T' # الت
268
+ result: ' at T'
269
+ - pattern : ' As̄ S̄' # الث
270
+ result: ' as̄ S̄'
271
+ - pattern : ' Ad D' # الد
272
+ result: ' ad D'
273
+ - pattern : ' Az̄ Z̄' # الذ
274
+ result: ' az̄ Z̄'
275
+ - pattern : ' Ar R' # الر
276
+ result: ' ar R'
277
+ - pattern : ' Az Z' # الز
278
+ result: ' az Z'
279
+ - pattern : ' As S' # الس
280
+ result: ' as S'
281
+ - pattern : ' Ash Sh' # الش
282
+ result: ' ash Sh'
283
+ - pattern : ' Aş Ş' # الص
284
+ result: ' aş Ş'
285
+ - pattern : ' Aẕ Ẕ' # الض
286
+ result: ' aẕ Ẕ'
287
+ - pattern : ' Aţ Ţ' # الط
288
+ result: ' aţ Ţ'
289
+ - pattern : ' Az̧ Z̧' # الظ
290
+ result: ' az̧ Z̧'
291
+ - pattern : ' Al L' # الل
292
+ result: ' al L'
293
+ - pattern : ' An N' # الن
294
+ result: ' an N'
295
+ - pattern: " Al " # ال
296
+ result: " al "
297
+ characters:
298
+ # special rules
299
+
300
+ '\s(?=\u0622\u0628\u064E\u0627\u062F)': '' # space followed by abad is removed
301
+ '\ufdf2': 'Allāh' # See note 5
302
+
303
+ # Vowels, Diphthongs, and Diacritical Marks
304
+ '\u064e' : 'a' # َ fatha
305
+ '\u064e(?=\u0629)' : '' # َ fatha followed by ta' marboota
306
+ '\u064e(?=a[h|t])' : '' # َ fatha followed by ta' marboota, handling different order of conversion
307
+
308
+ '\u0652' : '' # ْ sokoon
309
+ '\u0659': 'ê'
310
+
311
+ '\u0650[\u064a|\u06cc]' : 'ī' # ـِي kasra followed by ي
312
+ '\u0650' : 'i' # karsra
313
+ '\u06d2' : 'e' # ـے
314
+
315
+ '\u0622' : 'ā' # آ
316
+ '\u064e\u0627' : 'ā' # ـَا fatha followed by ا
317
+ '\u0627' : 'ā' # ا
318
+ '\b\u0627' : '' # ا
319
+
320
+ '\u0648' : 'o' # و # suspect
321
+ '\u064f' : 'u' # ُ damma
322
+ '\u064f\u0648' : 'ū' # ـُو damma followed by و
323
+
324
+ '\u064e\u06d2' : 'ai' # ـے
325
+ '\u064e\u0648' : 'au' # ـَو
326
+ '\u0670': 'á' # ىٰ
327
+ '\u0649': 'á' # ىٰ
328
+
329
+ # shadda
330
+ '\u0628\u0651' : 'bb' # ب
331
+ '\u062a\u0651' : 'tt' # ت
332
+ '\u062b\u0651' : 'thth' # ث
333
+ '\u062c\u0651' : 'jj' # ج
334
+ '\u062d\u0651' : 'ẖẖ' # ح
335
+ '\u062e\u0651' : 'khkh' # خ
336
+ '\u062f\u0651' : 'dd' # د
337
+ '\u0630\u0651' : 'z̄z̄' # ذ
338
+ '\u0631\u0651' : 'rr' # ر
339
+ '\u0632\u0651' : 'zz' # ز
340
+ '\u0633\u0651' : 'ss' # س
341
+ '\u0634\u0651' : 'sh' # ش
342
+ '\u0635\u0651' : 'şş' # ص
343
+ '\u0636\u0651' : 'ḏḏ' # ض
344
+ '\u0637\u0651' : 'ţţ' # ط
345
+ '\u0638\u0651' : 'z̧z̧' # ظ
346
+ '\u063a\u0651' : 'ghgh' # غ
347
+ '\u0641\u0651' : 'ff' # ف
348
+ '\u0642\u0651' : 'qq' # ق
349
+ '\u0643\u0651' : 'kk' # ك
350
+ '\u0644\u0651' : 'll' # ل
351
+ '\u0645\u0651' : 'mm' # م
352
+ '\u0646\u0651' : 'nn' # ن
353
+ '\u0647\u0651' : 'hh' # ه
354
+ '\u0648\u0651' : 'ww' # و
355
+ '[\u064a|\u06cc]\u0651' : 'yy' # ي
356
+
357
+ # NOTE 1
358
+ '\u0650\b' : '-e' # ِ kasra
359
+ '\u0674' : '-e' # ٴ
360
+ '\u0654' : '-e' # ٔ
361
+
362
+ '\u0650\u064a\u0651\u064e' : 'īy' # ـِيَّ
363
+ '\u0650\u064a(?=\u064e|u064f)' : 'iy' # ـِي kasra followed by ي
364
+ '\u064e\u0649' : 'ay' # ـَى fatha followed by ى which is ا not ي
365
+ '\u064e\u0648\u0652' : 'aw' # ـَوْ
366
+ '\u064e\u064a\u0652' : 'ay' # ـَيْ
367
+ '\u0650\u06cc\u0651\u064e' : 'īy' # ـِيَّ
368
+ '\u064e\u064a' : 'aī' # ـَي
369
+ '\u064e\u06cc' : 'aī' # ـَي
370
+ # - '-ye'
371
+
372
+
373
+ # ta' marboota
374
+ '\u0629' : 'at' # ة in the middle of the sentence
375
+ '\u0629$' : 'ah'
376
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{2})\u0629' : 'ah'
377
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{3})\u0629' : 'ah'
378
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{4})\u0629' : 'ah'
379
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{5})\u0629' : 'ah'
380
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{6})\u0629' : 'ah'
381
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{7})\u0629' : 'ah'
382
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{8})\u0629' : 'ah'
383
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{9})\u0629' : 'ah'
384
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{10})\u0629' : 'ah'
385
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{11})\u0629' : 'ah'
386
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{12})\u0629' : 'ah'
387
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{13})\u0629' : 'ah'
388
+
389
+
390
+
391
+ '\u0621' : '’' # ء
392
+ '\u0624' : '’' # ؤ
393
+ '\u0624\b' : '’o' # ؤ
394
+ '\u0626' : '’' # ئ
395
+
396
+ '\u0623' : '' # أ
397
+ '\u0625' : '' # إ
398
+ # See note B
399
+ '\b\u0627\u0644' : 'al ' # ال
400
+ # '\uFE8E' : '' # ﺎ
401
+
402
+ # Sun letters
403
+ '\b\u0627\u0644\u062a' : 'at t' # الت
404
+ '\b\u0627\u0644\u062b' : 'as̄ s̄' # الث
405
+ '\b\u0627\u0644\u062f' : 'ad d' # الد
406
+ '\b\u0627\u0644\u0630' : 'az̄ z̄' # الذ
407
+ '\b\u0627\u0644\u0631' : 'ar r' # الر
408
+ '\b\u0627\u0644\u0632' : 'az z' # الز
409
+ '\b\u0627\u0644\u0633' : 'as s' # الس
410
+ '\b\u0627\u0644\u0634' : 'ash sh' # الش
411
+ '\b\u0627\u0644\u0635' : 'aş ş' # الص
412
+ '\b\u0627\u0644\u0636' : 'aẕ ẕ' # الض
413
+ '\b\u0627\u0644\u0637' : 'aţ ţ' # الط
414
+ '\b\u0627\u0644\u0638' : 'az̧ z̧' # الظ
415
+ '\b\u0627\u0644\u0644' : 'al l' # الل
416
+ '\b\u0627\u0644\u0646' : 'an n' # الن
417
+
418
+
419
+ # consonant characters
420
+
421
+ '\u0628' : 'b' # ب
422
+ '\u067E' : 'p' # پ
423
+ '\u062a' : 't' # ت
424
+ '\u0679' : 'ṭ' # ٹ
425
+ '\u062B' : 's̄' # ث
426
+ '\u062c' : 'j' # ج
427
+ '\u0686' : 'ch' # ‫چ‬
428
+ '\u062d' : 'ḩ' # ح
429
+ '\u062e' : 'kh' # خ
430
+ '\u062f' : 'd' # د
431
+ '\u0688' : 'ḍ' # ‫ڈ
432
+ '\u0630' : 'z̄' # ذ
433
+ '\u0631' : 'r' # ر
434
+ '\u0691' : 'ṛ' # ڑ
435
+ '\u0632' : 'z' # ز
436
+ '\u0698' : 'zh' # ‫ژ‬
437
+ '\u0633' : 's' # س
438
+ '\u0634' : 'sh' # ش
439
+ '\u0635' : 'ş' # ص
440
+ '\u0636' : 'ẕ' # ض
441
+ '\u0637' : 'ţ' # ط
442
+ '\u0638' : 'z̧' # ظ
443
+ '\u0639' : '‘' # ع
444
+ '\u063a' : 'gh' # غ
445
+ '\u0641' : 'f' # ف
446
+ '\u0642' : 'q' # ق
447
+ '\u0643' : 'k' # ك
448
+ '\u06A9' : 'k' # ک
449
+ '\u06AF' : 'g' # ‫گ‬
450
+ '\u0644' : 'l' # ل
451
+ '\u0645' : 'm' # م
452
+ '\u0646' : 'n' # ن
453
+ '\u06BA' : 'ñ' # ڼ
454
+ '[\u0647|\u06c1|\u06be]' : 'h' # ه
455
+ '\u0648' : 'w' # و
456
+ '[\u064a|\u06cc]' : 'y' # ي
457
+ # '\u0649' : 'y' # ي
458
+ '\u06D0' : 'ē' # ې
459
+ '\u06CD' : 'êy' # ‫ۍ‬