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: bel
4
+ language: iso-639-2:bel
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Belorussian Cyrillic to Latin
@@ -20,106 +20,117 @@ description: |
20
20
 
21
21
  This document defines the transliteration mappings used to produce
22
22
  this transcription or transliteration.
23
+
23
24
  tests:
24
- - source:
25
- expected:
25
+ - source: Бабрыковіч Аляксандр
26
+ expected: Babrykovich Aliaksandr
27
+ - source: Міховіч Марыя
28
+ expected: Mikhovich Maryia
29
+ - source: Максім
30
+ expected: Maksim
31
+ - source: Іван
32
+ expected: Ivan
33
+ - source: СВЯТЛАНА
34
+ expected: SVIATLANA
35
+ - source: Ігар
36
+ expected: Ihar
37
+ - source: Палто Алена
38
+ expected: Palto Alena
39
+ - source: Мікалай
40
+ expected: Mikalai
41
+
26
42
  map:
27
43
  # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
28
44
  characters:
29
- "\u0027": "", # '
30
- "\u0410": "A", # А
31
- "\u0411": "B", # Б
32
- "\u0414": "D", # Д
33
- "\u0401": "IO", # Ё
34
- "\u0415": "E", # Е
35
- "\u042D": "E", # Э
36
- "\u0424": "F", # Ф
37
- "\u0413": "H", # Г
38
- "\u0418": "I", # И
39
- "\u0419": "I", # Й
40
- "\u041A": "K", # К
41
- "\u041B": "L", # Л
42
- "\u041C": "M", # М
43
- "\u041D": "N", # Н
44
- "\u041E": "O", # О
45
- "\u041F": "P", # П
46
- "\u0420": "R", # Р
47
- "\u0421": "S", # С
48
- "\u0422": "T", # Т
49
- "\u0423": "U", # У
50
- "\u0412": "V", # В
51
- "\u042B": "Y", # Ы
52
- "\u0417": "Z", # З
53
- "\u0427": "CH", # Ч
54
- "\u042F": "IA", # Я
55
- "\u042E": "IU", # Ю
56
- "\u0425": "KH", # Х
57
- "\u0428": "SH", # Ш
58
- "\u0429": "SHCH", # Щ
59
- "\u0426": "TS", # Ц
60
- "\u0416": "ZH", # Ж
61
- "\u0490": "G", # Ґ
62
- "\u040E": "U", # Ў
63
- "\u046A": "U", # Ѫ
64
- "\u0402": "D", # Ђ
65
- "\u0405": "DZ", # Ѕ
66
- "\u0408": "J", # Ј
67
- "\u0409": "LJ", # Љ
68
- "\u040A": "NJ", # Њ
69
- "\u04BA": "C", # Һ
70
- "\u040F": "DZ", # Џ
71
- "\u0404": "IE", # Є
72
- "\u0407": "I", # Ї
73
- "\u0403": "G", # Ѓ
74
- "\u0406": "I", # І
45
+ "\u0027": "" # '
46
+ "\u0410": "A" # А
47
+ "\u0411": "B" # Б
48
+ "\u0414": "D" # Д
49
+ "\u0401": "IO" # Ё
50
+ "\u0415": "E" # Е
51
+ "\u042D": "E" # Э
52
+ "\u0424": "F" # Ф
53
+ "\u0413": "H" # Г
54
+ "\u0418": "I" # И
55
+ "\u0419": "I" # Й
56
+ "\u041A": "K" # К
57
+ "\u041B": "L" # Л
58
+ "\u041C": "M" # М
59
+ "\u041D": "N" # Н
60
+ "\u041E": "O" # О
61
+ "\u041F": "P" # П
62
+ "\u0420": "R" # Р
63
+ "\u0421": "S" # С
64
+ "\u0422": "T" # Т
65
+ "\u0423": "U" # У
66
+ "\u0412": "V" # В
67
+ "\u042B": "Y" # Ы
68
+ "\u0417": "Z" # З
69
+ "\u0427": "CH" # Ч
70
+ "\u042F": "IA" # Я
71
+ "\u042E": "IU" # Ю
72
+ "\u0425": "KH" # Х
73
+ "\u0428": "SH" # Ш
74
+ "\u0429": "SHCH" # Щ
75
+ "\u0426": "TS" # Ц
76
+ "\u0416": "ZH" # Ж
77
+ "\u0490": "G" # Ґ
78
+ "\u040E": "U" # Ў
79
+ "\u046A": "U" # Ѫ
80
+ "\u0402": "D" # Ђ
81
+ "\u0405": "DZ" # Ѕ
82
+ "\u0408": "J" # Ј
83
+ "\u0409": "LJ" # Љ
84
+ "\u040A": "NJ" # Њ
85
+ "\u04BA": "C" # Һ
86
+ "\u040F": "DZ" # Џ
87
+ "\u0404": "IE" # Є
88
+ "\u0407": "I" # Ї
89
+ "\u0403": "G" # Ѓ
90
+ "\u0406": "I" # І
75
91
 
