interscript 0.1.2 → 0.1.7

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 (261) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +250 -17
  3. data/lib/g2pwrapper.py +34 -0
  4. data/lib/interscript.rb +142 -20
  5. data/lib/interscript/command.rb +28 -0
  6. data/lib/interscript/fs.rb +69 -0
  7. data/lib/interscript/mapping.rb +142 -0
  8. data/lib/interscript/opal.rb +57 -0
  9. data/lib/interscript/opal/entrypoint.rb +12 -0
  10. data/lib/interscript/opal/map_translate.rb +7 -0
  11. data/lib/interscript/opal/maps.js.erb +10 -0
  12. data/lib/interscript/version.rb +1 -1
  13. data/lib/model-7 +0 -0
  14. data/lib/tha-pt-b-7 +0 -0
  15. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38916 -0
  16. data/maps/alalc-amh-Ethi-Latn-1997.yaml +513 -0
  17. data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
  18. data/maps/alalc-ara-Arab-Latn-1997.yaml +1287 -0
  19. data/maps/alalc-asm-Deva-Latn-1997.yaml +165 -0
  20. data/maps/alalc-asm-Deva-Latn-2012.yaml +40 -0
  21. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +145 -0
  22. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +129 -0
  23. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  24. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +98 -0
  25. data/maps/alalc-ell-Grek-Latn-1997.yaml +628 -0
  26. data/maps/alalc-ell-Grek-Latn-2010.yaml +626 -0
  27. data/maps/alalc-guj-Gujr-Latn-1997.yaml +266 -0
  28. data/maps/alalc-guj-Gujr-Latn-2011.yaml +64 -0
  29. data/maps/alalc-hin-Deva-Latn-1997.yaml +211 -0
  30. data/maps/alalc-hin-Deva-Latn-2011.yaml +47 -0
  31. data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
  32. data/maps/alalc-kat-Geor-Latn-1997.yaml +150 -0
  33. data/maps/alalc-kor-Hang-Latn-1997.yaml +98 -0
  34. data/maps/alalc-mal-Mlym-Latn-1997.yaml +303 -0
  35. data/maps/alalc-mal-Mlym-Latn-2012.yaml +73 -0
  36. data/maps/alalc-mar-Deva-Latn-1997.yaml +189 -0
  37. data/maps/alalc-mar-Deva-Latn-2011.yaml +45 -0
  38. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
  39. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  40. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +220 -0
  41. data/maps/alalc-pan-Guru-Latn-1997.yaml +256 -0
  42. data/maps/alalc-pan-Guru-Latn-2011.yaml +78 -0
  43. data/maps/alalc-per-Arab-Latn-1997.yaml +375 -0
  44. data/maps/alalc-pli-Deva-Latn-2012.yaml +144 -0
  45. data/maps/alalc-pra-Deva-Latn-2012.yaml +47 -0
  46. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +225 -0
  47. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  48. data/maps/alalc-san-Deva-Latn-2012.yaml +172 -0
  49. data/maps/alalc-sin-Sinh-Latn-1997.yaml +292 -0
  50. data/maps/alalc-sin-Sinh-Latn-2011.yaml +71 -0
  51. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +118 -0
  52. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
  53. data/maps/alalc-tam-Taml-Latn-1997.yaml +62 -0
  54. data/maps/alalc-tam-Taml-Latn-2011.yaml +58 -0
  55. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +145 -0
  56. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  57. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  58. data/maps/{bas-rus-Cyrl-Latn-bss.yaml → bas-rus-Cyrl-Latn-2017-bss.yaml} +58 -33
  59. data/maps/{bas-rus-Cyrl-Latn-oss.yaml → bas-rus-Cyrl-Latn-2017-oss.yaml} +55 -35
  60. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
  61. data/maps/bgn-kor-Hang-Latn-1943.yaml +35 -0
  62. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  63. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  64. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  65. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +532 -0
  66. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +596 -0
  67. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +2 -3
  68. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  69. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +188 -0
  70. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +289 -0
  71. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +119 -0
  72. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +15 -65
  73. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +184 -0
  74. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +705 -0
  75. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +23 -0
  76. data/maps/{bgnpcgn-per-Arab-Latn-1956.yaml → bgnpcgn-fas-Arab-Latn-1956.yaml} +5 -2
  77. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  78. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +131 -0
  79. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
  80. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  81. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  82. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  83. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +163 -0
  84. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  85. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +223 -0
  86. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +230 -0
  87. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +336 -0
  88. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +639 -0
  89. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +459 -0
  90. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +168 -0
  91. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +150 -65
  92. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +170 -0
  93. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +220 -0
  94. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +240 -0
  95. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +80 -4
  96. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +119 -0
  97. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +127 -0
  98. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +82 -0
  99. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
  100. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
  101. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
  102. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
  103. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +181 -0
  104. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
  105. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
  106. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
  107. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
  108. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
  109. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
  110. data/maps/by-bel-Cyrl-Latn-1998.yaml +172 -0
  111. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  112. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +899 -0
  113. data/maps/din-hin-Deva-Latn-33904-2018.yaml +100 -0
  114. data/maps/din-kat-Geor-Latn-32707-2010.yaml +145 -0
  115. data/maps/din-mar-Deva-Latn-33904-2018.yaml +84 -0
  116. data/maps/din-nep-Deva-Latn-33904-2018.yaml +119 -0
  117. data/maps/din-pli-Deva-Latn-33904-2018.yaml +75 -0
  118. data/maps/din-pra-Deva-Latn-33904-2018.yaml +63 -0
  119. data/maps/din-san-Deva-Latn-33904-2018.yaml +338 -0
  120. data/maps/din-tam-Taml-Latn-33903-2016.yaml +213 -0
  121. data/maps/dos-nep-Deva-Latn-1997.yaml +47 -0
  122. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
  123. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
  124. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
  125. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
  126. data/maps/ggg-kat-Geor-Latn-2002.yaml +92 -0
  127. data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
  128. data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
  129. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +190 -0
  130. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +157 -0
  131. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  132. data/maps/icao-bel-Cyrl-Latn-9303.yaml +109 -98
  133. data/maps/icao-bul-Cyrl-Latn-9303.yaml +2 -7
  134. data/maps/{icao-per-Arab-Latn-9303.yaml → icao-fas-Arab-Latn-9303.yaml} +6 -8
  135. data/maps/icao-heb-Hebr-Latn-9303.yaml +119 -125
  136. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +2 -3
  137. data/maps/icao-rus-Cyrl-Latn-9303.yaml +2 -4
  138. data/maps/icao-srp-Cyrl-Latn-9303.yaml +2 -3
  139. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +2 -4
  140. data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
  141. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +75 -0
  142. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +175 -0
  143. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +613 -0
  144. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +44 -0
  145. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +220 -0
  146. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +87 -0
  147. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +61 -0
  148. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +66 -0
  149. data/maps/iso-kan-Knda-Latn-15919-2001.yaml +220 -0
  150. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +145 -0
  151. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +240 -0
  152. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +226 -0
  153. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +281 -0
  154. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +75 -0
  155. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +87 -0
  156. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +193 -0
  157. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +222 -0
  158. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +73 -0
  159. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +74 -0
  160. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +219 -0
  161. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +55 -0
  162. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +59 -0
  163. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +366 -0
  164. data/maps/{iso-rus-Cyrl-Latn-iso9.yaml → iso-rus-Cyrl-Latn-9-1995.yaml} +4 -6
  165. data/maps/iso-san-Deva-Latn-15919-2001.yaml +220 -0
  166. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +159 -0
  167. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +220 -0
  168. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  169. data/maps/kp-kor-Hang-Latn-2002.yaml +909 -0
  170. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  171. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  172. data/maps/mns-mon-Cyrl-Latn-5217-2012.yaml +163 -0
  173. data/maps/mns-mon-Latn-Cyrl-5217-2012.yaml +200 -0
  174. data/maps/moct-kor-Hang-Latn-2000.yaml +807 -0
  175. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  176. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  177. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  178. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
  179. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  180. data/maps/odni-ara-Arab-Latn-2015.yaml +425 -0
  181. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  182. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  183. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  184. data/maps/odni-che-Cyrl-Latn-2015.yaml +169 -0
  185. data/maps/odni-fas-Arab-Latn-2015.yaml +406 -0
  186. data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
  187. data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
  188. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  189. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  190. data/maps/odni-kor-Hang-Latn-2015.yaml +375 -0
  191. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
  192. data/maps/odni-per-Arab-Latn-2015.yaml +228 -0
  193. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  194. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  195. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  196. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  197. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  198. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  199. data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
  200. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
  201. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  202. data/maps/royin-tha-Thai-Latn-1968.yaml +183 -0
  203. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  204. data/maps/royin-tha-Thai-Latn-1999.yaml +80 -0
  205. data/maps/{cn-chn-Hans-Latn-pinyin.yaml → sac-zho-Hans-Latn-1979.yaml} +11 -8
  206. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +389 -0
  207. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +354 -0
  208. data/maps/ses-ara-Arab-Latn-1930.yaml +283 -0
  209. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  210. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +197 -0
  211. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +75 -0
  212. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +192 -0
  213. data/maps/un-amh-Ethi-Latn-2016.yaml +602 -0
  214. data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
  215. data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
  216. data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
  217. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  218. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  219. data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +780 -0
  220. data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
  221. data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
  222. data/maps/un-hin-Deva-Latn-2016.yaml +222 -0
  223. data/maps/un-mar-Deva-Latn-2016.yaml +91 -0
  224. data/maps/un-mon-Mong-Latn-general-2013.yaml +264 -0
  225. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +264 -0
  226. data/maps/un-nep-Deva-Latn-1972.yaml +350 -0
  227. data/maps/un-nep-Deva-Latn-2013.yaml +74 -0
  228. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  229. data/maps/un-ukr-Cyrl-Latn-1998.yaml +53 -0
  230. data/maps/un-ukr-Cyrl-Latn-2012.yaml +162 -0
  231. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +221 -0
  232. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  233. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  234. data/maps/var-kor-Hang-Hang-jamo.yaml +11193 -0
  235. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  236. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  237. data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
  238. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +43 -0
  239. data/maps/var-mon-Mong-Latn-1930.yaml +102 -0
  240. data/maps/var-mon-Mong-Latn-lessing.yaml +272 -0
  241. data/maps/var-mon-Mong-Latn-vpmc.yaml +274 -0
  242. data/maps/var-pra-Deva-Latn-iast-1912.yaml +30 -0
  243. data/maps/var-san-Deva-Latn-iast-1912.yaml +149 -0
  244. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  245. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  246. data/maps/var-zho-Hani-Latn-wd-1979.yaml +38912 -0
  247. data/spec/interscript/filenames_spec.rb +384 -0
  248. data/spec/interscript/mapping_spec.rb +42 -0
  249. data/spec/interscript_spec.rb +23 -5
  250. data/spec/spec_helper.rb +3 -1
  251. metadata +364 -34
  252. data/bin/interscript +0 -20
  253. data/bin/rspec +0 -29
  254. data/maps/bgnpcgn-chn-Hans-Latn-pinyin.yaml +0 -7503
  255. data/maps/historic-jpn-Hrkt-Latn-hepburn.yaml +0 -336
  256. data/maps/icao-gre-Grek-Latn-9303.yaml +0 -101
  257. data/maps/mext-jpn-Hrkt-Latn-hepburn.yaml +0 -330
  258. data/maps/mext-jpn-Hrkt-Latn-kunrei.yaml +0 -308
  259. data/maps/un-jpn-Hrkt-Latn-hepburn.yaml +0 -313
  260. data/maps/un-jpn-Hrkt-Latn-kunrei.yaml +0 -354
  261. data/maps/un-mon-Mong-Latn-2013.yaml +0 -80
