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,196 @@
1
+ require "onigmo"
2
+ require "onigmo/core_ext"
3
+
4
+ # Increase this if there are out-of-memory errors. This setting is
5
+ # tested to be big enough to handle all the maps provided.
6
+ Onigmo::FFI.library.memory.grow(128)
7
+
8
+ module Interscript
9
+ module Opal
10
+ def mkregexp(regexpstring)
11
+ @cache ||= {}
12
+ if s = @cache[regexpstring]
13
+ s
14
+ else
15
+ # JS regexp is more performant than Onigmo. Let's use the JS
16
+ # regexp wherever possible, but use Onigmo where we must.
17
+ # Let's allow those characters to happen for the regexp to be
18
+ # considered compatible: ()|.*+?{} ** BUT NOT (? **.
19
+ if /[\\$^\[\]]|\(\?/.match?(regexpstring)
20
+ # Ruby caches its regexps internally. We can't GC. We could
21
+ # think about freeing them, but we really can't, because they
22
+ # may be in use.
23
+
24
+ # Uncomment those to keep track of Onigmo/JS regexp compilation.
25
+ # print '#'
26
+ @cache[regexpstring] = Onigmo::Regexp.new(regexpstring)
27
+ else
28
+ # print '.'
29
+ @cache[regexpstring] = Regexp.new(regexpstring)
30
+ end
31
+ end
32
+ end
33
+
34
+ def sub_replace(string, pos, size, repl)
35
+ string[0, pos] + repl + string[pos + size..-1]
36
+ end
37
+
38
+ def external_processing(mapping, string)
39
+ string
40
+ end
41
+
42
+ def load_map_json(_, json)
43
+ json = Hash.new(json) if native? json
44
+ json = JSON.load(json) if String === json
45
+ json.each do |k,v|
46
+ `Opal.global.InterscriptMaps[#{k}] = #{JSON.dump(v)}`
47
+ end
48
+ end
49
+
50
+ # Use #on_load_maps if possible. It will be available earlier.
51
+ # See lib/interscript/opal/entrypoint.rb
52
+ def load_maps(opts, &block)
53
+ # Convert arg
54
+ opts = Hash.new(opts) if native? opts
55
+
56
+ defaults = {
57
+ maps: [],
58
+ path: nil,
59
+ node_path: "./maps/",
60
+ ajax_path: "maps/",
61
+ loader: nil,
62
+ processor: proc { |i| i },
63
+ }
64
+
65
+ opts = defaults.merge opts
66
+ opts[:maps] = Array(opts[:maps])
67
+
68
+ %x{
69
+ var ajax_loader = function(map) {
70
+ return new Promise(function(ok, fail) {
71
+ var httpRequest = new XMLHttpRequest();
72
+ httpRequest.onreadystatechange = function() {
73
+ if (httpRequest.readyState === XMLHttpRequest.DONE) {
74
+ if (httpRequest.responseText) {
75
+ ok(JSON.parse(httpRequest.responseText));
76
+ }
77
+ else {
78
+ if (is_local) {
79
+ console.log(httpRequest.responseText);
80
+ fail("Ajax failed load: "+map+". Status: "+httpRequest.statusText+". "+
81
+ "Are you running this locally? Try adding: "+
82
+ "--allow-file-access-from-files to your Chromium command line.")
83
+ }
84
+ else fail("Ajax failed load: "+map+". Status: "+httpRequest.statusText);
85
+ }
86
+ }
87
+ };
88
+ httpRequest.open('GET', #{opts[:path] || opts[:ajax_path]}+map+".json", true);
89
+ httpRequest.send();
90
+ });
91
+ };
92
+
93
+ var fetch_loader = function(map) {
94
+ return fetch(#{opts[:path] || opts[:ajax_path]}+map+".json").then(function(response) {
95
+ return response.json();
96
+ });
97
+ };
98
+
99
+ var node_loader = function(map) {
100
+ var resolve = null, error = null;
101
+ var prom = new Promise(function(ok, fail) {
102
+ resolve = ok;
103
+ error = fail;
104
+ });
105
+ try {
106
+ var node_require = eval("require");
107
+ var data = node_require(#{opts[:path] || opts[:node_path]}+map+'.json');
108
+ resolve(data);
109
+ }
110
+ catch(e) {
111
+ error("Node failed load: "+map+". Error: "+e);
112
+ }
113
+ return prom;
114
+ };
115
+
116
+ var is_local = false;
117
+ if (typeof document !== "undefined" &&
118
+ typeof document.location !== "undefined" &&
119
+ typeof document.location.protocol !== "undefined") {
120
+ is_local = document.location.protocol == "file:";
121
+ }
122
+
123
+ var loader = function(map) {
124
+ if (#{opts[:loader] != nil}) {
125
+ return #{opts[:loader]}(#{opts[:path]}+map+'.json').then(#{opts[:processor]});
126
+ }
127
+ else if (typeof window !== "undefined") {
128
+ return ajax_loader(map);
129
+ }
130
+ else if (typeof global !== "undefined") {
131
+ return node_loader(map);
132
+ }
133
+ else if (!is_local && typeof fetch === "function") {
134
+ return fetch_loader(map);
135
+ }
136
+ else {
137
+ #{raise StandardError, "We couldn't find a good way to load a map"}
138
+ }
139
+ };
140
+ }
141
+
142
+ prom = `new Promise(function(ok, fail) {
143
+ #{
144
+ maps = opts[:maps]
145
+ maps = maps.map { |i| map_resolve i }
146
+ maps = maps.reject { |i| map_loaded? i }
147
+ #p ["Loading:", maps]
148
+ maps = maps.map do |i|
149
+ `loader(#{i})`.JS.then do |map|
150
+ load_map_json(nil, map)
151
+
152
+ m = Native(map)
153
+ inherits = []
154
+ m.each do |mapname, mapvalue|
155
+ inherits += Array(Native(mapvalue)[:map][:inherit])
156
+ inherits += Array(Native(mapvalue)[:chain])
157
+ end
158
+ inherits = inherits.uniq
159
+ inherits = inherits.reject { |i| map_loaded? i }
160
+
161
+ load_maps(opts.merge({maps: inherits})) unless inherits.empty?
162
+ end.JS.catch do |response|
163
+ `fail(#{response})`
164
+ end
165
+ end
166
+ }
167
+ Promise.all(#{maps}).then(ok).catch(fail);
168
+ })`
169
+
170
+ if block_given?
171
+ prom.JS.then(block)
172
+ else
173
+ prom
174
+ end
175
+ end
176
+
177
+ def aliases
178
+ @aliases ||= Hash.new(`Opal.global.InterscriptMapAliases`)
179
+ end
180
+
181
+ def map_exist?(map)
182
+ `typeof(Opal.global.InterscriptMaps[#{map}]) !== 'undefined'`
183
+ end
184
+
185
+ def map_loaded?(map)
186
+ `!!Opal.global.InterscriptMaps[#{map}]`
187
+ end
188
+ end
189
+ end
190
+
191
+ class String
192
+ # Opal has a wrong implementation of String#unicode_normalize
193
+ def unicode_normalize
194
+ self.JS.normalize
195
+ end
196
+ end
@@ -0,0 +1,20 @@
1
+ require "opal"
2
+ require "interscript/opal/maps"
3
+ require "onigmo/onigmo-wasm"
4
+
5
+ module Interscript
6
+ def self.on_load(&block)
7
+ WebAssembly.wait_for("onigmo/onigmo-wasm", &block)
8
+ end
9
+
10
+ # on_load + load_maps
11
+ def self.on_load_maps(arg, &block)
12
+ self.on_load.JS.then do
13
+ self.load_maps(arg, &block)
14
+ end
15
+ end
16
+ end
17
+
18
+ Interscript.on_load do
19
+ require "interscript"
20
+ end
@@ -0,0 +1,11 @@
1
+ # Exports - the methods used publically. Listed so that
2
+ # opal-optimizer will know the methods it needs to preserve.
3
+
4
+ Interscript.on_load
5
+ Interscript.on_load_maps
6
+ Interscript.load_maps
7
+ Interscript.load_map_json
8
+ Interscript.transliterate
9
+
10
+ # TODO: Fix handling of "ord".$to_proc() in opal-optimizer
11
+ "a".ord
@@ -0,0 +1,8 @@
1
+ <%# A placeholder for the maps to be loaded %>
2
+ Opal.global.InterscriptMaps = {
3
+ <% Dir['maps/*.yaml'].each do |yaml_file| %>
4
+ "<%= File.basename(yaml_file, ".yaml") %>": null,
5
+ <% end %>
6
+ };
7
+
8
+ Opal.global.InterscriptMapAliases = <%= File.read('aliases.json') %>;
@@ -1,3 +1,3 @@
1
1
  module Interscript
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.9"
3
3
  end
@@ -1,11 +1,15 @@
1
1
  ---
2
2
  authority_id: acadsin
3
3
  id: 2002
4
- language: zho
4
+ language: iso-639-2:zho
5
5
  source_script: Hani
6
6
  destination_script: Latn
7
7
  name: Chinese Tongyong Pinyin Academica Sinica 2002 System
8
- url:
8
+ alias:
9
+ ogc11122:
10
+ code: zho_Hani2Latn_AcadSin_2002
11
+ description: Chinese Tongyong Pinyin Academica Sinica 2002 System
12
+ url:
9
13
  description: Chinese Tongyong Pinyin Academica Sinica 2002 System
10
14
 
11
15
  tests:
@@ -0,0 +1,513 @@
1
+ ---
2
+ authority_id: alalc
3
+ id: 1997
4
+ language: iso-639-2:amh
5
+ source_script: Ethi
6
+ destination_script: Latn
7
+ name: ALA-LC Romanization Table -- Amharic (1997)
8
+ alias:
9
+ ogc11122:
10
+ code: amh_Ethi2Latn_ALA_1997
11
+ description: Amharic ALA-Library of Congress 1997 System
12
+ url: http://catdir.loc.gov/catdir/cpso/romanization/amharic.pdf
13
+ creation_date: 1997
14
+ description: |
15
+ ALA-LC Romanization Tables: Transliteration Schemes for Non-Roman Scripts. Randal K. Berry (ed.). Library of Congress, 1997.
16
+
17
+ notes:
18
+ - The Ethiopic script used for Amharic is also used for other languages, including Ge’ez, Argobba, Gurage, and Tigre. Ge’ez, which is chiefly a liturgical language, uses only 26 basic letter forms from this table.
19
+
20
+ tests:
21
+ - source: የዜግነት ክብር በ ኢትዮጵያችን ጸንቶ
22
+ expected: yazégenate kebere ba ʼiteyop̣eyāčene ṣaneto
23
+ - source: ታየ ሕዝባዊነት ዳር እስከዳር በርቶ
24
+ expected: tāya ḥezebāwinate dāre ʼesekadāre bareto
25
+ - source: ለሰላም ለፍትህ ለሕዝቦች ነጻነት
26
+ expected: lasalāme lafetehe laḥezeboče naṣānate
27
+ - source: በእኩልነት በፍቅር ቆመናል ባንድነት
28
+ expected: baʼekulenate bafeqere qomanāle bānedenate
29
+ - source: መሠረተ ፅኑ ሰብዕናን ያልሻርን
30
+ expected: maśarata ṡenu sabeʻenāne yālešārene
31
+ - source: ሕዝቦች ነን ለሥራ በሥራ የኖርን
32
+ expected: ḥezeboče nane laśerā baśerā yanorene
33
+ - source: ድንቅ የባህል መድረክ ያኩሪ ቅርስ ባለቤት
34
+ expected: deneqe yabāhele maderake yākuri qerese bālabéte
35
+ - source: የተፈጥሮ ጸጋ የጀግና ሕዝብ እናት
36
+ expected: yatafaṭero ṣagā yaǧagenā ḥezebe ʼenāte
37
+ - source: እንጠብቅሻለን አለብን አደራ
38
+ expected: ʼeneṭabeqešālane ʼalabene ʼadarā
39
+ - source: ኢትዮጵያችን ኑሪ እኛም ባንቺ እንኩራ
40
+ expected: ʼiteyop̣eyāčene nuri ʼeñāme bāneči ʼenekurā
41
+ - source: ቋንቋ የድምጽ፣ የምልክት ወይም የምስል ቅንብር ሆኖ
42
+ expected: qwāneqwā yademeṣe፣ yamelekete wayeme yamesele qenebere hono
43
+ - source: ለማሰብ ወይም የታሰበን ሃሳብ ለሌላ ለማስተላለፍ የሚረዳ መሳሪያ ነው
44
+ expected: lamāsabe wayeme yatāsabane hāsābe lalélā lamāsetalālafe yamiradā masāriyā nawe
45
+ - source: በአጭሩ ቋንቋ የምልክቶች ስርዓትና እኒህን ምልክቶች ለማቀናበር
46
+ expected: baʼaċeru qwāneqwā yameleketoče sereʻātenā ʼenihene meleketoče lamāqanābare
47
+ - source: የሚያስፈልጉ ህጎች ጥንቅር ነው። ቋንቋወችን ለመፈረጅ እንዲሁም
48
+ expected: yamiyāsefalegu hegoče ṭeneqere nawe። qwāneqwāwačene lamafaraǧe ʼenedihume
49
+ - source: ለምክፈል የሚያስችሉ መስፈርቶችን ለማስቀመጥ ባለው ችግር
50
+ expected: lamekefale yamiyāsečelu masefaretočene lamāseqamaṭe bālawe čegere
51
+ - source: ምክንያት በአሁኑ ሰዓት በርግጠኝነት ስንት ቋንቋ በዓለም ላይ
52
+ expected: mekeneyāte baʼahunu saʻāte baregeṭañenate senete qwāneqwā baʻālame lāye
53
+ - source: እንዳለ ማወቅ አስቸጋሪ ነው
54
+ expected: ʼenedāla māwaqe ʼasečagāri nawe
55
+ - source: አሰላ
56
+ expected: ʼasalā
57
+ - source: አሶሳ
58
+ expected: ʼasosā
59
+ - source: አንኮበር
60
+ expected: ʼanekobare
61
+ - source: አክሱም
62
+ expected: ʼakesume
63
+ - source: አዋሳ
64
+ expected: ʼawāsā
65
+ - source: አዲስ ዘመን (ከተማ)
66
+ expected: ʼadise zamane (katamā)
67
+ - source: አዲግራት
68
+ expected: ʼadigerāte
69
+ - source: አዳማ
70
+ expected: ʼadāmā
71
+ - source: ደምበጫ
72
+ expected: damebaċā
73
+ - source: ደርባ
74
+ expected: darebā
75
+ - source: ደብረ ማርቆስ
76
+ expected: dabera māreqose
77
+ - source: ደብረ ብርሃን
78
+ expected: dabera berehāne
79
+ - source: ደብረ ታቦር (ከተማ)
80
+ expected: dabera tābore (katamā)
81
+ - source: ደብረ ዘይት
82
+ expected: dabera zayete
83
+ - source: ደገሃቡር
84
+ expected: dagahābure
85
+ - source: ወልቂጤ
86
+ expected: waleqiṭé
87
+ - source: ወልወል
88
+ expected: walewale
89
+ - source: ወልደያ
90
+ expected: waledayā
91
+ - source: ናይሎ ሳህራን
92
+ expected: nāyelo sāherāne
93
+ - source: አኙዋክኛ
94
+ expected: ʼañuwākeñā
95
+ - source: ኡዱክኛ
96
+ expected: ʼudukeñā
97
+ - source: ኦፓኛ
98
+ expected: ʼopāñā
99
+ - source: ጉምዝኛ
100
+ expected: gumezeñā
101
+ - source: አፋርኛ
102
+ expected: ʼafāreñā
103
+ - source: አላባኛ
104
+ expected: ʼalābāñā
105
+ - source: አርቦርኛ
106
+ expected: ʼareboreñā
107
+ - source: ባይሶኛ
108
+ expected: bāyesoñā
109
+ - source: ቡሳኛ
110
+ expected: busāñā
111
+ - source: ራስ ዓሊ (ትልቁ) ፬
112
+ expected: rāse ʻāli (telequ) 4
113
+ - source: ራስ ዓሊጋዝ ፭
114
+ expected: rāse ʻāligāze 5
115
+ - source: ራስ ዐሥራትና ፮
116
+ expected: rāse ʻaśerātenā 6
117
+ - source: ራስ ጉግሣ ፳፮
118
+ expected: rāse gugeśā 206
119
+ - source: ራስ ይማም ፪
120
+ expected: rāse yemāme 2
121
+ - source: ራስ ማርዬ ፫
122
+ expected: rāse māreyé 3
123
+ - source: ራስ ዶሪ ፫ ወር
124
+ expected: rāse dori 3 ware
125
+ - source: ራስ ዓሊ (ትንሹ) ፳
126
+ expected: rāse ʻāli (tenešu) 20
127
+ - source: ዓፄ ቴዎድሮስ ፲፭
128
+ expected: ʻāṡé téwoderose 105
129
+ - source: ዳግማዊ ዓጼ ተክለ ጊዮርጊስ ፫
130
+ expected: dāgemāwi ʻāṣé takela giyoregise 3
131
+ - source: ዓፄ ዮሐንስ ፲፰
132
+ expected: ʻāṡé yoḥanese 108
133
+ - source: ዳግማዊ ዓጼ ምኒልክ ፳፬
134
+ expected: dāgemāwi ʻāṣé menileke 204
135
+ - source: ልጅ ኢያሱ ፫
136
+ expected: leǧe ʼiyāsu 3
137
+ - source: ንግሥት ዘውዲቱ ፲፫
138
+ expected: negeśete zaweditu 103
139
+ - source: ቀዳማዊ ኃይለ ሥላሴ
140
+ expected: qadāmāwi hāyela śelāsé
141
+
142
+
143
+ map:
144
+ characters:
145
+ "\u1200": "ha"
146
+ "\u1201": "hu"
147
+ "\u1202": "hi"
148
+ "\u1203": "hā"
149
+ "\u1204": "hé"
150
+ "\u1205":
151
+ - "he"
152
+ - "h"
153
+ "\u1206": "ho"
154
+ "\u1208": "la"
155
+ "\u1209": "lu"
156
+ "\u120A": "li"
157
+ "\u120B": "lā"
158
+ "\u120C": "lé"
159
+ "\u120D":
160
+ - "le"
161
+ - "l"
162
+ "\u120E": "lo"
163
+ "\u1210": "ḥa"
164
+ "\u1211": "ḥu"
165
+ "\u1212": "ḥi"
166
+ "\u1213": "ḥā"
167
+ "\u1214": "ḥé"
168
+ "\u1215":
169
+ - "ḥe"
170
+ - "ḥ"
171
+ "\u1216": "ḥo"
172
+ "\u1218": "ma"
173
+ "\u1219": "mu"
174
+ "\u121A": "mi"
175
+ "\u121B": "mā"
176
+ "\u121C": "mé"
177
+ "\u121D":
178
+ - "me"
179
+ - "m"
180
+ "\u121E": "mo"
181
+ "\u1220": "śa"
182
+ "\u1221": "śu"
183
+ "\u1222": "śi"
184
+ "\u1223": "śā"
185
+ "\u1224": "śé"
186
+ "\u1225":
187
+ - "śe"
188
+ - "ś"
189
+ "\u1226": "śo"
190
+ "\u1228": "ra"
191
+ "\u1229": "ru"
192
+ "\u122A": "ri"
193
+ "\u122B": "rā"
194
+ "\u122C": "ré"
195
+ "\u122D":
196
+ - "re"
197
+ - "r"
198
+ "\u122E": "ro"
199
+ "\u1230": "sa"
200
+ "\u1231": "su"
201
+ "\u1232": "si"
202
+ "\u1233": "sā"
203
+ "\u1234": "sé"
204
+ "\u1235":
205
+ - "se"
206
+ - "s"
207
+ "\u1236": "so"
208
+ "\u1238": "ša"
209
+ "\u1239": "šu"
210
+ "\u123A": "ši"
211
+ "\u123B": "šā"
212
+ "\u123C": "šé"
213
+ "\u123D":
214
+ - "še"
215
+ - "š"
216
+ "\u123E": "šo"
217
+ "\u1240": "qa"
218
+ "\u1241": "qu"
219
+ "\u1242": "qi"
220
+ "\u1243": "qā"
221
+ "\u1244": "qé"
222
+ "\u1245":
223
+ - "qe"
224
+ - "q"
225
+ "\u1246": "qo"
226
+ "\u1260": "ba"
227
+ "\u1261": "bu"
228
+ "\u1262": "bi"
229
+ "\u1263": "bā"
230
+ "\u1264": "bé"
231
+ "\u1265":
232
+ - "be"
233
+ - "b"
234
+ "\u1266": "bo"
235
+ "\u1270": "ta"
236
+ "\u1271": "tu"
237
+ "\u1272": "ti"
238
+ "\u1273": "tā"
239
+ "\u1274": "té"
240
+ "\u1275":
241
+ - "te"
242
+ - "t"
243
+ "\u1276": "to"
244
+ "\u1278": "ča"
245
+ "\u1279": "ču"
246
+ "\u127A": "či"
247
+ "\u127B": "čā"
248
+ "\u127C": "čé"
249
+ "\u127D":
250
+ - "če"
251
+ - "č"
252
+ "\u127E": "čo"
253
+ "\u1280": "ha"
254
+ "\u1281": "hu"
255
+ "\u1282": "hi"
256
+ "\u1283": "hā"
257
+ "\u1284": "hé"
258
+ "\u1285":
259
+ - "he"
260
+ - "h"
261
+ "\u1286": "ho"
262
+ "\u1290": "na"
263
+ "\u1291": "nu"
264
+ "\u1292": "ni"
265
+ "\u1293": "nā"
266
+ "\u1294": "né"
267
+ "\u1295":
268
+ - "ne"
269
+ - "n"
270
+ "\u1296": "no"
271
+ "\u1298": "ña"
272
+ "\u1299": "ñu"
273
+ "\u129A": "ñi"
274
+ "\u129B": "ñā"
275
+ "\u129C": "ñé"
276
+ "\u129D":
277
+ - "ñe"
278
+ - "ñ"
279
+ "\u129E": "ño"
280
+ "\u12A0": "ʼa"
281
+ "\u12A1": "ʼu"
282
+ "\u12A2": "ʼi"
283
+ "\u12A3": "ʼā"
284
+ "\u12A4": "ʼé"
285
+ "\u12A5": "ʼe"
286
+ "\u12A6": "ʼo"
287
+ "\u12A8": "ka"
288
+ "\u12A9": "ku"
289
+ "\u12AA": "ki"
290
+ "\u12AB": "kā"
291
+ "\u12AC": "ké"
292
+ "\u12AD":
293
+ - "ke"
294
+ - "k"
295
+ "\u12AE": "ko"
296
+ "\u12B8": "xa"
297
+ "\u12B9": "xu"
298
+ "\u12BA": "xi"
299
+ "\u12BB": "xā"
300
+ "\u12BC": "xé"
301
+ "\u12BD":
302
+ - "xe"
303
+ - "x"
304
+ "\u12BE": "xo"
305
+ "\u12C8": "wa"
306
+ "\u12C9": "wu"
307
+ "\u12CA": "wi"
308
+ "\u12CB": "wā"
309
+ "\u12CC": "wé"
310
+ "\u12CD":
311
+ - "we"
312
+ - "w"
313
+ "\u12CE": "wo"
314
+ "\u12D0": "ʻa"
315
+ "\u12D1": "ʻu"
316
+ "\u12D2": "ʻi"
317
+ "\u12D3": "ʻā"
318
+ "\u12D4": "ʻé"
319
+ "\u12D5": "ʻe"
320
+ "\u12D6": "ʻo"
321
+ "\u12D8": "za"
322
+ "\u12D9": "zu"
323
+ "\u12DA": "zi"
324
+ "\u12DB": "zā"
325
+ "\u12DC": "zé"
326
+ "\u12DD":
327
+ - "ze"
328
+ - "z"
329
+ "\u12DE": "zo"
330
+ "\u12E0": "ža"
331
+ "\u12E1": "žu"
332
+ "\u12E2": "ži"
333
+ "\u12E3": "žā"
334
+ "\u12E4": "žé"
335
+ "\u12E5":
336
+ - "že"
337
+ - "ž"
338
+ "\u12E6": "žo"
339
+ "\u12E8": "ya"
340
+ "\u12E9": "yu"
341
+ "\u12EA": "yi"
342
+ "\u12EB": "yā"
343
+ "\u12EC": "yé"
344
+ "\u12ED":
345
+ - "ye"
346
+ - "y"
347
+ "\u12EE": "yo"
348
+ "\u12F0": "da"
349
+ "\u12F1": "du"
350
+ "\u12F2": "di"
351
+ "\u12F3": "dā"
352
+ "\u12F4": "dé"
353
+ "\u12F5":
354
+ - "de"
355
+ - "d"
356
+ "\u12F6": "do"
357
+ "\u1300": "ǧa"
358
+ "\u1301": "ǧu"
359
+ "\u1302": "ǧi"
360
+ "\u1303": "ǧā"
361
+ "\u1304": "ǧé"
362
+ "\u1305":
363
+ - "ǧe"
364
+ - "ǧ"
365
+ "\u1306": "ǧo"
366
+ "\u1308": "ga"
367
+ "\u1309": "gu"
368
+ "\u130A": "gi"
369
+ "\u130B": "gā"
370
+ "\u130C": "gé"
371
+ "\u130D":
372
+ - "ge"
373
+ - "g"
374
+ "\u130E": "go"
375
+ "\u1320": "ṭa"
376
+ "\u1321": "ṭu"
377
+ "\u1322": "ṭi"
378
+ "\u1323": "ṭā"
379
+ "\u1324": "ṭé"
380
+ "\u1325":
381
+ - "ṭe"
382
+ - "ṭ"
383
+ "\u1326": "ṭo"
384
+ "\u1328": "ċa"
385
+ "\u1329": "ċu"
386
+ "\u132A": "ċi"
387
+ "\u132B": "ċā"
388
+ "\u132C": "ċé"
389
+ "\u132D":
390
+ - "ċe"
391
+ - "ċ"
392
+ "\u132E": "ċo"
393
+ "\u1330": "p̣a"
394
+ "\u1331": "p̣u"
395
+ "\u1332": "p̣i"
396
+ "\u1333": "p̣ā"
397
+ "\u1334": "p̣é"
398
+ "\u1335":
399
+ - "p̣e"
400
+ - s"p̣"
401
+ "\u1336": "p̣o"
402
+ "\u1338": "ṣa"
403
+ "\u1339": "ṣu"
404
+ "\u133A": "ṣi"
405
+ "\u133B": "ṣā"
406
+ "\u133C": "ṣé"
407
+ "\u133D":
408
+ - "ṣe"
409
+ - "ṣ"
410
+ "\u133E": "ṣo"
411
+ "\u1340": "ṡa"
412
+ "\u1341": "ṡu"
413
+ "\u1342": "ṡi"
414
+ "\u1343": "ṡā"
415
+ "\u1344": "ṡé"
416
+ "\u1345":
417
+ - "ṡe"
418
+ - "ṡ"
419
+ "\u1346": "ṡo"
420
+ "\u1348": "fa"
421
+ "\u1349": "fu"
422
+ "\u134A": "fi"
423
+ "\u134B": "fā"
424
+ "\u134C": "fé"
425
+ "\u134D":
426
+ - "fe"
427
+ - "f"
428
+ "\u134E": "fo"
429
+ "\u1350": "pa"
430
+ "\u1351": "pu"
431
+ "\u1352": "pi"
432
+ "\u1353": "pā"
433
+ "\u1354": "pé"
434
+ "\u1355":
435
+ - "pe"
436
+ - "p"
437
+ "\u1356": "po"
438
+ "\u1268": "va"
439
+ "\u1269": "vu"
440
+ "\u126A": "vi"
441
+ "\u126B": "vā"
442
+ "\u126C": "vé"
443
+ "\u126D":
444
+ - "ve"
445
+ - "v"
446
+ "\u126E": "vo"
447
+
448
+ "\u1248": "qwa"
449
+ "\u124A": "qwi"
450
+ "\u124B": "qwā"
451
+ "\u124C": "qwé"
452
+ "\u124D": "qwe"
453
+ "\u1288": "hwa"
454
+ "\u128A": "hwi"
455
+ "\u128B": "hwā"
456
+ "\u128C": "hwé"
457
+ "\u128D": "hwe"
458
+ "\u12B0": "kwa"
459
+ "\u12B2": "kwi"
460
+ "\u12B3": "kwā"
461
+ "\u12B4": "kwé"
462
+ "\u12B5": "kwe"
463
+ "\u1310": "gwa"
464
+ "\u1312": "gwi"
465
+ "\u1313": "gwā"
466
+ "\u1314": "gwé"
467
+ "\u1315": "gwe"
468
+
469
+ "\u120F": "lwa"
470
+ "\u1267": "bwa"
471
+ "\u12DF": "zwa"
472
+ "\u1327": "ṭwā"
473
+ "\u121F": "mwa"
474
+ "\u2D81": "mwa"
475
+ "\u1277": "twa"
476
+ "\u12E7": "žwa"
477
+ "\u132F": "ċwā"
478
+ "\u122F": "rwa"
479
+ "\u127F": "čwa"
480
+ "\u12EF": "ywa"
481
+ "\u133F": "ṣwā"
482
+ "\u1237": "swa"
483
+ "\u1297": "nwa"
484
+ "\u12F7": "dwa"
485
+ "\u134F": "fwā"
486
+ "\u123F": "šwa"
487
+ "\u129F": "ñwa"
488
+ "\u1307": "ǧwa"
489
+
490
+ "\u1359": "mya"
491
+ "\u135A": "fya"
492
+
493
+ "\u12A7": "ă"
494
+
495
+ "\u1369": "1"
496
+ "\u136A": "2"
497
+ "\u136B": "3"
498
+ "\u136C": "4"
499
+ "\u136D": "5"
500
+ "\u136E": "6"
501
+ "\u136F": "7"
502
+ "\u1370": "8"
503
+ "\u1371": "9"
504
+ "\u1372": "10"
505
+ "\u1373": "20"
506
+ "\u1374": "30"
507
+ "\u1375": "40"
508
+ "\u1376": "50"
509
+ "\u1377": "60"
510
+ "\u1378": "70"
511
+ "\u1379": "80"
512
+ "\u137A": "90"
513
+ "\u137B": "100"