76
- "\u0430": "a", # а
77
- "\u0431": "b", # б
78
- "\u0434": "d", # д
79
- "\u0451": "io", # ё
80
- "\u0435": "e", # e
81
- "\u044D": "e", # э
82
- "\u0444": "f", # ф
83
- "\u0433": "h", # г
84
- "\u0438": "i", # и
85
- "\u0439": "i", # й
86
- "\u043A": "k", # к
87
- "\u043B": "l", # л
88
- "\u043C": "m", # м
89
- "\u043D": "n", # н
90
- "\u043E": "o", # о
91
- "\u043F": "p", # п
92
- "\u0440": "r", # р
93
- "\u0441": "s", # с
94
- "\u0442": "t", # т
95
- "\u0443": "", # у
96
- "\u0432": "v", # в
97
- "\u044B": "y", # ы
98
- "\u0437": "z", # з
99
- "\u0447": "ch", # ч
100
- "\u044F": "ia", # я
101
- "\u044E": "i", # ю
102
- "\u0445": "kh", # х
103
- "\u0448": "sh", # ш
104
- "\u0449": "shch", # щ
105
- "\u0446": "ts", # ц
106
- "\u0436": "zh", # ж
107
- "\u0491": "g", # ґ
108
- "\u045E": "", # ў
109
- "\u046B": "", # ѫ
110
- "\u0452": "d", # ђ
111
- "\u0455": "dz", # ѕ
112
- "\u0458": "j", # ј
113
- "\u0459": "lj", # љ
114
- "\u045A": "nj", # њ
115
- "\u04BB": "c", # һ
116
- "\u045F": "dz", # џ
117
- "\u0454": "ie", # є
118
- "\u0457": "i", # ї
119
- "\u0453": "g", # ѓ
92
+ "\u0430": "a" # а
93
+ "\u0431": "b" # б
94
+ "\u0434": "d" # д
95
+ "\u0451": "io" # ё
96
+ "\u0435": "e" # e
97
+ "\u044D": "e" # э
98
+ "\u0444": "f" # ф
99
+ "\u0433": "h" # г
100
+ "\u0438": "i" # и
101
+ "\u0439": "i" # й
102
+ "\u043A": "k" # к
103
+ "\u043B": "l" # л
104
+ "\u043C": "m" # м
105
+ "\u043D": "n" # н
106
+ "\u043E": "o" # о
107
+ "\u043F": "p" # п
108
+ "\u0440": "r" # р
109
+ "\u0441": "s" # с
110
+ "\u0442": "t" # т
111
+ "\u0443": "" # у
112
+ "\u0432": "v" # в
113
+ "\u044B": "y" # ы
114
+ "\u0437": "z" # з
115
+ "\u0447": "ch" # ч
116
+ "\u044F": "ia" # я
117
+ "\u044E": "i" # ю
118
+ "\u0445": "kh" # х
119
+ "\u0448": "sh" # ш
120
+ "\u0449": "shch" # щ
121
+ "\u0446": "ts" # ц
122
+ "\u0436": "zh" # ж
123
+ "\u0491": "g" # ґ
124
+ "\u045E": "" # ў
125
+ "\u046B": "" # ѫ
126
+ "\u0452": "d" # ђ
127
+ "\u0455": "dz" # ѕ
128
+ "\u0458": "j" # ј
129
+ "\u0459": "lj" # љ
130
+ "\u045A": "nj" # њ
131
+ "\u04BB": "c" # һ
132
+ "\u045F": "dz" # џ
133
+ "\u0454": "ie" # є
134
+ "\u0457": "i" # ї
135
+ "\u0453": "g" # ѓ
120
136
  "\u0456": "i" # і