@@ -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
@@ -21,8 +21,7 @@ description: |
21
21
  This document defines the transliteration mappings used to produce
22
22
  this transcription or transliteration.
23
23
  tests:
24
- - source:
25
- expected:
24
+
26
25
  map:
27
26
  # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
28
27
  characters:
@@ -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
@@ -21,8 +21,7 @@ description: |
21
21
  This document defines the transliteration mappings used to produce
22
22
  this transcription or transliteration.
23
23
  tests:
24
- - source:
25
- expected:
24
+
26
25
  map:
27
26
  # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
28
27
  characters:
@@ -116,4 +115,3 @@ map:
116
115
  "\u0454": "ie" # є
117
116
  "\u0457": "i" # ї
118
117
  "\u0453": "g" # ѓ
119
-
@@ -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
@@ -21,8 +21,7 @@ description: |
21
21
  This document defines the transliteration mappings used to produce
22
22
  this transcription or transliteration.
23
23
  tests:
24
- - source:
25
- expected:
24
+
26
25
  map:
27
26
  # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
28
27
  characters:
@@ -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
@@ -21,8 +21,7 @@ description: |
21
21
  This document defines the transliteration mappings used to produce
22
22
  this transcription or transliteration.
23
23
  tests:
24
- - source:
25
- expected:
24
+
26
25
 
