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,157 @@
1
+ ---
2
+ authority_id: gost
3
+ id: 2002
4
+ language: iso-639-2:rus
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: GOST 7.79-2000 System of standards for information, librarianship and publishing. Rules for transliteration of Cyrillic letters in the Latin alphabet
8
+ url: https://gostexpert.ru/gost/gost-7.79-2000
9
+ creation_date: 2002
10
+ confirmation_date: 2002-02-12
11
+ adoption_date: 2002-02-12
12
+ description: |
13
+ This standard applies to the rules of transliteration by means of the Latin alphabet of individual letters,
14
+ words, expressions, as well as related texts in languages ​​whose writing is based on the Cyrillic alphabet.
15
+ The rules in accordance with this standard are applied wherever it is required to provide an unambiguous
16
+ representation of the Cyril text in Latin letters and the possibility of algorithmic recovery of the text
17
+ in the original Cyrillic notation, in particular when transferring documents over computer networks.
18
+ This standard does not apply to the rules for the transmission of the sound appearance of words written in
19
+ Cyrillic in Latin letters.
20
+
21
+ tests:
22
+ - source: адрес
23
+ expected: adres
24
+ - source: баба
25
+ expected: baba
26
+ - source: вы
27
+ expected: vy
28
+ - source: голова
29
+ expected: golova
30
+ - source: да
31
+ expected: da
32
+ - source: еда
33
+ expected: eda
34
+ - source: ёлка
35
+ expected: ëlka
36
+ - source: журнал
37
+ expected: žurnal
38
+ - source: звезда
39
+ expected: zvezda
40
+ - source: книга
41
+ expected: kniga
42
+ - source: первый
43
+ expected: pervyj
44
+ - source: как
45
+ expected: kak
46
+ - source: липа
47
+ expected: lipa
48
+ - source: муж
49
+ expected: muž
50
+ - source: нижний
51
+ expected: nižnij
52
+ - source: общество
53
+ expected: obŝestvo
54
+ - source: пара
55
+ expected: para
56
+ - source: рыба
57
+ expected: ryba
58
+ - source: сестра
59
+ expected: sestra
60
+ - source: товарищ
61
+ expected: tovariŝ
62
+ - source: утро
63
+ expected: utro
64
+ - source: физика
65
+ expected: fizika
66
+ - source: химический
67
+ expected: himičeskij
68
+ - source: центр
69
+ expected: centr
70
+ - source: часы
71
+ expected: časy
72
+ - source: школа
73
+ expected: škola
74
+ - source: щит
75
+ expected: ŝit
76
+ - source: съезд
77
+ expected: s"ezd
78
+ - source: был
79
+ expected: byl
80
+ - source: альбом
81
+ expected: al´bom
82
+ - source: это
83
+ expected: èto
84
+ - source: южный
85
+ expected: ûžnyj
86
+ - source: яма
87
+ expected: âma
88
+
89
+ map:
90
+ characters:
91
+ '\u0410' : 'A' # A
92
+ '\u0411' : 'B' # Б
93
+ '\u0412' : 'V' # B
94
+ '\u0413' : 'G' # Г
95
+ '\u0414' : 'D' # Д
96
+ '\u0415' : 'E' # Е
97
+ '\u0401' : "\u00CB" # Ё
98
+ '\u0416' : 'Ž' # Ж
99
+ '\u0417' : 'Z' # З
100
+ '\u0418' : "I" # И
101
+ '\u0419' : 'J' # Й
102
+ '\u041A' : 'K' # К
103
+ '\u041B' : 'L' # Л
104
+ '\u041C' : 'M' # М
105
+ '\u041D' : 'N' # Н
106
+ '\u041E' : 'O' # О
107
+ '\u041F' : 'P' # П
108
+ '\u0420' : 'R' # Р
109
+ '\u0421' : 'S' # С
110
+ '\u0422' : 'T' # Т
111
+ '\u0423' : 'U' # У
112
+ '\u0424' : 'F' # Ф
113
+ '\u0425' : 'H' # Х
114
+ '\u0426' : 'C' # Ц
115
+ '\u0427' : 'Č' # Ч
116
+ '\u0428' : 'Š' # Ш
117
+ '\u0429' : 'Ŝ' # Щ
118
+ '\u042a' : '"' # Ъ
119
+ '\u042B' : 'Y' # Ы
120
+ '\u042C' : "\u00B4" # Ь => ’
121
+ '\u042D' : "E\u0300" # Э => È
122
+ '\u042E' : 'Û' # Ю
123
+ '\u042F' : 'Â' # Я
124
+
125
+ '\u0430' : 'a' # а
126
+ '\u0431' : 'b' # б
127
+ '\u0432' : 'v' # в
128
+ '\u0433' : 'g' # г
129
+ '\u0434' : 'd' # д
130
+ '\u0435' : 'e' # е
131
+ '\u0451' : "\u00EB" # ё
132
+ '\u0436' : 'ž' # ж
133
+ '\u0437' : 'z' # з
134
+ '\u0438' : 'i' # и
135
+ '\u0439' : 'j' # й
136
+ '\u043A' : 'k' # к
137
+ '\u043B' : 'l' # л
138
+ '\u043C' : 'm' # м
139
+ '\u043D' : 'n' # н
140
+ '\u043E' : 'o' # о
141
+ '\u043F' : 'p' # п
142
+ '\u0440' : 'r' # р
143
+ '\u0441' : 's' # с
144
+ '\u0442' : 't' # т
145
+ '\u0443' : 'u' # у
146
+ '\u0444' : 'f' # ф
147
+ '\u0445' : 'h' # х
148
+ '\u0446' : 'c' # ц
149
+ '\u0447' : 'č' # ч
150
+ '\u0448' : 'š' # ш
151
+ '\u0449' : 'ŝ' # щ
152
+ '\u044A' : '"' # ъ
153
+ '\u044B' : 'y' # ы
154
+ '\u044C' : "\u00B4" # ь => ’
155
+ '\u044D' : "e\u0300" # э => è
156
+ '\u044E' : 'û' # ю
157
+ '\u044F' : 'â' # я
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: hk
3
3
  id: 1888