121
-
122
-
123
-
124
-
125
-
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: bul
4
+ language: iso-639-2:bul
5
5
  source_script: Cyrl
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Bulgarian Cyrillic to Latin
@@ -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:
@@ -117,7 +116,3 @@ map:
117
116
  "\u0454": "ie" # є
118
117
  "\u0457": "i" # ї
119
118
  "\u0453": "g" # ѓ
120
-
121
-
122
-
123
-
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: per
4
+ language: iso-639-2:fas
5
5
  source_script: Arab
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Persian Arabic to Latin
@@ -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:
@@ -30,10 +29,10 @@ map:
30
29
  "\u0027": "" # '
31
30
  "\u0621": "XE" # ء
32
31
  "\u0622": "XAA" # آ
33
- "\u0623": 'XAE', # أ
34
- "\u0624": 'U', # ؤ
35
- "\u0625": 'I', # إ
36
- "\u0626": 'XI', # ئ
32
+ "\u0623": 'XAE' # أ
33
+ "\u0624": 'U' # ؤ
34
+ "\u0625": 'I' # إ
35
+ "\u0626": 'XI' # ئ
37
36
  "\u0627": "A" # ا
38
37
  "\u0628": "B" # ب
39
38
  "\u0629": "P" # ة
@@ -102,4 +101,3 @@ map:
102
101
  "\u06D0": "Y" # ې
103
102
  "\u06D2": "XYB" # ے
104
103
  "\u06D3": "XBE" # ۓ
105
-
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  authority_id: icao
3
3
  id: 9303
4
- language: heb
4
+ language: iso-639-2:heb
5
5
  source_script: Hebr
6
6
  destination_script: Latn
7
7
  name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Hebrew to Latin
@@ -21,137 +21,131 @@ 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://en.wikipedia.org/wiki/Romanization_of_Hebrew
28
27
 
29
28
  characters:
30
- "\u0027": "", # '
29
+ "\u0027": "" # '
31
30
 
32
31
  # Consonants
