interscript 0.1.3 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
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"