interscript 0.1.2 → 0.1.7

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