27
26
  map:
28
27
  # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
@@ -118,4 +117,3 @@ map:
118
117
  "\u0454": "ie" # є
119
118
  "\u0457": "i" # ї
120
119
  "\u0453": "g" # ѓ
121
-
@@ -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' # ﻱ
@@ -0,0 +1,75 @@
1
+ ---
2
+ authority_id: iso
3
+ id: 15919-2001
4
+ language: iso-639-2:asm
5
+ source_script: Beng
6
+ destination_script: Latn
7
+ name: "Information and documentation — Transliteration of Devanagari and related Indic scripts into Latin characters"
8
+ url: https://www.chatranjali.fr/Scripts/Standards/ISO15919.pdf
9
+ creation_date: 2001
10
+ adoption_date: 2001
11
+ description: |
12
+ Script conversion is often required for documents such as historical and literary texts, geographical texts (including
13
+ maps and atlases), bibliographies, catalogues, lists and passports (and other identification documents).
14
+
15
+ Text in Devanagari script or other Indic scripts sometimes needs to be shown in Latin script, where users, or
16
+ equipment that they are using, cannot read or write the text
17
+
18
+ This International Standard applies to transliteration of Devanagari, and to Indic scripts related to Devanagari,
19
+ independent of the period in which it is or was used.
20
+
21
+ notes:
22
+
23
+ - All transliterations made using this International Standard shall be case-insensitive.
24
+ - Inherent a with a consonant shall always be transliterated.
25
+ - anusvara (including Vedic anusvara) shall be transliterated as ṁ
26
+ - candrabindu shall be transliterated as m̐
27
+ - When m̐, ṃ or ṁ are associated with a vowel, they shall be placed after the vowel. When m̐ is associated
28
+ with a semivowel, it shall be placed before the semivowel.
29
+ - Latin punctuation signs and Hindu-Arabic numerals shall remain unchanged in transliteration.
30
+ Indic punctuation is outside the scope of this International Standard.
31
+ - The Vedic accent Udatta shall be transliterated as an acute accent over the transliterated vowel, and the
32
+ independent Svarita as a grave accent over the transliterated vowel. In the case of the digraphs ai, au, the accent
33
+ shall be attached to the second vowel.
34
+ - |
35
+ A colon: before a Latin character shall be used to resolve ambiguity. Some normative cases are as
36
+ follows.
37
+ - :’ for avagraha in modern text. (The apostrophe in modern text remains unchanged in accordance with previous rule.
38
+ - If a character in an Indic script is defined in such a way as to be equivalent to another character in any
39
+ script, where the second character has a transliteration in this International Standard, then the first character shall
40
+ be transliterated in the same way as the second character.
41
+ - Where it is desired to show the Vedic accent Anudatta, it should be transliterated as an underscore. In the case of
42
+ the digraphs ai, au, both Latin vowels should be underscored.
43
+ Where word boundaries are not shown in the original text (as happens commonly in Sanskrit) and a word ends in a
44
+ consonant, the transliteration should show word division by a space; but when phonological processes result in two
45
+ words sharing a common vowel, no attempt should be made to separate them. This will require a good knowledge
46
+ of the language in question.
47
+
48
+ tests:
49
+ - source: "অসমীয়া কবিতা"
50
+ expected: "asamaīẏaā kabaitaā"
51
+ - source: "কবিৰ আজি জন্মদিন"
52
+ expected: "kabaiva ājai janamadaina"
53
+ - source: "বেৰুটত এমাহৰ পাছতে পুনৰ ভয়ংকৰ অগ্নিকাণ্ড"
54
+ expected: "baevauṭata emaāhava paāchatae paunava bhaya়ṁkava aganaikaāṇaḍa"
55
+ - source: "ভঙাৰ বিৰুদ্ধে আৱেদন দাখিল কংগনাৰ"
56
+ expected: "bhaṅaāva baivaudadhae āraedana daākhaila kaṁganaāva"
57
+ - source: "আপুনি পঢ়ি ভাল পাব পৰা বাতৰি"
58
+ expected: "āpaunai paṙhai bhaāla paāba pavaā baātavai"
59
+ - source: "শ্ৰীৰামপুৰত গৰুভৰ্তি ট্ৰাক জব্দ, দুজনক আটক"
60
+ expected: "śavaīvaāmapauvata gavaubhavatai ṭavaāka jabada, daujanaka āṭaka"
61
+ - source: "কেনে আছে প্ৰাক্তন"
62
+ expected: "kaenae āchae pavaākatana"
63
+ - source: "কমুম্বাইৰ মেয়ৰৰ দেহত কোভিড পজিটিভ"
64
+ expected: "kamaumabaāiva maeẏavava daehata kaobhaiḍa pajaiṭaibha"
65
+ - source: "টুইটাৰযোগে খোদ সদৰী কৰে এই কথা"
66
+ expected: "ṭauiṭaāvayaogae khaoda sadavaī kavae ei kathaā"
67
+ - source: "লখিমপুৰ জিলাৰ নাৰায়ণপুৰৰ বৰপথাৰত আজি প্ৰশান্তি ধাম নামেৰে এখন বৃদ্ধাশ্ৰমৰ শুভাৰম্ভ কৰা হয়"
68
+ expected: "lakhaimapauva jailaāva naāvaāẏaṇapauvava bavapathaāvata ājai pavaśaānatai dhaāma naāmaevae ekhana baṛdadhaāśavamava śaubhaāvamabha kavaā haẏa"
69
+
70
+ map:
71
+ inherit: 'iso-ben-Beng-Latn-15919-2001'
72
+
73
+ characters:
74
+ 'ৰ': 'va'
75
+ 'ৱ': 'ra'