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,55 @@
1
+ ---
2
+ authority_id: iso
3
+ id: 15919-2001
4
+ language: iso-639-2:pli
5
+ source_script: Thai
6
+ destination_script: Latn
7
+ name: "Information and documentation — Transliteration of Devanagari and related Indic scripts into Latin characters"
8
+ url: https://www.chatranjali.fr/Scripts/Standards/ISO15919.pdf
9
+ creation_date: 2001
10
+ adoption_date: 2001
11
+ description: |
12
+ Script conversion is often required for documents such as historical and literary texts, geographical texts (including
13
+ maps and atlases), bibliographies, catalogues, lists and passports (and other identification documents).
14
+
15
+ Text in Devanagari script or other Indic scripts sometimes needs to be shown in Latin script, where users, or
16
+ equipment that they are using, cannot read or write the text
17
+
18
+ This International Standard applies to transliteration of Devanagari, and to Indic scripts related to Devanagari,
19
+ independent of the period in which it is or was used.
20
+
21
+ notes:
22
+
23
+ - All transliterations made using this International Standard shall be case-insensitive.
24
+ - If a character in an Indic script is defined in such a way as to be equivalent to another character in any
25
+ script, where the second character has a transliteration in this International Standard, then the first character shall
26
+ be transliterated in the same way as the second character.
27
+
28
+
29
+ tests:
30
+ - source: "โย กปฺปโกฏีหิปิ อปฺปเมยฺยํ;"
31
+ expected: "oy kp–̥pokṭīh̄ipi xp–̥pemy–̥ẙ;"
32
+ - source: "ตตฺถ ตํ วณฺณยิสฺสํ วินยนฺติ วุตฺตตฺตา วินโย ตาว ววตฺถเปตพฺโพฯ เตเนตํ วุจฺจติ"
33
+ expected: "tt–̥t̄h t̊ wṇ–̥ṇyis̄–̥s̄̊ winyn–̥ti wut–̥tt–̥tā winoy tāw wwt–̥t̄heptph–̥ophǂ etent̊ wuc–̥cti"
34
+ - source: "วุตฺตํ เยน ยทา ยสฺมา, ธาริตํ เยน จาภตํ; ยตฺถปฺปติฏฺฐิตเจตเมตํ วตฺวา วิธิํ ตโตฯ"
35
+ expected: "wut–̥t̊ eyn ythā ys̄–̥mā, ṭhārit̊ eyn cāp̣ht̊; yt–̥t̄hp–̥ptiṭ–̥ṭ̄hitectemt̊ wt–̥wā wiṭhi̊ totǂ"
36
+ - source: "เตนาติอาทิปาฐสฺส, อตฺถํ นานปฺปการโต; ทสฺสยนฺโต กริสฺสามิ, วินยสฺสตฺถวณฺณนนฺติฯ"
37
+ expected: "etnātixāthipāṭ̄hs̄–̥s̄, xt–̥t̄h̊ nānp–̥pkārot; ths̄–̥s̄yn–̥ot kris̄–̥s̄āmi, winys̄–̥s̄t–̥t̄hwṇ–̥ṇnn–̥tiǂ"
38
+ - source: "ยํนูนาหํ ธมฺมญฺจ วินยญฺจ สงฺคาเยยฺยํ, ยถยิทํ สาสนํ อทฺธนิยํ อสฺส จิรฏฺฐิติกํฯ"
39
+ expected: "ẙnūnāh̄̊ ṭhm–̥mỵ–̥c winyỵ–̥c s̄ng–̥khāeyy–̥ẙ, yt̄hyith̊ s̄ās̄n̊ xth–̥ṭhniẙ xs̄–̥s̄ cirṭ–̥ṭ̄hitik̊ǂ"
40
+ - source: "ธาเรสฺสสิ ปน เม ตฺวํ, กสฺสป, สาณานิ ปํสุกูลานิ นิพฺพสนานี’ติ วตฺวา จีวเร สาธารณปริโภเคน เจว"
41
+ expected: "ṭhāers̄–̥s̄s̄i pn em t–̥ẘ, ks̄–̥s̄p, s̄āṇāni p̊s̄ukūlāni niph–̥phs̄nānī’ti wt–̥wā cīwer s̄āṭhārṇpriop̣hekhn ecw"
42
+ - source: "อถ โข อายสฺมา มหากสฺสโป ภิกฺขู อามนฺเตสิ"
43
+ expected: "xt̄h ok̄h xāys̄–̥mā mh̄āks̄–̥s̄op p̣hik–̥k̄hū xāmn–̥ets̄i"
44
+ - source: "อกาโล โข, มาณวก, อตฺถิ เม อชฺช เภสชฺชมตฺตา ปีตา, อปฺเปว นาม สฺเวปิ อุปสงฺกเมยฺยามา"
45
+ expected: "xkāol ok̄h, māṇwk, xt–̥t̄hi em xch–̥ch ep̣hs̄ch–̥chmt–̥tā pītā, xp–̥epw nām s̄–̥ewpi xups̄ng–̥kemy–̥yāmā"
46
+ - source: "สฺเว สนฺนิปาโต, น โข ปน เมตํ ปติรูปํ ยฺวาหํ เสกฺโข สมาโน สนฺนิปาตํ คจฺเฉยฺย"
47
+ expected: "s̄–̥ew s̄n–̥nipāot, n ok̄h pn emt̊ ptirūp̊ y–̥wāh̄̊ es̄k–̥ok̄h s̄māon s̄n–̥nipāt̊ khc–̥ec̄hy–̥y"
48
+ - source: "สุณาตุ เม, ภนฺเต, สงฺโฆฯ ยทิ สงฺฆสฺส ปตฺตกลฺลํ, อหํ อายสฺมตา มหากสฺสเปน วินยํ ปุฏฺโฐ วิสฺสชฺเชยฺย"
49
+ expected: "s̄uṇātu em, p̣hn–̥et, s̄ng–̥oḳhǂ ythi s̄ng–̥ḳhs̄–̥s̄ pt–̥tkl–̥l̊, xh̄̊ xāys̄–̥mtā mh̄āks̄–̥s̄epn winẙ puṭ–̥oṭ̄h wis̄–̥s̄ch–̥echy–̥y"
50
+ - source: "สุณาตุ เม, อาวุโส, สงฺโฆฯ ยทิ สงฺฆสฺส ปตฺตกลฺลํ, อหํ อานนฺทํ ธมฺมํ ปุจฺเฉยฺย"
51
+ expected: "s̄uṇātu em, xāwuos̄, s̄ng–̥oḳhǂ ythi s̄ng–̥ḳhs̄–̥s̄ pt–̥tkl–̥l̊, xh̄̊ xānn–̥th̊ ṭhm–̥m̊ puc–̥ec̄hy–̥y"
52
+
53
+ map:
54
+
55
+ inherit: 'iso-tha-Thai-Latn-11940-1998'
@@ -0,0 +1,59 @@
1
+ ---
2
+ authority_id: iso
3
+ id: 15919-2001
4
+ language: iso-639-2:pra
5
+ source_script: Deva
6
+ destination_script: Latn
7
+ name: "Information and documentation — Transliteration of Devanagari and related Indic scripts into Latin characters"
8
+ url: https://www.chatranjali.fr/Scripts/Standards/ISO15919.pdf
9
+ creation_date: 2001
10
+ adoption_date: 2001
11
+ description: |
12
+ Script conversion is often required for documents such as historical and literary texts, geographical texts (including
13
+ maps and atlases), bibliographies, catalogues, lists and passports (and other identification documents).
14
+
15
+ Text in Devanagari script or other Indic scripts sometimes needs to be shown in Latin script, where users, or
16
+ equipment that they are using, cannot read or write the text
17
+
18
+ This International Standard applies to transliteration of Devanagari, and to Indic scripts related to Devanagari,
19
+ independent of the period in which it is or was used.
20
+
21
+ notes:
22
+
23
+ - All transliterations made using this International Standard shall be case-insensitive.
24
+ - Inherent a with a consonant shall always be transliterated.
25
+ - anusvara (including Vedic anusvara) shall be transliterated as ṁ
26
+ - candrabindu shall be transliterated as m̐
27
+ - When m̐, ṃ or ṁ are associated with a vowel, they shall be placed after the vowel. When m̐ is associated
28
+ with a semivowel, it shall be placed before the semivowel.
29
+ - Latin punctuation signs and Hindu-Arabic numerals shall remain unchanged in transliteration.
30
+ Indic punctuation is outside the scope of this International Standard.
31
+ - The Vedic accent Udatta shall be transliterated as an acute accent over the transliterated vowel, and the
32
+ independent Svarita as a grave accent over the transliterated vowel. In the case of the digraphs ai, au, the accent
33
+ shall be attached to the second vowel.
34
+ - |
35
+ A colon: before a Latin character shall be used to resolve ambiguity. Some normative cases are as
36
+ follows.
37
+ - :’ for avagraha in modern text. (The apostrophe in modern text remains unchanged in accordance with previous rule.
38
+
39
+ - If a character in an Indic script is defined in such a way as to be equivalent to another character in any
40
+ script, where the second character has a transliteration in this International Standard, then the first character shall
41
+ be transliterated in the same way as the second character.
42
+ - Where it is desired to show the Vedic accent Anudatta, it should be transliterated as an underscore. In the case of
43
+ the digraphs ai, au, both Latin vowels should be underscored.
44
+ Where word boundaries are not shown in the original text (as happens commonly in Sanskrit) and a word ends in a
45
+ consonant, the transliteration should show word division by a space; but when phonological processes result in two
46
+ words sharing a common vowel, no attempt should be made to separate them. This will require a good knowledge
47
+ of the language in question.
48
+
49
+
50
+ tests:
51
+ - source: "सृष्टिस्थितिविनाशानां शक्तिभूते सनातनि"
52
+ expected: "saṛṣaṭaisathaitaivainaāśaānaāṁ śakataibhaūtae sanaātanai"
53
+ - source: "गुणाश्रये गुणमये नारायणि नमोऽस्तु ते"
54
+ expected: "gauṇaāśarayae gauṇamayae naāraāyaṇai namao:’satau tae"
55
+ - source: "तेन समयेन बुद्धो भगवा सावत्थियं विहरति जेतवने अनाथपिण्डिकस्स आरामे"
56
+ expected: "taena samayaena baudadhao bhagavaā saāvatathaiyaṁ vaiharatai jaetavanae anaāthapaiṇaḍaikasasa āraāmae"
57
+ map:
58
+
59
+ inherit: iso-san-Deva-Latn-15919-2001
@@ -0,0 +1,366 @@
1
+ ---
2
+ authority_id: iso
3
+ id: 233-3
4
+ language: iso-233-3:prs
5
+ source_script: Arab
6
+ destination_script: Latn
7
+ name: Persian language — Simplified transliteration
8
+ url: https://web.archive.org/web/20200920064754/http://www.freeprotocols.org/content/republished/doc.public/standards/communication/iso/iso-233/iso-233-3.pdf
9
+ creation_date: 1999
10
+ confirmation_date: 1999-01-15
11
+ description: |
12
+ This part of ISO 233 is one of a series of International
13
+ Standards, dealing with the conversion of systems of
14
+ writing. The aim of this part of ISO 233 and others in the
15
+ series is to provide a means for international
16
+ communication of written messages in a form which permits
17
+ the automatic transmission and reconstitution of these, by
18
+ men or machines. The system of conversion, in this case,
19
+ must be univocal and entirely reversible. This means that
20
+ no consideration should be given to phonetic and aesthetic
21
+ matters or to certain national customs: all these
22
+ considerations are, indeed, ignored by the machine
23
+ performing the function. The adoption of this part of ISO
24
+ 233 for international communication leaves every country
25
+ free to adopt for its own use a national standard which may
26
+ be different, on condition that it is compatible with this
27
+ part of ISO 233. The system proposed herein should make
28
+ this possible and be acceptable to international use if the
29
+ graphisms it creates are such that they may be converted
30
+ automatically into the graphisms used in any strict
31
+ national systems. This part of ISO 233 may be used by
32
+ anyone who has a clear understanding of the system and is
33
+ certain that it can be applied without ambiguity. The
34
+ result obtained will not give a correct pronunciation of
35
+ the original text in a person’s own language, but it will
36
+ serve as a means of finding automatically the original
37
+ graphism and thus allow anyone who has knowledge of the
38
+ original language to pronounce it correctly. Similarly, one
39
+ can only pronounce correctly a text written in, for
40
+ example, English or Polish, if one has a knowledge of
41
+ English or Polish. The adoption of national standards
42
+ compatible with this part of ISO 233 will permit the
43
+ representation, in an international publication, of the
44
+ morphemes of each language according to the customs of the
45
+ country where it is spoken. It will be possible to simplify
46
+ this representation in order to take into account the
47
+ number of the character sets available on different kinds
48
+ of machines.
49
+ 1-Scope:
50
+ This part of ISO 233 establishes a simplified
51
+ system for the transliteration of Persian characters into
52
+ Latin characters. This simplification of the stringent
53
+ rules established by ISO 233:1984 is especially intended to
54
+ facilitate the processing of bibliographic information (
55
+ e.g. catalogues, indices, citations, etc.)
56
+ 2-Normative references:
57
+ The following normative documents contain
58
+ provisions which, though reference in this text, constitute
59
+ provisions of this part of ISO 233. For dated references,
60
+ subsequent amendments to, or revisions of, any of these
61
+ publications do not apply. However, parties to agreements
62
+ based on this part of ISO 233 are encouraged to investigate
63
+ the possibility of applying the most recent editions of the
64
+ normative documents indicated below. For undated
65
+ references, the latest edition of the normative document
66
+ referred to applies. Members of ISO and IEC maintain
67
+ registers of currently valid International StandardsISO 233-
68
+ 2, Information and documentation — Transliteration of
69
+ Arabic characters into Latin characters — Part 2: Arabic
70
+ language — Simplified transliteration. ISO/IEC 10646-1,
71
+ Information Technology — Universal Multiple-Octet Coded
72
+ Character Set (UCS) — Part 1: Architecture and Basic
73
+ Multilingual Plane.
74
+
75
+ notes: |
76
+ TODO
77
+
78
+ tests:
79
+ - source: آذَر
80
+ expected: âẕar
81
+
82
+ - source: سَم
83
+ expected: sam
84
+
85
+ - source: پُر
86
+ expected: por
87
+
88
+ - source: پِدَر
89
+ expected: pedar
90
+
91
+ - source: مَثَلاً
92
+ expected: mas̱alâ´´
93
+
94
+ - source: جزء
95
+ expected: jz’
96
+
97
+ - source: رأس
98
+ expected: râ’s
99
+
100
+ - source: سؤال
101
+ expected: sv’âl
102
+
103
+ - source: مسئلة
104
+ expected: msy’lh
105
+
106
+
107
+ map:
108
+ characters:
109
+
110
+ # word-medial or word-final form where so appearing in a word.
111
+ # '\u0627': '-'
112
+
113
+ # # Vowel, Diphthong and Diacritical Characters
114
+
115
+ # '\u064E': 'a'
116
+
117
+ # # Both e and i are available to romanize this short vowel,
118
+ # # depending on local usage and/or root language. In cases where the sound
119
+ # # is uncertain, i is the default romanization in BGN/PCGN standardization
120
+ # # procedures.
121
+ # '\u0650':
122
+ # - 'e'
123
+ # - 'i'
124
+
125
+ # # Both o and u are available to romanize this short vowel,
126
+ # # depending on local usage and/or root language. In cases where the sound
127
+ # # is uncertain, u is the default romanization in BGN/PCGN standardization
128
+ # # procedures.
129
+ # '\u064F':
130
+ # - 'o'
131
+ # - 'u'
132
+ # '\u0659': 'ê'
133
+
134
+ # # An alif with mad ( آ ) is written only in the initial position by
135
+ # # BGN/PCGN standardization procedures, in keeping with Persian language
136
+ # # family standards of use of the Arabic alphabet. The same letter written
137
+ # # in a medial or final position is written . . .
138
+ # '\u0622': 'ā'
139
+
140
+ # pending issue #442
141
+ # '\u0648': 'ō'
142
+ # '\u0648': 'ū'
143
+ # '\u0648': 'ow'
144
+ # '\u06CC': 'ī'
145
+
146
+ # # Or 'ē'. The character ی should be romanized ay or ē according to
147
+ # # its root language or local pronunciation. In case of uncertainty a
148
+ # # reference source (such as the Fairchild Aerial Surveys map series, or a
149
+ # # BGN/PCGN approved policy document/list of recommended spellings) should
150
+ # # be consulted.
151
+ # '\u06CC': 'ay'
152
+ # '\u06D0': 'ē'
153
+
154
+ # # Or 'aī'. Both the combination ay and aī are available to romanize
155
+ # # this character according to its root language or local pronunciation.
156
+ # # In cases where the sound is uncertain ay is the default romanization in
157
+ # # BGN/PCGN standardization procedures
158
+ # '\u06CC':
159
+ # - 'ay'
160
+ # - 'á'
161
+ # '\u06CD': 'êy'
162
+ # '\u0621': '’'
163
+ # '\u0674':
164
+ # - '-e'
165
+ # - '-ye'
166
+
167
+ # # Other Diacritical Marks and Language Conventions
168
+
169
+ # '\u0627': 'āy'
170
+
171
+ # '\u0648': 'w'
172
+ # '\u0626': '’'
173
+ # '\u06C0': ''
174
+ # '\u0651': ''
175
+
176
+
177
+ # special rules
178
+
179
+ '\s(?=\u0622\u0628\u064E\u0627\u062F)': '' # space followed by abad is removed
180
+ '\ufdf2': 'Allāh' # See note 5
181
+
182
+ # pointing
183
+ '\u064e' : 'a' # َ fatha
184
+
185
+ '\u0650':
186
+ - 'e'
187
+ - 'i'
188
+ '\u0650\b' : '-e' # ِ kasra
189
+
190
+ '\u064f': # ُ damma
191
+ - 'o'
192
+ - 'u'
193
+
194
+ '\u0652' : '' # ْ sokoon
195
+ '\u0659': 'ê'
196
+
197
+ # special pointed letters
198
+ '\u0639\u064e' : '‘a' # عَ
199
+ '\u0639\u0650' : '‘i' # عِ
200
+ '\u0639\u064f' : '‘ū' # عُ
201
+ # handle MacOS regex difference
202
+ '\u0639\u064f\u0648' : '‘ū' # عُو damma followed by و
203
+
204
+ '\u0650\u064a' : 'ī' # ـِي kasra followed by ي
205
+ '\u0650\u06cc' : 'ī' # ـِي kasra followed by ي
206
+ '\u0650\u064a\u0651\u064e' : 'īy' # ـِيَّ
207
+ '\u0650\u064a(?=\u064e|u064f)' : 'iy' # ـِي kasra followed by ي
208
+ '\u064f\u0648' : 'ō' # ـُو damma followed by و
209
+ '\u064e\u0627' : 'ā' # ـَا fatha followed by ا
210
+ '\u064e\u0649' : 'ay' # ـَى fatha followed by ى which is ا not ي
211
+ '\u064e\u0648\u0652' : 'aw' # ـَوْ
212
+ '\u064e\u0648' : 'ow' # ـَو
213
+ '\u064e\u064a\u0652' : 'ay' # ـَيْ
214
+ '\u0650\u06cc\u0651\u064e' : 'īy' # ـِيَّ
215
+ '\u064e\u064a' : 'aī' # ـَي
216
+ '\u064e\u06cc' : 'aī' # ـَي
217
+ '\u0649\u0670': 'á' # ىٰ
218
+ '\u0674': '-e' # ٴ
219
+ '\u0654': '-e' # ٔ
220
+ # - '-ye'
221
+
222
+ '\u0622' : 'â' # آ
223
+
224
+ # ta' marboota
225
+ '\u0629' : 't' # ة in the middle of the sentence
226
+ '\u0629$' : 'h'
227
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{2})\u0629' : 'h'
228
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{3})\u0629' : 'h'
229
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{4})\u0629' : 'h'
230
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{5})\u0629' : 'h'
231
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{6})\u0629' : 'h'
232
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{7})\u0629' : 'h'
233
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{8})\u0629' : 'h'
234
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{9})\u0629' : 'h'
235
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{10})\u0629' : 'h'
236
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{11})\u0629' : 'h'
237
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{12})\u0629' : 'h'
238
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{13})\u0629' : 'h'
239
+
240
+ # shadda
241
+ '\u0628' : 'bb' # ب
242
+ '\u067E' : 'pp' # پ
243
+ '\u062a' : 'tt' # ت
244
+ '\u062B' : 's̱s̱' # ث
245
+ '\u062c' : 'jj' # ج
246
+ '\u0686' : 'č̱č̱' # ‫چ‬‬
247
+ '\u062d' : 'ḥḥ' # ح
248
+ '\u062e' : 'ḵḵ' # خ
249
+ '\u062f' : 'dd' # د
250
+ '\u0689' : 'ḏḏ' # ‫ډ‬
251
+ '\u0630' : 'ẕẕ' # ذ
252
+ '\u0631' : 'rr' # ر
253
+ '\u0632' : 'zz' # ز
254
+ '\u0698' : 'zz' # ‫ژ‬
255
+ '\u0633' : 'ss' # س
256
+ '\u0634' : 'šš' # ش
257
+ '\u0635' : 'ṣṣ' # ص
258
+ '\u0636' : 'żż' # ض
259
+ '\u0637' : 'ṭṭ' # ط
260
+ '\u0638' : 'zz' # ظ
261
+ '\u0639' : '‘' # ع
262
+ '\u063a' : 'gh' # غ
263
+ '\u0641' : 'ff' # ف
264
+ '\u0642' : 'qq' # ق
265
+ '\u06A9' : 'kk' # ک
266
+ '\u06AF' : 'gg' # ‫گ‬
267
+ '\u0644' : 'll' # ل
268
+ '\u0645' : 'mm' # م
269
+ '\u0646' : 'nn' # ن
270
+ '\u0648' : 'vv' # و
271
+ '\u0647' : 'hh' # ه
272
+ '\u064a' : 'yy' # ي
273
+ '\u0649' : 'yy' # ي
274
+ '\u06D0' : 'ēē' # ې
275
+ '\u06CD' : 'êy' # ‫ۍ
276
+
277
+ # Tanvin
278
+ '\u064b': '´´' # ً
279
+ '\u064c': '' # ٌ
280
+ '\u064d': '' # ٍ
281
+
282
+ # hamzeh
283
+ '\u0621' : '’' # ء
284
+ '\u0623' : 'â’' # أ
285
+ '\u0624' : 'v’' # ؤ
286
+ '\u0626' : 'y’' # ئ
287
+
288
+ # punctuation
289
+
290
+ '\u060c' : ',' # vavak comma
291
+ '\u061b' : ';' # nogteh vavak semi column
292
+ '\u061f' : '?' # neshane-ye porsesh question mark
293
+
294
+ '\u0625' : '' # إ
295
+ '\u0627' : 'â' # ا
296
+
297
+ # See note B
298
+ '\b\u0627\u0644' : 'al ' # ال
299
+ # '\uFE8E' : '' # ﺎ
300
+
301
+ # Sun letters
302
+ '\b\u0627\u0644\u062a' : 'at t' # الت
303
+ '\b\u0627\u0644\u062b' : 'as̄ s̄' # الث
304
+ '\b\u0627\u0644\u062f' : 'ad d' # الد
305
+ '\b\u0627\u0644\u0630' : 'az̄ z̄' # الذ
306
+ '\b\u0627\u0644\u0631' : 'ar r' # الر
307
+ '\b\u0627\u0644\u0632' : 'az z' # الز
308
+ '\b\u0627\u0644\u0633' : 'as s' # الس
309
+ '\b\u0627\u0644\u0634' : 'ash sh' # الش
310
+ '\b\u0627\u0644\u0635' : 'aş ş' # الص
311
+ '\b\u0627\u0644\u0636' : 'aẕ ẕ' # الض
312
+ '\b\u0627\u0644\u0637' : 'aţ ţ' # الط
313
+ '\b\u0627\u0644\u0638' : 'az̧ z̧' # الظ
314
+ '\b\u0627\u0644\u0644' : 'al l' # الل
315
+ '\b\u0627\u0644\u0646' : 'an n' # الن
316
+
317
+ # consonant characters
318
+
319
+ '\u0628' : 'b' # ب
320
+ '\u067E': 'p' # پ
321
+ '\u062a' : 't' # ت
322
+ # '\u067C': 'ṯ' # ټ
323
+ '\u062B': 's̱' # ث
324
+ '\u062c' : 'j' # ج
325
+ '\u0686': 'c' # ‫چ‬
326
+
327
+ # # The variant form ج is seen infrequently and does not have a
328
+ # # single Unicode encoding.
329
+ # '\u0681': 'dz' # Note 2 # ‫ځ‬
330
+
331
+ # '\u0685': 'ts' # Note 2 # ‫څ
332
+
333
+ '\u062d' : 'ḥ' # ح
334
+ '\u062e' : 'ḵ' # خ
335
+ '\u062f' : 'd' # د
336
+ '\u0689' : 'ḏ' # ‫ډ‬
337
+ '\u0630' : 'ẕ' # ذ
338
+ '\u0631' : 'r' # ر
339
+ # '\u0693' : 'ṟ' # ړ
340
+ '\u0632' : 'z' # ز
341
+ '\u0698' : 'z' # ‫ژ‬
342
+ # '\u0696' : 'z͟h' # ږ
343
+ '\u0633' : 's' # س
344
+ # '\u069A' : 's͟h' # ښ
345
+ '\u0634' : 'š' # ش
346
+ '\u0635' : 'ṣ' # ص
347
+ '\u0636' : 'ż' # ض
348
+ '\u0637' : 'ṭ' # ط
349
+ '\u0638' : 'z' # ظ
350
+ '\u0639' : '‘' # ع
351
+ '\u063a' : 'gh' # غ
352
+ '\u0641' : 'f' # ف
353
+ '\u0642' : 'q' # ق
354
+ # '\u0643' : 'k' # ك
355
+ '\u06A9' : 'k' # ک
356
+ '\u06AF' : 'g' # ‫گ‬
357
+ '\u0644' : 'l' # ل
358
+ '\u0645' : 'm' # م
359
+ '\u0646' : 'n' # ن
360
+ # '\u06BC' : 'ṉ' # ڼ
361
+ '\u0648' : 'v' # و
362
+ '\u0647' : 'h' # ه
363
+ '\u064a' : 'y' # ي
364
+ '\u0649' : 'y' # ي
365
+ '\u06D0' : 'ē' # ې
366
+ '\u06CD' : 'êy' # ‫ۍ‬