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
@@ -0,0 +1,220 @@
1
+ ---
2
+ authority_id: iso
3
+ id: 15919-2001
4
+ language: iso-639-2:kan
5
+ source_script: Knda
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
+
49
+
50
+ tests:
51
+ - source: "ಈಗ ವೈರಲ್ ಆಗುತ್ತಿದೆ ಕಂಗನಾ ರಣಾವುತ್ ಹಳೇಯ ವಿಡಿಯೋ"
52
+ expected: "īga vaairala āgautataidae kaṁganaā raṇaāvauta haḷaēya vaiḍaiyaō"
53
+ - source: "ಸಂಕಷ್ಟ ಎದುರಾದರೆ ಬಿಎಸ್‌ವೈ ಬೆನ್ನಿಗೆ ಎಚ್‌ಡಿಕೆ ?"
54
+ expected: "saṁkaṣaṭa edauraādarae baiesavaai baenanaigae ecaḍaikae ?"
55
+ - source: "ಶಾಸಕರಿಂದಲೂ ಒತ್ತಡ?"
56
+ expected: "śaāsakaraiṁdalaū otataḍa?"
57
+ - source: "ಏಕೆಂದರೆ, ಇವರ ಹೆಸರೇ ಕೊರೊನಾ!"
58
+ expected: "ēkaeṁdarae, ivara haesaraē kaeūraonaā!"
59
+ - source: "ಕೊರೊನಾಕ್ಕಿಂತಲೂ ಮುಂಚೆಯೇ ಅವರು ಕೊರೊನಾ ಆಗಿದ್ದವರು!"
60
+ expected: "kaeūraonaākakaiṁtalaū mauṁcaeyaē avarau kaeūraonaā āgaidadavarau!"
61
+ - source: "ಕೇರಳದ ಕೊಟ್ಟಾಯಂನ ಮಹಿಳೆಯೊಬ್ಬರು ಈಗ ತಮ್ಮ ಹೆಸರು ಹೇಳಲು ಮುಜುಗರ ಪಡುವಂತಾಗಿದೆ"
62
+ expected: "kaēraḷada kaeūṭaṭaāyaṁna mahaiḷaeyaobabarau īga tamama haesarau haēḷalau maujaugara paḍauvaṁtaāgaidae"
63
+ - source: "ಬೇರೆ ಬೆಳವಣಿಗೆಗೆ ಸಾಕ್ಷಿ ಸಾಧ್ಯತೆ"
64
+ expected: "baērae baeḷavaṇaigaegae saākaṣai saādhayatae"
65
+ - source: "ಗುರು ಶನಿ ಗ್ರಹಗಳ ನಡುವೆ 3 ಜನರ ಪ್ರಯಾಣ"
66
+ expected: "gaurau śanai garahagaḷa naḍauvae 3 janara parayaāṇa"
67
+ - source: "ಕೊರೊನಾ ಬಿಕ್ಕಟ್ಟಿನ ಕಾಲದಲ್ಲಿ “ಮಿಸೆಸ್‌ ಕೊರೊನಾ’ಗೆ ಸಮಸ್ಯೆ!"
68
+ expected: "kaeūraonaā baikakaṭaṭaina kaāladalalai “maisaesa kaeūraonaā’gae samasayae!"
69
+ - source: "ಕೆಲವು ತಿಂಗಳಿಂದ ರಷ್ಯಾ ದೇಶದ ಏನಾಟೊಲಿ ಇವ್ಯಾನಿಶಿನ್‌ ಮತ್ತು ಇವಾನ್‌ ವ್ಯಾಗನರ್‌ ಹಾಗೂ ಅಮೆರಿಕಾದ ಕ್ರಿಸ್‌ ಕ್ಯಾಸಿಡಿ ಈ ಉಪಗ್ರಹದಲ್ಲಿ ವಾಸಿಸುತ್ತಿದ್ದಾರೆ"
70
+ expected: "kaelavau taiṁgaḷaiṁda raṣayaā daēśada ēnaāṭaeūlai ivayaānaiśaina matatau ivaāna vayaāganara haāgaū amaeraikaāda karaisa kayaāsaiḍai ī upagarahadalalai vaāsaisautataidadaārae"
71
+ - source: "ಹಾಂಗ್ ಕಾಂಗ್"
72
+ expected: "haāṁga kaāṁga"
73
+ - source: "೧೮೧೪೦"
74
+ expected: "18140"
75
+
76
+
77
+ map:
78
+
79
+ characters:
80
+ 'ಅ': 'a'
81
+ 'ಆ': 'ā'
82
+ 'ಇ': 'i'
83
+ 'ಈ': 'ī'
84
+ 'ಉ': 'u'
85
+ 'ಊ': 'ū'
86
+ 'ಋ': 'ṛ'
87
+ 'ೠ': "ṝ"
88
+ 'ಌ': 'ḻ'
89
+ 'ೡ': 'ḹ'
90
+ 'ಎ': 'e'
91
+ 'ಏ': 'ē'
92
+ 'ಐ': 'ai'
93
+
94
+ 'ಒ': 'o'
95
+ 'ಓ': 'ō'
96
+ 'ಔ': 'au'
97
+
98
+ # II. Consonants (see Note 2)
99
+ # Gutturals
100
+ 'ಕ': 'ka'
101
+ 'ಖ': 'kha'
102
+ 'ಗ': 'ga'
103
+ 'ಘ': 'gha'
104
+ 'ಙ': 'ṅa'
105
+
106
+ # Palatals
107
+ 'ಚ': 'ca'
108
+ 'ಛ': 'cha'
109
+ 'ಜ': 'ja'
110
+ 'ಝ': 'jha'
111
+ 'ಞ': 'ña'
112
+
113
+ # Cerebrals
114
+ 'ಟ': 'ṭa'
115
+ 'ಠ': 'ṭha'
116
+ 'ಡ': 'ḍa'
117
+ 'ಢ': 'ḍha'
118
+ 'ಣ': 'ṇa'
119
+
120
+ # Dentals
121
+ 'ತ': 'ta'
122
+ 'ಥ': 'tha'
123
+ 'ದ': 'da'
124
+ 'ಧ': 'dha'
125
+ 'ನ': 'na'
126
+
127
+ # Labials
128
+ 'ಪ': 'pa'
129
+ 'ಫ': 'pha'
130
+ 'ಬ': 'ba'
131
+ 'ಭ': 'bha'
132
+ 'ಮ': 'ma'
133
+
134
+ # Semivowels
135
+ 'ಯ': 'ya'
136
+ 'ರ': 'ra'
137
+ 'ಱ': 'ṟa'
138
+ 'ಲ': 'la'
139
+ 'ಳ': 'ḷa'
140
+ 'ವ': 'va'
141
+
142
+ # Sibilants
143
+ 'ಶ': 'śa'
144
+ 'ಷ': 'ṣa'
145
+ 'ಸ': 'sa'
146
+
147
+
148
+ # Aspirate
149
+ 'ಹ': 'ha'
150
+
151
+ 'ಜ಼': 'za'
152
+ 'ಫ಼': 'fa'
153
+
154
+ # Bisarga
155
+ 'ಃ': 'ḥ'
156
+
157
+ 'ೱ': 'ẖ'
158
+ 'ೲ': 'ḫ'
159
+
160
+
161
+ # candrabindu
162
+ '\u0C80': 'm̐'
163
+ '\u0C81': 'm̐'
164
+
165
+ # Abagraha
166
+ 'ಽ': ':’' # (apostrophe)
167
+
168
+ # Anusvāra
169
+ 'ಂ': 'ṁ'
170
+
171
+ '಼': '' #nukta
172
+
173
+ # Medials # Needed for connecting constants
174
+ 'ಾ': "ā"
175
+ 'ಿ': "i"
176
+ 'ೀ': "ī"
177
+ 'ು': "u"
178
+ 'ೂ': "ū"
179
+
180
+ 'ೃ': "ṛ"
181
+ 'ೄ': "ṝ"
182
+ ' ೢ': 'ḷ'
183
+ ' ೣ': 'ḹ'
184
+
185
+ 'ೆ': "e"
186
+ 'ೇ': "ē"
187
+ 'ೈ': "ai"
188
+
189
+
190
+ 'ೊ': 'o'
191
+ 'ೋ': 'ō'
192
+ 'ೌ': 'au'
193
+
194
+ '्': ''
195
+ '़': ''
196
+ '್': ''
197
+ "‍": '' # no need for zero with joiner
198
+ "‌": '' # no need for zero with non joiner ': 'ya'
199
+
200
+
201
+ # for semivowel rule no. 5
202
+ 'ಯಀ': 'm̐ya'
203
+ 'ರಀ': 'm̐ra'
204
+ 'ಱಀ': 'm̐ṟa'
205
+ 'ಲಀ': 'm̐la'
206
+ 'ಳಀ': 'm̐ḷa'
207
+ 'ವಀ': 'm̐va'
208
+
209
+ # numbers
210
+
211
+ '೧': '1'
212
+ '೨': '2'
213
+ '೩': '3'
214
+ '೪': '4'
215
+ '೫': '5'
216
+ '೬': '6'
217
+ '೭': '7'
218
+ '೮': '8'
219
+ '೯': '9'
220
+ '೦': '0'
@@ -0,0 +1,145 @@
1
+ ---
2
+ authority_id: iso
3
+ id: 9984-1996
4
+ language: iso-639-2:kat
5
+ source_script: Geor
6
+ destination_script: Latn
7
+ name: "ISO 9984:1996 Information and documentation — Transliteration of Georgian characters into Latin characters"
8
+ url: https://www.iso.org/standard/17892.html
9
+ creation_date: 1996
10
+ confirmation_date: 1996
11
+ description: |
12
+ Establishes a system for the transliteration of Georgian characters
13
+ into Latin characters to permit international information exchange,
14
+ particularly by electronic means.
15
+
16
+ notes:
17
+
18
+ tests:
19
+
20
+ - source: ხაოფსე
21
+ expected: xaop̕se
22
+
23
+ - source: ჭლოუ
24
+ expected: člou
25
+
26
+ - source: ჩოხულდი
27
+ expected: č̕oxuldi
28
+
29
+ - source: ქვემო ლინდა
30
+ expected: k̕vemo linda
31
+
32
+ - source: ტამკვაჩ იგვავერა
33
+ expected: tamkvač̕ igvavera
34
+
35
+ - source: სვანეთი
36
+ expected: svanet̕i
37
+
38
+ - source: საცხვარისი
39
+ expected: sac̕xvarisi
40
+
41
+ - source: მუხრან-თელეთი
42
+ expected: muxran-t̕elet̕i
43
+
44
+ - source: მუცდი
45
+ expected: muc̕di
46
+
47
+ - source: ლეჩხუმი
48
+ expected: leč̕xumi
49
+
50
+ - source: ვერხნაია მწარა
51
+ expected: verxnaia mcara
52
+
53
+ - source: ეგრისის ქედი
54
+ expected: egrisis k̕edi
55
+
56
+ - source: დოჩარიფშა
57
+ expected: doč̕arip̕ša
58
+
59
+ - source: ბოლოკო
60
+ expected: boloko
61
+
62
+ - source: აჭანდარა
63
+ expected: ačandara
64
+
65
+ - source: აუალიცა
66
+ expected: aualic̕a
67
+
68
+ - source: აკალამრა
69
+ expected: akalamra
70
+
71
+ - source: ლასილი
72
+ expected: lasili
73
+
74
+ - source: გუბაზეული
75
+ expected: gubazeuli
76
+
77
+ - source: ბაყაყი
78
+ expected: baqaqi
79
+
80
+ - source: ძროხა
81
+ expected: jroxa
82
+
83
+ - source: ჰაერი
84
+ expected: haeri
85
+
86
+ - source: ჟოლო
87
+ expected: žolo
88
+
89
+ - source: ჯართი
90
+ expected: ǰart̕i
91
+
92
+ - source: ღრმაღელე
93
+ expected: ḡrmaḡele
94
+
95
+ map:
96
+ characters:
97
+ '\u10d0' : 'a' # ა
98
+ '\u10d1' : 'b' # ბ
99
+ '\u10d2' : 'g' # გ
100
+ '\u10d3' : 'd' # დ
101
+ '\u10d4' : 'e' # ე
102
+ '\u10d5' : 'v' # ვ
103
+ '\u10d6' : 'z' # ზ
104
+
105
+ '\u10f1' : 'ē' # ჱ
106
+
107
+ '\u10d7' : 't̕' # თ
108
+ '\u10d8' : 'i' # ი
109
+ '\u10d9' : 'k' # კ
110
+ '\u10da' : 'l' # ლ
111
+ '\u10db' : 'm' # მ
112
+ '\u10dc' : 'n' # ნ
113
+
114
+ '\u10f2' : 'y' # ჲ
115
+
116
+ '\u10dd' : 'o' # ო
117
+ '\u10de' : 'p' # პ
118
+ '\u10df' : 'ž' # ჟ
119
+ '\u10e0' : 'r' # რ
120
+ '\u10e1' : 's' # ს
121
+ '\u10e2' : 't' # ტ
122
+
123
+ '\u10f3' : 'w' # ჳ
124
+
125
+ '\u10e3' : 'u' # უ
126
+ '\u10e4' : 'p̕' # ფ
127
+ '\u10e5' : 'k̕' # ქ
128
+ '\u10e6' : 'ḡ' # ღ
129
+ '\u10e7' : 'q' # ყ
130
+ '\u10e8' : 'š' # შ
131
+ '\u10e9' : 'č̕' # ჩ
132
+ '\u10ea' : 'c̕' # ც
133
+ '\u10eb' : 'j' # ძ
134
+ '\u10ec' : 'c' # წ
135
+ '\u10ed' : 'č' # ჭ
136
+ '\u10ee' : 'x' # ხ
137
+
138
+ '\u10f4' : 'ẖ' # ჴ
139
+
140
+ '\u10ef' : 'ǰ' # ჯ
141
+ '\u10f0' : 'h' # ჰ
142
+
143
+ '\u10f5' : 'ō' # ჵ
144
+
145
+ '\u10f6' : 'f' # ჶ
@@ -0,0 +1,240 @@
1
+ ---
2
+ authority_id: iso
3
+ id: 1996-method1
4
+ language: iso-639-2:kor
5
+ source_script: Hang
6
+ destination_script: Latn
7
+ name: "ISO/TR 11941:1996 Information and documentation — Transliteration of Korean script into Latin characters"
8
+ url: https://www.iso.org/standard/20564.html
9
+ creation_date: 1996
10
+ adoption_date:
11
+ description: Establishes a system for the transliteration of the characters of Korean script into Latin characters. Intended to provide a means for international communication of written documents.
12
+
13
+ notes: ""
14
+
15
+ tests:
16
+ # Tests from https://www.eki.ee/wgrs/rom2_ko.pdf
17
+ - source: "꽃이"
18
+ expected: "kkoch'i" # Bad OCR
19
+ - source: "강에"
20
+ expected: "kang'e"
21
+ - source: "앉아라"
22
+ expected: "anc'ara"
23
+ - source: "아까"
24
+ expected: "a'kka"
25
+ - source: "흰떡"
26
+ expected: "hyin'tteok"
27
+ - source: "유쾌하다"
28
+ expected: "yu'khwaehata"
29
+
30
+ # Tests from https://github.com/interscript/interscript/files/5249245/ISO-TR-11941-1996.pdf
31
+ - source: "애기"
32
+ expected: "aeki"
33
+ - source: "방"
34
+ expected: "pang"
35
+ - source: "아이"
36
+ expected: "a'i"
37
+ - source: "고양이"
38
+ expected: "ko'yang'i"
39
+ - source: "굽이"
40
+ expected: "kup'i"
41
+ - source: "밖에"
42
+ expected: "pakk'e"
43
+ - source: "박게"
44
+ expected: "pakke"
45
+ - source: "바께"
46
+ expected: "pa'kke"
47
+ - source: "간게"
48
+ expected: "kanke"
49
+ - source: "안자라"
50
+ expected: "ancara"
51
+ - source: "오빠"
52
+ expected: "o'ppa"
53
+ - source: "어찌"
54
+ expected: "eo'cci"
55
+ - source: "아씨"
56
+ expected: "a'ssi"
57
+ - source: "애타다"
58
+ expected: "ae'thata"
59
+ - source: "아프다"
60
+ expected: "a'pheuta"
61
+ - source: "기차다"
62
+ expected: "ki'chata"
63
+ - source: "동녘에"
64
+ expected: "tongnyeokh'e"
65
+ - source: "같이"
66
+ expected: "kath'i"
67
+ - source: "앞에"
68
+ expected: "aph'e"
69
+ - source: "꽃에"
70
+ expected: "kkoch'e"
71
+
72
+ map:
73
+ character_separator: ""
74
+ word_separator: " "
75
+ title_case: False
76
+ inherit: var-kor-Hang-Hang-jamo
77
+
78
+ rules:
79
+
80
+ postrules:
81
+ # Add space to the two ends of the string for easier word boundary handling
82
+ - pattern: "^"
83
+ result: " "
84
+ - pattern: "$"
85
+ result: " "
86
+
87
+ # Marks A, B, C
88
+ - pattern: "(?<!\\p{Hangul})ᄋ" # Word initially
89
+ result: ""
90
+ - pattern: "ᄋ" # See notes 2, 3 and 4.
91
+ result: "'"
92
+ - pattern: "ᆼ" # At the end of a syllable.
93
+ result: "ng"
94
+
95
+ # Note 4: add apostrophe before 5 double consonants at initial position
96
+ # unless start of the word
97
+ - pattern: "(?<=\\p{Hangul})([ᄁᄄᄈᄍᄊ])"
98
+ result: "'\\1"
99
+ # Note 4: (only method 1) same but with 4 aspirated
100
+ - pattern: "(?<=\\p{Hangul})([ᄏᄐᄑᄎ])"
101
+ result: "'\\1"
102
+
103
+ # Consonants differing between method1 and method2
104
+ - pattern: "[ᄀᆨ]"
105
+ result: "k"
106
+ - pattern: "[ᄏᆿ]"
107
+ result: "kh"
108
+ - pattern: "[ᄁᆩ]"
109
+ result: "kk"
110
+ - pattern: "[ᄃᆮ]"
111
+ result: "t"
112
+ - pattern: "[ᄐᇀ]"
113
+ result: "th"
114
+ - pattern: "[ᄄퟍ]"
115
+ result: "tt"
116
+ - pattern: "[ᄇᆸ]"
117
+ result: "p"
118
+ - pattern: "[ᄑᇁ]"
119
+ result: "ph"
120
+ - pattern: "[ᄈퟦ]"
121
+ result: "pp"
122
+ - pattern: "[ᄌᆽ]"
123
+ result: "c"
124
+ - pattern: "[ᄎᆾ]"
125
+ result: "ch"
126
+ - pattern: "[ᄍퟹ]"
127
+ result: "cc"
128
+ # End
129
+
130
+ # Composite differing consonants (cons. https://en.wikipedia.org/wiki/ISO/TR_11941 )
131
+ - pattern: "[ᆪ]"
132
+ result: "ks"
133
+ - pattern: "[ꥤ]" # D. R at the beginning of a syllable
134
+ result: "rk"
135
+ - pattern: "[ᆰ]"
136
+ result: "lk"
137
+ - pattern: "[ᆴ]"
138
+ result: "lth"
139
+ - pattern: "[ꥩ]" # D. R at the beginning of a syllable
140
+ result: "rp"
141
+ - pattern: "[ᆲ]"
142
+ result: "lp"
143
+ - pattern: "[ᆵ]"
144
+ result: "lph"
145
+ - pattern: "[ᅜᆬ]"
146
+ result: "nc"
147
+ - pattern: "[ᄡᆹ]"
148
+ result: "ps"
149
+ # End
150
+
151
+ # Other consonants
152
+ - pattern: "[ᄉᆺ]"
153
+ result: "s"
154
+ - pattern: "[ᄊᆻ]"
155
+ result: "ss"
156
+ - pattern: "[ᄒᇂ]"
157
+ result: "h"
158
+ - pattern: "[ᄂᆫ]"
159
+ result: "n"
160
+ - pattern: "[ᄅ]" # D. R at the beginning of a syllable.
161
+ result: "r"
162
+ - pattern: "[ᆯ]"
163
+ result: "l"
164
+ - pattern: "[ᄆᆷ]"
165
+ result: "m"
166
+ # End
167
+
168
+ # Other composite consonants (cons. https://en.wikipedia.org/wiki/ISO/TR_11941 )
169
+ - pattern: "[ꥬ]" # D. R at the beginning of a syllable
170
+ result: "rs"
171
+ - pattern: "[ᆳ]"
172
+ result: "ls"
173
+ - pattern: "[ꥨ]" # D. R at the beginning of a syllable
174
+ result: "rm"
175
+ - pattern: "[ᆱ]"
176
+ result: "lm"
177
+ - pattern: "[ᄚ]" # D. R at the beginning of a syllable
178
+ result: "rh"
179
+ - pattern: "[ᆶ]"
180
+ result: "lh"
181
+ - pattern: "[ᅝᆭ]"
182
+ result: "nh"
183
+ # End
184
+
185
+ # Vowels
186
+ - pattern: "ᅡ"
187
+ result: "a"
188
+ - pattern: "ᅥ"
189
+ result: "eo"
190
+ - pattern: "ᅩ"
191
+ result: "o"
192
+ - pattern: "ᅮ"
193
+ result: "u"
194
+ - pattern: "ᅳ"
195
+ result: "eu"
196
+ - pattern: "ᅵ"
197
+ result: "i"
198
+ - pattern: "ᅢ"
199
+ result: "ae"
200
+ - pattern: "ᅦ"
201
+ result: "e"
202
+ - pattern: "ᅬ"
203
+ result: "oe"
204
+ - pattern: "ᅣ"
205
+ result: "ya"
206
+ - pattern: "ᅧ"
207
+ result: "yeo"
208
+ - pattern: "ᅭ"
209
+ result: "yo"
210
+ - pattern: "ᅲ"
211
+ result: "yu"
212
+ - pattern: "ᅤ"
213
+ result: "yae"
214
+ - pattern: "ᅨ"
215
+ result: "ye"
216
+ - pattern: "ᅪ"
217
+ result: "wa"
218
+ - pattern: "ᅯ"
219
+ result: "weo"
220
+ - pattern: "ᅱ"
221
+ result: "wi"
222
+ - pattern: "ᅫ"
223
+ result: "wae"
224
+ - pattern: "ᅰ"
225
+ result: "we"
226
+ - pattern: "ᅴ"
227
+ result: "yi"
228
+ # End
229
+
230
+ # Remove space added
231
+ - pattern: "^ "
232
+ result: ""
233
+ - pattern: " $"
234
+ result: ""
235
+
236
+ characters:
237
+ # This is based on Jamo
238
+
239
+ dictionary:
240
+ #