4
- language: yue
4
+ language: iso-639-3:yue
5
5
  source_script: Hani
6
6
  destination_script: Latn
7
7
  name: Hong Kong Government Cantonese Romanisation
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: bel
4
+ language: iso-639-2:bel
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Belorussian Cyrillic to Latin
@@ -134,8 +134,3 @@ map:
134
134
  "\u0457": "i" # ї
135
135
  "\u0453": "g" # ѓ
136
136
  "\u0456": "i" # і
137
-
138
-
139
-
140
-
141
-
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: bul
4
+ language: iso-639-2:bul
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Bulgarian Cyrillic to Latin
@@ -116,7 +116,3 @@ map:
116
116
  "\u0454": "ie" # є
117
117
  "\u0457": "i" # ї
118
118
  "\u0453": "g" # ѓ
119
-
120
-
121
-
122
-
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: per
4
+ language: iso-639-2:fas
5
5
  source_script: Arab
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Persian Arabic to Latin
@@ -101,4 +101,3 @@ map:
101
101
  "\u06D0": "Y" # ې
102
102
  "\u06D2": "XYB" # ے
103
103
  "\u06D3": "XBE" # ۓ
104
-
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: heb
4
+ language: iso-639-2:heb
5
5
  source_script: Hebr
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Hebrew to Latin
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: mkd
4
+ language: iso-639-2:mkd
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Macedonian Cyrillic to Latin
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: rus
4
+ language: iso-639-2:rus
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Russian Cyrillic to Latin
@@ -115,4 +115,3 @@ map:
115
115
  "\u0454": "ie" # є
116
116
  "\u0457": "i" # ї
117
117
  "\u0453": "g" # ѓ