33
- "\u05D0": "", # א
34
- "\u05D1": "V", # ב
35
- "\u05D1\u05BC": "B", # בּ
36
- "\uFB31": "B", # בּ
37
- "\u05D2": "G", # ג
38
- "\u05D2\u05BC": "G", # גּ
39
- "\uFB32": "G", # גּ‬‬
40
- "\u05D2\u05F3": "J", # ג׳
41
- "\u05D3": "D", # ד
42
- "\u05D3\u05BC": "D", # דּ
43
- "\uFB33": "D", # דּ
44
- "\u05D3\u05F3": "DH", # ד׳
45
- "\u05D4": "H", # ה
46
- "\u05D4\u05BC": "H", # הּ
47
- "\uFB34": "H", # הּ
48
- "\u05D5": "V", # ו‬
49
- "\u05D5\u202C": "V", # ו‬
50
- "\u05D5\u05BC": "V", # וּ
51
- # "\uFB35": "V", # וּ # To vowels "U"
52
- "\u05D6": "Z", # ז
53
- "\u05D6\u05BC": "Z", # זּ
54
- "\uFB36": "Z", # זּ‬
55
- "\u05D6\u05F3": "ZH", # ז׳
56
- "\u05D7": "CH", # ח
57
- "\u05D8": "T", # ט
58
- "\u05D8\u05BC": "T", # טּ
59
- "\uFB38": "T", # טּ
60
- "\u05D9": "Y", # י
61
- "\u05D9\u05BC": "Y", # יּ
62
- "\u05D9\u05BC" +
63
- "\u202C": "Y", # יּ‬
64
- "\uFB39": "Y", # יּ‬
65
- "\u05DB": "CH", # כ
66
- "\u05DB\u05BC": "CH", # כּ
67
- "\u05DB\u05BC" +
68
- "\u202C": "CH", # כּ
69
- "\uFB3B": "C", #
70
- "\u05DA": "CH", # ך
71
- "\u05DA\u05BC": "CH", # ךּ
72
- "\u05DA\u05BC" +
73
- "\u202C": "CH", # ךּ‬
74
- "\uFB3A": "CH", #
75
- "\u05DC": "L", # ל‬
76
- "\u05DC\u05BC": "L", # לּ
77
- "\uFB3C": "L", #
78
- "\u05DD": "M", # ם
79
- "\u05DE": "M", # מ‬
80
- "\u05DE\u05BC": "M", # מּ
81
- "\uFB3E": "M", # מּ‬
82
- "\u05DF": "N", # ן
83
- "\u05E0": "N", # נ
84
- "\u05E0\u05BC": "N", # נּ
85
- "\uFB40": "N", #
86
- "\u05E1": "S", # ס
87
- "\u05E1\u05BC": "S", # סּ
88
- "\uFB41": "S", #
89
- "\u05E2": "", # ע
90
- "\u05E3": "F", # ף
91
- "\u05E3\u05BC": "P", # Possible problem u05BC # ףּ
92
- "\uFB43": "P", #
93
- "\u05E4": "F", # פ‬
94
- "\u05E4\u05BC": "P", # פּ
95
- "\uFB44": "P", #
96
- "\u05E5": "TZ", # ץ
97
- "\u05E5\u05F3": "TSH", # Possible problem u05F3 # ץ׳
98
- "\u05E6": "TZ", # צ‬
99
- "\u05E6\u05BC": "TZ", # צּ
100
- "\uFB46": "TZ", # צּ‬
101
- "\u05E6\u05F3": "TSH", # Possible problem u05F3 # צ׳
102
- "\u05E7": "Q", # ק
103
- "\u05E7\u05BC": "Q", # קּ
104
- "\uFB47": "Q", # קּ‬
105
- "\u05E8": "R", # ר
106
- "\u05E8\u05BC": "R", # רּ
107
- "\uFB48": "R", #
108
- "\u05E9": "S", # ש
109
- "\u05E9\u05BC": "S", # שּ
110
- "\uFB49": "S", # שּ‬
111
- "\u05E9\u05C2" +
112
- "\u202C": "S", # שׂ
113
- "\uFB2B": "S", #
114
- "\u05E9\u05C1": "SH", # שׁ
115
- "\uFB2A": "SH", #
116
- "\u05E9\u05BC" +
117
- "\u05C2\u202C": "S", # שּׂ‬
118
- "\uFB2D": "S", # שּׂ
119
- "\u05EA": "T", # ת
120
- "\u05EA\u05BC": "T", # תּ
121
- "\uFB4A": "T", # תּ
122
- "\u05EA\u05F3": "T", # ת׳
32
+ "\u05D0": "" # א
33
+ "\u05D1": "V" # ב
34
+ "\u05D1\u05BC": "B" # בּ
35
+ "\uFB31": "B" # בּ
36
+ "\u05D2": "G" # ג
37
+ "\u05D2\u05BC": "G" # גּ
38
+ "\uFB32": "G" # גּ‬‬
39
+ "\u05D2\u05F3": "J" # ג׳
40
+ "\u05D3": "D" # ד
41
+ "\u05D3\u05BC": "D" # דּ
42
+ "\uFB33": "D" # דּ
43
+ "\u05D3\u05F3": "DH" # ד׳
44
+ "\u05D4": "H" # ה
45
+ "\u05D4\u05BC": "H" # הּ
46
+ "\uFB34": "H" # הּ
47
+ "\u05D5": "V" # ו‬
48
+ "\u05D5\u202C": "V" # ו‬
49
+ "\u05D5\u05BC": "V" # וּ
50
+ # "\uFB35": "V" # וּ # To vowels "U"
51
+ "\u05D6": "Z" # ז
52
+ "\u05D6\u05BC": "Z" # זּ
53
+ "\uFB36": "Z" # זּ‬
54
+ "\u05D6\u05F3": "ZH" # ז׳
55
+ "\u05D7": "CH" # ח
56
+ "\u05D8": "T" # ט
57
+ "\u05D8\u05BC": "T" # טּ
58
+ "\uFB38": "T" # טּ
59
+ "\u05D9": "Y" # י
60
+ "\u05D9\u05BC": "Y" # יּ
61
+ "\u05D9\u05BC\u202C": "Y" # יּ‬
62
+ "\uFB39": "Y" # יּ‬
63
+ "\u05DB": "CH" # כ
64
+ "\u05DB\u05BC": "CH" # כּ
65
+ "\u05DB\u05BC\u202C": "CH" # כּ
66
+ "\uFB3B": "C" #
67
+ "\u05DA": "CH" # ך
68
+ "\u05DA\u05BC": "CH" # ךּ
69
+ "\u05DA\u05BC\u202C": "CH" # ךּ‬
70
+ "\uFB3A": "CH" #
71
+ "\u05DC": "L" # ל‬
72
+ "\u05DC\u05BC": "L" # לּ
73
+ "\uFB3C": "L" #
74
+ "\u05DD": "M" # ם
75
+ "\u05DE": "M" # מ‬
76
+ "\u05DE\u05BC": "M" # מּ
77
+ "\uFB3E": "M" # מּ‬
78
+ "\u05DF": "N" # ן
79
+ "\u05E0": "N" # נ
80
+ "\u05E0\u05BC": "N" # נּ
81
+ "\uFB40": "N" #
82
+ "\u05E1": "S" # ס
83
+ "\u05E1\u05BC": "S" # סּ
84
+ "\uFB41": "S" #
85
+ "\u05E2": "" # ע
86
+ "\u05E3": "F" # ף
87
+ "\u05E3\u05BC": "P" # Possible problem u05BC # ףּ
88
+ "\uFB43": "P" #
89
+ "\u05E4": "F" # פ‬
90
+ "\u05E4\u05BC": "P" # פּ
91
+ "\uFB44": "P" #
92
+ "\u05E5": "TZ" # ץ
93
+ "\u05E5\u05F3": "TSH" # Possible problem u05F3 # ץ׳
94
+ "\u05E6": "TZ" # צ‬
95
+ "\u05E6\u05BC": "TZ" # צּ
96
+ "\uFB46": "TZ" # צּ‬
97
+ "\u05E6\u05F3": "TSH" # Possible problem u05F3 # צ׳
98
+ "\u05E7": "Q" # ק
99
+ "\u05E7\u05BC": "Q" # קּ
100
+ "\uFB47": "Q" # קּ‬
101
+ "\u05E8": "R" # ר
102
+ "\u05E8\u05BC": "R" # רּ
103
+ "\uFB48": "R" #
104
+ "\u05E9": "S" # ש
105
+ "\u05E9\u05BC": "S" # שּ
106
+ "\uFB49": "S" # שּ‬
107
+ "\u05E9\u05C2\u202C": "S" # שׂ
108
+ "\uFB2B": "S" #
109
+ "\u05E9\u05C1": "SH" # שׁ
110
+ "\uFB2A": "SH" #
111
+ "\u05E9\u05BC\u05C2\u202C": "S" # שּׂ‬
112
+ "\uFB2D": "S" #
113
+ "\u05EA": "T" # ת
114
+ "\u05EA\u05BC": "T" # תּ
115
+ "\uFB4A": "T" #
116
+ "\u05EA\u05F3": "T" # ת׳
123
117
 
124
118
  # Niqqud vowels
125
- "\u05B0": "E", # ( ְ‬ )
126
- "\u05B1": "E", # ( ֱ )
127
- "\u05B2": "A", # ( ֲ )
128
- "\u05B3": "O", # ( ֲ )
129
- "\u05B4": "I", # ( ִ )
130
- "\u05B5": "E", # ( ֵ )
131
- "\u05B6": "E", # ( ֶ )
132
- "\u05B7": "A", # ( ַ )
133
- "\u05B8": "O", # ( ָ ) # It could be "A" too
134
- "\u05B9": "O", # ( ֹ )
135
- "\u05BB": "U", # ( ֻ )
136
- "\u05D5\u05BC": "U", # ( וּ )
137
- "\uFB35": "U", # ( וּ )
119
+ "\u05B0": "E" # ( ְ‬ )
120
+ "\u05B1": "E" # ( ֱ )
121
+ "\u05B2": "A" # ( ֲ )
122
+ "\u05B3": "O" # ( ֲ )
123
+ "\u05B4": "I" # ( ִ )
124
+ "\u05B5": "E" # ( ֵ )
125
+ "\u05B6": "E" # ( ֶ )
126
+ "\u05B7": "A" # ( ַ )
127
+ "\u05B8": "O" # ( ָ ) # It could be "A" too
128
+ "\u05B9": "O" # ( ֹ )
129
+ "\u05BB": "U" # ( ֻ )
130
+ "\u05D5\u05BC": "U" # ( וּ )
131
+ "\uFB35": "U" # ( וּ )
138
132
 