118
-
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: srp
4
+ language: iso-639-2:srp
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Serbian Cyrillic to Latin
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: ukr
4
+ language: iso-639-2:ukr
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Ukranian Cyrillic to Latin
@@ -117,4 +117,3 @@ map:
117
117
  "\u0454": "ie" # є
118
118
  "\u0457": "i" # ї
119
119
  "\u0453": "g" # ѓ
120
-
@@ -0,0 +1,323 @@
1
+ ---
2
+ authority_id: iso
3
+ id: 233-1984
4
+ language: iso-639-2:ara
5
+ source_script: Arab
6
+ destination_script: Latn
7
+ name: ISO 233:1984 Documentation — Transliteration of Arabic characters into Latin characters
8
+ url:
9
+ - https://www.iso.org/standard/4117.html
10
+ - http://transliteration.eki.ee/pdf/Arabic_2.2.pdf
11
+ - http://www.eki.ee/wgrs/rom1_ar.pdf
12
+ creation_date: 1984
13
+ confirmation date: 2018-06
14
+ description: |
15
+ Is one of a series of International Standards dealing with
16
+ the conversion of systems of writing, following the
17
+ principles of stringent conversion in order to permit
18
+ international information exchange. Its aim is to provide a
19
+ means for international communication of written messages
20
+ in a form which permits the automatic transmission and
21
+ reconstitution of these by men or machines. Cancels and
22
+ replaces ISO Recommendation R 233-1961
23
+ notes:
24
+ - |
25
+ The transliteration ISO 233:1984 WRT ara-arab-latn-2017 gives every character and diacritical mark a unique
26
+ equivalent and e.g. long vowels in Arabic ā, ī and ū are consequently written a’, iy and uw
27
+ respectively in the ISO transliteration. Other main correspondences
28
+ ث is ṯ instead of th
29
+ ج is ǧ instead of j
30
+ ح is ḥ instead of ẖ
31
+ خ is ẖ instead of kh
32
+ ذ is ḏ instead of dh
33
+ ش is š instead of sh
34
+ ص is ṣ instead of s̱
35
+ ض is ḍ instead of ḏ
36
+ ط is ṭ instead of ṯ
37
+ ظ is ẓ instead of d͟h
38
+ غ is ġ instead of gh
39
+ ة is ẗ instead of h/t
40
+ ى is ỳ
41
+ ـِي is iy instead of iy
42
+ ـُو is uw instead of ū
43
+ ـَا is a’ instead of ā
44
+ ـَى is aỳ instead of á
45
+
46
+ tests:
47
+
48
+ - source: مِصر
49
+ expected: Miṣr
50
+
51
+ - source: قَطَر
52
+ expected: Qaṭar
53
+
54
+ - source: الجُمهُورِيَّة العِرَاقِيَّة
55
+ expected: Al Ǧumhuwriyaẗ al ‘Ira’qiyaẗ
56
+
57
+ - source: جُمهُورِيَّة مِصر العَرَبِيَّة
58
+ expected: Ǧumhuwriyaẗ Miṣr al ‘Arabiyaẗ
59
+
60
+ - source: الرِيَاض
61
+ expected: Ar Riya’ḍ
62
+
63
+ - source: الشارِقة
64
+ expected: Aš Šâriqaẗ
65
+
66
+ map:
67
+ postrules:
68
+ - pattern: (?<=\b)(?<!\b[‘|’|'])[\u0061-\uFFFF]
69
+ result: "upcase"
70
+ # don't capitalize defined article in the middle of a sentence
71
+ - pattern : ' At T' # الت
72
+ result: ' at T'
73
+ - pattern : ' Aṯ Ṯ' # الث
74
+ result: ' aṯ Ṯ'
75
+ - pattern : ' Ad D' # الد
76
+ result: ' ad D'
77
+ - pattern : ' Aḏ Ḏ' # الذ
78
+ result: ' aḏ Ḏ'
79
+ - pattern : ' Ar R' # الر
80
+ result: ' ar R'
81
+ - pattern : ' Az Z' # الز
82
+ result: ' az Z'
83
+ - pattern : ' As S' # الس
84
+ result: ' as S'
85
+ - pattern : ' Aš Š' # الش
86
+ result: ' aš Š'
87
+ - pattern : ' Aṣ Ṣ' # الص
88
+ result: ' aṣ Ṣ'
89
+ - pattern : ' Aḍ Ḍ' # الض
90
+ result: ' aḍ Ḍ'
91
+ - pattern : ' Aṭ Ṭ' # الط
92
+ result: ' aṭ Ṭ'
93
+ - pattern : ' Aẓ Ẓ' # الظ
94
+ result: ' aẓ Ẓ'
95
+ - pattern : ' Al L' # الل
96
+ result: ' al L'
97
+ - pattern : ' An N' # الن
98
+ result: ' an N'
99
+ - pattern: " Al " # ال
100
+ result: " al "
101
+
102
+ characters:
103
+
104
+ # pointing
105
+ '\u064e' : 'a' # َ fatha
106
+ '\u064e(?=\u0629)' : '' # َ fatha followed by ta' marboota
107
+ '\u0650' : 'i' # ِ kasra
108
+ '\u064f' : 'u' # ُ damma
109
+ '\u0652' : '' # ْ sokoon, see note A below
110
+
111
+ # special pointed letters
112
+ # special pointed letters
113
+ '\u0639\u064e' : '‘a' # عَ
114
+ '\u0639\u0650' : '‘i' # عِ
115
+ '\u0639\u064f' : '‘ū' # عُ
116
+ # handle MacOS regex difference
117
+ '\u0639\u064f\u0648' : '‘ū' # عُو damma followed by و
118
+
119
+ '\u0650\u064a' : 'iy' # ـِي kasra followed by ي
120
+ '\u0650\u064a\u0651\u064e' : 'iy' # ـِيَّ
121
+ '\u0650\u064a(?=\u064e|u064f)' : 'iy' # ـِي kasra followed by ي
122
+ '\u064e\u0627' : 'a’' # ـَا fatha followed by ا
123
+ '\u064e\u0649' : 'aỳ' # ـَى fatha followed by ى which is ا not ي
124
+ '\u064f\u0648' : 'uw' # ـُو damma followed by و
125
+ '\u064e\u0648\u0652' : 'aw' # ـَوْ
126
+ '\u064e\u064a\u0652' : 'ay' # ـَيْ
127
+
128
+ # Sun letters
129
+
130
+ '\b\u0627\u0644\u062a' : 'at t' # الت
131
+ '\b\u0627\u0644\u062b' : 'aṯ ṯ' # الث
132
+ '\b\u0627\u0644\u062f' : 'ad d' # الد
133
+ '\b\u0627\u0644\u0630' : 'aḏ ḏ' # الذ
134
+ '\b\u0627\u0644\u0631' : 'ar r' # الر
135
+ '\b\u0627\u0644\u0632' : 'az z' # الز
136
+ '\b\u0627\u0644\u0633' : 'as s' # الس
137
+ '\b\u0627\u0644\u0634' : 'aš š' # الش
138
+ '\b\u0627\u0644\u0635' : 'aṣ ṣ' # الص
139
+ '\b\u0627\u0644\u0636' : 'aḍ ḍ' # الض
140
+ '\b\u0627\u0644\u0637' : 'aṭ ṭ' # الط
141
+ '\b\u0627\u0644\u0638' : 'aẓ ẓ' # الظ
142
+ '\b\u0627\u0644\u0644' : 'al l' # الل
143
+ '\b\u0627\u0644\u0646' : 'an n' # الن
144
+
145
+ # ta' marboota in iso-233-1984 is all the same `aẗ`
146
+ '\u0629' : 'aẗ' # ة in the middle of the sentence
147
+
148
+ # Shadda
149
+
150
+
151
+ '\u0628\u0651' : 'bb' # ب
152
+ '\u062a\u0651' : 'tt' # ت
153
+ '\u062b\u0651' : 'ṯṯ' # ث
154
+ '\u062c\u0651' : 'ǧǧ' # ج
155
+ '\u062d\u0651' : 'ḥḥ' # ح
156
+ '\u062e\u0651' : 'ẖẖ' # خ
157
+ '\u062f\u0651' : 'dd' # د
158
+ '\u0630\u0651' : 'ḏḏ' # ذ
159
+ '\u0631\u0651' : 'rr' # ر
160
+ '\u0632\u0651' : 'zz' # ز
161
+ '\u0633\u0651' : 'ss' # س
162
+ '\u0634\u0651' : 'šš' # ش
163
+ '\u0635\u0651' : 'ṣṣ' # ص
164
+ '\u0636\u0651' : 'ḍḍ' # ض
165
+ '\u0637\u0651' : 'ṭṭ' # ط
166
+ '\u0638\u0651' : 'ẓẓ' # ظ
167
+ '\u063a\u0651' : 'ġġ' # غ
168
+ '\u0641\u0651' : 'ff' # ف
169
+ '\u0642\u0651' : 'qq' # ق
170
+ '\u0643\u0651' : 'kk' # ك
171
+ '\u0644\u0651' : 'll' # ل
172
+ '\u0645\u0651' : 'mm' # م
173
+ '\u0646\u0651' : 'nn' # ن
174
+ '\u0647\u0651' : 'hh' # ه
175
+ '\u0648\u0651' : 'ww' # و
176
+ '\u064a\u0651' : 'yy' # ي
177
+
178
+
179
+ '\u0622' : '’â' # آ
180
+
181
+ '\u0627' : 'â' # ا
182
+
183
+ '\u0649' : 'ỳ' # ى
184
+
185
+ '\u0626' : "'" # ئ
186
+
187
+
188
+ '\u0621' : # ء
189
+ - '’'
190
+ - '' # see note A
191
+
192
+ '\u0623' : 'a' # أ
193
+
194
+ # See note B
195
+ '\b\u0627\u0644' : 'al ' # ال
196
+ # '\uFE8E' : '' # ﺎ
197
+
198
+ '\u0628' : 'b' # ب
199
+ '\uFE91' : 'b' # ﺑ
200
+ '\uFE92' : 'b' # ﺒ
201
+ '\uFE90' : 'b' # ﺐ
202
+
203
+ # See note C
204
+ '\u062a' : 't' # ت
205
+ '\ufe97' : 't' # ﺗ
206
+ '\ufe98' : 't' # ﺘ
207
+ '\ufe96' : 't' # ﺖ
208
+
209
+ '\u062b' : 'ṯ' # ث
210
+ '\ufe9b' : 'ṯ' # ﺛ
211
+ '\ufe9c' : 'ṯ' # ﺜ
212
+ '\ufe9a' : 'ṯ' # ﺚ
213
+
214
+ '\u062c' : 'ǧ' # ج
215
+ '\ufe9f' : 'ǧ' # ﺟ
216
+ '\ufea0' : 'ǧ' # ﺠ
217
+ '\ufe9e' : 'ǧ' # ﺞ
218
+
219
+ '\u062d' : 'ḥ' # ح
220
+ '\ufea3' : 'ḥ' # ﺣ
221
+ '\ufea4' : 'ḥ' # ﺤ
222
+ '\ufea2' : 'ḥ' # ﺢ
223
+
224
+ '\u062e' : 'ẖ' # خ
225
+ '\ufea7' : 'ẖ' # ﺧ
226
+ '\ufea8' : 'ẖ' # ﺨ
227
+ '\ufea6' : 'ẖ' # ﺦ
228
+
229
+ '\u062f' : 'd' # د
230
+ '\ufeaa' : 'd' # ﺪ
231
+
232
+ '\u0630' : 'ḏ' # ذ
233
+ '\ufeac' : 'ḏ' # ﺬ
234
+
235
+ '\u0631' : 'r' # ر
236
+ '\ufeae' : 'r' # ﺮ
237
+
238
+ '\u0632' : 'z' # ز
239
+ '\ufeb0' : 'z' # ﺰ
240
+
241
+ '\u0633' : 's' # س
242
+ '\ufeb3' : 's' # ﺳ
243
+ '\ufeb4' : 's' # ﺴ
244
+ '\ufeb2' : 's' # ﺲ
245
+
246
+ '\u0634' : 'š' # ش
247
+ '\ufeb7' : 'š' # ﺷ
248
+ '\ufeb8' : 'š' # ﺸ
249
+ '\ufeb6' : 'š' # ﺶ
250
+
251
+ '\u0635' : 'ṣ' # ص
252
+ '\ufebb' : 'ṣ' # ﺻ
253
+ '\ufebc' : 'ṣ' # ﺼ
254
+ '\ufeba' : 'ṣ' # ﺺ
255
+
256
+ '\u0636' : 'ḍ' # ض
257
+ '\ufebf' : 'ḍ' # ﺿ
258
+ '\ufec0' : 'ḍ' # ﻀ
259
+ '\ufebe' : 'ḍ' # ﺾ
260
+
261
+ '\u0637' : 'ṭ' # ط
262
+ '\ufec3' : 'ṭ' # ﻃ
263
+ '\ufec4' : 'ṭ' # ﻄ
264
+ '\ufec2' : 'ṭ' # ﻂ
265
+
266
+ '\u0638' : 'ẓ' # ظ
267
+ '\ufec7' : 'ẓ' # ﻇ
268
+ '\ufec8' : 'ẓ' # ﻈ
269
+ '\ufec6' : 'ẓ' # ﻆ
270
+
271
+ '\u0639' : '‘' # ع
272
+ '\ufecb' : '‘' # ﻋ
273
+ '\ufecc' : '‘' # ﻌ
274
+ '\ufeca' : '‘' # ﻊ
275
+
276
+ '\u063a' : 'ġ' # غ
277
+ '\ufecf' : 'ġ' # ﻏ
278
+ '\ufed0' : 'ġ' # ﻐ
279
+ '\ufece' : 'ġ' # ﻎ
280
+
281
+ '\u0641' : 'f' # ف
282
+ '\ufed3' : 'f' # ﻓ
283
+ '\ufed4' : 'f' # ﻔ
284
+ '\ufed2' : 'f' # ﻒ
285
+
286
+ '\u0642' : 'q' # ق
287
+ '\ufed7' : 'q' # ﻗ
288
+ '\ufed8' : 'q' # ﻘ
289
+ '\ufed6' : 'q' # ﻖ
290
+
291
+ '\u0643' : 'k' # ك
292
+ '\ufedb' : 'k' # ﻛ
293
+ '\ufedc' : 'k' # ﻜ
294
+ '\ufeda' : 'k' # ﻚ
295
+
296
+ '\u0644' : 'l' # ل
297
+ '\ufedf' : 'l' # ﻟ
298
+ '\ufee0' : 'l' # ﻠ
299
+ '\ufede' : 'l' # ﻞ
300
+
301
+ '\u0645' : 'm' # م
302
+ '\ufee3' : 'm' # ﻣ
303
+ '\ufee4' : 'm' # ﻤ
304
+ '\ufee2' : 'm' # ﻢ
305
+
306
+ '\u0646' : 'n' # ن
307
+ '\ufee7' : 'n' # ﻧ
308
+ '\ufee8' : 'n' # ﻨ
309
+ '\ufee6' : 'n' # ﻦ
310
+
311
+ # See note C
312
+ '\u0647' : 'h' # ه
313
+ '\ufeeb' : 'h' # ﻫ
314
+ '\ufeec' : 'h' # ﻬ
315
+ '\ufeea' : 'h' # ﻪ
316
+
317
+ '\u0648' : 'w' # و
318
+ '\ufeee' : 'w' # ﻮ
319
+
320
+ '\u064a' : 'y' # ي
321
+ '\ufef3' : 'y' # ﻳ
322
+ '\ufef4' : 'y' # ﻴ
323
+ '\ufef1' : 'y' # ﻱ