139
133
  # Diphthongs
140
- "\u05B5\u05D9": "EI", # ( ֵי )
141
- "\u05B6\u05D9": "EI", # ( ֶי )
142
- "\u05B7\u05D9": "AI", # ( ַי )
143
- "\u05B7\u05D9\u05B0": "AI", # ( ַיְ )
144
- "\u05B7\u05D9\u05B0\u202C": "AI", # ( ַיְ‬ )
145
- "\u05B8\u05D9": "AI", # ( ָי )
146
- "\u05B8\u05D9\u202C": "AI", # ( ָי‬ )
147
- "\u05B8\u05D9\u05B0": "AI", # ( ָיְ )
148
- "\u05B8\u05D9\u05B0\u202C": "AI", # ( ָיְ‬ )
149
- "\u05B9\u05D9": "OI", # ( ֹי )
150
- "\u05B9\u05D9\u05B0": "OI", # ( ֹיְ )
151
- "\u05B9\u05D9\u05B0\u202C": "OI", # ( ֹיְ‬ )
152
- "\u05BB\u05D9": "UI", # ( ֻי )
153
- "\u05BB\u05D9\u05B0": "UI", # ( ֻיְ )
154
- "\u05BB\u05D9\u05B0\u202C": "UI", # ( ֻיְ‬ )
155
- "\u05D5\u05BC\u05D9": "UI", # ( וּי )
156
- "\u05D5\u05BC\u05D9\u05B0": "UI", # ( וּיְ )
157
- "\u05D5\u05BC\u05D9\u05B0\u202C": "UI", # ( וּיְ‬ )
134
+ "\u05B5\u05D9": "EI" # ( ֵי )
135
+ "\u05B6\u05D9": "EI" # ( ֶי )
136
+ "\u05B7\u05D9": "AI" # ( ַי )
137
+ "\u05B7\u05D9\u05B0": "AI" # ( ַיְ )
138
+ "\u05B7\u05D9\u05B0\u202C": "AI" # ( ַיְ‬ )
139
+ "\u05B8\u05D9": "AI" # ( ָי )
140
+ "\u05B8\u05D9\u202C": "AI" # ( ָי‬ )
141
+ "\u05B8\u05D9\u05B0": "AI" # ( ָיְ )
142
+ "\u05B8\u05D9\u05B0\u202C": "AI" # ( ָיְ‬ )
143
+ "\u05B9\u05D9": "OI" # ( ֹי )
144
+ "\u05B9\u05D9\u05B0": "OI" # ( ֹיְ )
145
+ "\u05B9\u05D9\u05B0\u202C": "OI" # ( ֹיְ‬ )
146
+ "\u05BB\u05D9": "UI" # ( ֻי )
147
+ "\u05BB\u05D9\u05B0": "UI" # ( ֻיְ )
148
+ "\u05BB\u05D9\u05B0\u202C": "UI" # ( ֻיְ‬ )
149
+ "\u05D5\u05BC\u05D9": "UI" # ( וּי )
150
+ "\u05D5\u05BC\u05D9\u05B0": "UI" # ( וּיְ )
151
+ "\u05D5\u05BC\u05D9\u05B0\u202C": "UI" # ( וּיְ‬ )