interscript 0.1.2 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.adoc +250 -17
- data/lib/g2pwrapper.py +34 -0
- data/lib/interscript.rb +142 -20
- data/lib/interscript/command.rb +28 -0
- data/lib/interscript/fs.rb +69 -0
- data/lib/interscript/mapping.rb +142 -0
- data/lib/interscript/opal.rb +57 -0
- data/lib/interscript/opal/entrypoint.rb +12 -0
- data/lib/interscript/opal/map_translate.rb +7 -0
- data/lib/interscript/opal/maps.js.erb +10 -0
- data/lib/interscript/version.rb +1 -1
- data/lib/model-7 +0 -0
- data/lib/tha-pt-b-7 +0 -0
- data/maps/acadsin-zho-Hani-Latn-2002.yaml +38916 -0
- data/maps/alalc-amh-Ethi-Latn-1997.yaml +513 -0
- data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
- data/maps/alalc-ara-Arab-Latn-1997.yaml +1287 -0
- data/maps/alalc-asm-Deva-Latn-1997.yaml +165 -0
- data/maps/alalc-asm-Deva-Latn-2012.yaml +40 -0
- data/maps/alalc-aze-Cyrl-Latn-1997.yaml +145 -0
- data/maps/alalc-bel-Cyrl-Latn-1997.yaml +129 -0
- data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
- data/maps/alalc-bul-Cyrl-Latn-1997.yaml +98 -0
- data/maps/alalc-ell-Grek-Latn-1997.yaml +628 -0
- data/maps/alalc-ell-Grek-Latn-2010.yaml +626 -0
- data/maps/alalc-guj-Gujr-Latn-1997.yaml +266 -0
- data/maps/alalc-guj-Gujr-Latn-2011.yaml +64 -0
- data/maps/alalc-hin-Deva-Latn-1997.yaml +211 -0
- data/maps/alalc-hin-Deva-Latn-2011.yaml +47 -0
- data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
- data/maps/alalc-kat-Geor-Latn-1997.yaml +150 -0
- data/maps/alalc-kor-Hang-Latn-1997.yaml +98 -0
- data/maps/alalc-mal-Mlym-Latn-1997.yaml +303 -0
- data/maps/alalc-mal-Mlym-Latn-2012.yaml +73 -0
- data/maps/alalc-mar-Deva-Latn-1997.yaml +189 -0
- data/maps/alalc-mar-Deva-Latn-2011.yaml +45 -0
- data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
- data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
- data/maps/alalc-mon-Cyrl-Latn-1997.yaml +220 -0
- data/maps/alalc-pan-Guru-Latn-1997.yaml +256 -0
- data/maps/alalc-pan-Guru-Latn-2011.yaml +78 -0
- data/maps/alalc-per-Arab-Latn-1997.yaml +375 -0
- data/maps/alalc-pli-Deva-Latn-2012.yaml +144 -0
- data/maps/alalc-pra-Deva-Latn-2012.yaml +47 -0
- data/maps/alalc-rus-Cyrl-Latn-1997.yaml +225 -0
- data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
- data/maps/alalc-san-Deva-Latn-2012.yaml +172 -0
- data/maps/alalc-sin-Sinh-Latn-1997.yaml +292 -0
- data/maps/alalc-sin-Sinh-Latn-2011.yaml +71 -0
- data/maps/alalc-srp-Cyrl-Latn-1997.yaml +118 -0
- data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
- data/maps/alalc-tam-Taml-Latn-1997.yaml +62 -0
- data/maps/alalc-tam-Taml-Latn-2011.yaml +58 -0
- data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +145 -0
- data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
- data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
- data/maps/{bas-rus-Cyrl-Latn-bss.yaml → bas-rus-Cyrl-Latn-2017-bss.yaml} +58 -33
- data/maps/{bas-rus-Cyrl-Latn-oss.yaml → bas-rus-Cyrl-Latn-2017-oss.yaml} +55 -35
- data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
- data/maps/bgn-kor-Hang-Latn-1943.yaml +35 -0
- data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
- data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
- data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
- data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +532 -0
- data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +596 -0
- data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +2 -3
- data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
- data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +188 -0
- data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +289 -0
- data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +119 -0
- data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +15 -65
- data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +184 -0
- data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +705 -0
- data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +23 -0
- data/maps/{bgnpcgn-per-Arab-Latn-1956.yaml → bgnpcgn-fas-Arab-Latn-1956.yaml} +5 -2
- data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
- data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +131 -0
- data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
- data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
- data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
- data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
- data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +163 -0
- data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
- data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +223 -0
- data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +230 -0
- data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +336 -0
- data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +639 -0
- data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +459 -0
- data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +168 -0
- data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +150 -65
- data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +170 -0
- data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +220 -0
- data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +240 -0
- data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +80 -4
- data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +119 -0
- data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +127 -0
- data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +82 -0
- data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
- data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
- data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
- data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
- data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +181 -0
- data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
- data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
- data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
- data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
- data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
- data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
- data/maps/by-bel-Cyrl-Latn-1998.yaml +172 -0
- data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
- data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +899 -0
- data/maps/din-hin-Deva-Latn-33904-2018.yaml +100 -0
- data/maps/din-kat-Geor-Latn-32707-2010.yaml +145 -0
- data/maps/din-mar-Deva-Latn-33904-2018.yaml +84 -0
- data/maps/din-nep-Deva-Latn-33904-2018.yaml +119 -0
- data/maps/din-pli-Deva-Latn-33904-2018.yaml +75 -0
- data/maps/din-pra-Deva-Latn-33904-2018.yaml +63 -0
- data/maps/din-san-Deva-Latn-33904-2018.yaml +338 -0
- data/maps/din-tam-Taml-Latn-33903-2016.yaml +213 -0
- data/maps/dos-nep-Deva-Latn-1997.yaml +47 -0
- data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
- data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
- data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
- data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
- data/maps/ggg-kat-Geor-Latn-2002.yaml +92 -0
- data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
- data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
- data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +190 -0
- data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +157 -0
- data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
- data/maps/icao-bel-Cyrl-Latn-9303.yaml +109 -98
- data/maps/icao-bul-Cyrl-Latn-9303.yaml +2 -7
- data/maps/{icao-per-Arab-Latn-9303.yaml → icao-fas-Arab-Latn-9303.yaml} +6 -8
- data/maps/icao-heb-Hebr-Latn-9303.yaml +119 -125
- data/maps/icao-mkd-Cyrl-Latn-9303.yaml +2 -3
- data/maps/icao-rus-Cyrl-Latn-9303.yaml +2 -4
- data/maps/icao-srp-Cyrl-Latn-9303.yaml +2 -3
- data/maps/icao-ukr-Cyrl-Latn-9303.yaml +2 -4
- data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
- data/maps/iso-asm-Beng-Latn-15919-2001.yaml +75 -0
- data/maps/iso-ben-Beng-Latn-15919-2001.yaml +175 -0
- data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +613 -0
- data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +44 -0
- data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +220 -0
- data/maps/iso-hin-Deva-Latn-15919-2001.yaml +87 -0
- data/maps/iso-inc-Deva-Latn-15919-2001.yaml +61 -0
- data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +66 -0
- data/maps/iso-kan-Knda-Latn-15919-2001.yaml +220 -0
- data/maps/iso-kat-Geor-Latn-9984-1996.yaml +145 -0
- data/maps/iso-kor-Hang-Latn-1996-method1.yaml +240 -0
- data/maps/iso-kor-Hang-Latn-1996-method2.yaml +226 -0
- data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +281 -0
- data/maps/iso-mar-Deva-Latn-15919-2001.yaml +75 -0
- data/maps/iso-nep-Deva-Latn-15919-2001.yaml +87 -0
- data/maps/iso-ori-Orya-Latn-15919-2001.yaml +193 -0
- data/maps/iso-pan-Guru-Latn-15919-2001.yaml +222 -0
- data/maps/iso-pli-Beng-Latn-15919-2001.yaml +73 -0
- data/maps/iso-pli-Deva-Latn-15919-2001.yaml +74 -0
- data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +219 -0
- data/maps/iso-pli-Thai-Latn-15919-2001.yaml +55 -0
- data/maps/iso-pra-Deva-Latn-15919-2001.yaml +59 -0
- data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +366 -0
- data/maps/{iso-rus-Cyrl-Latn-iso9.yaml → iso-rus-Cyrl-Latn-9-1995.yaml} +4 -6
- data/maps/iso-san-Deva-Latn-15919-2001.yaml +220 -0
- data/maps/iso-tam-Taml-Latn-15919-2001.yaml +159 -0
- data/maps/iso-tel-Telu-Latn-15919-2001.yaml +220 -0
- data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
- data/maps/kp-kor-Hang-Latn-2002.yaml +909 -0
- data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
- data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
- data/maps/mns-mon-Cyrl-Latn-5217-2012.yaml +163 -0
- data/maps/mns-mon-Latn-Cyrl-5217-2012.yaml +200 -0
- data/maps/moct-kor-Hang-Latn-2000.yaml +807 -0
- data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
- data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
- data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
- data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
- data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
- data/maps/odni-ara-Arab-Latn-2015.yaml +425 -0
- data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
- data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
- data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
- data/maps/odni-che-Cyrl-Latn-2015.yaml +169 -0
- data/maps/odni-fas-Arab-Latn-2015.yaml +406 -0
- data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
- data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
- data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
- data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
- data/maps/odni-kor-Hang-Latn-2015.yaml +375 -0
- data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
- data/maps/odni-per-Arab-Latn-2015.yaml +228 -0
- data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
- data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
- data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
- data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
- data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
- data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
- data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
- data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
- data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
- data/maps/royin-tha-Thai-Latn-1968.yaml +183 -0
- data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
- data/maps/royin-tha-Thai-Latn-1999.yaml +80 -0
- data/maps/{cn-chn-Hans-Latn-pinyin.yaml → sac-zho-Hans-Latn-1979.yaml} +11 -8
- data/maps/sasm-mon-Mong-Latn-general-1978.yaml +389 -0
- data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +354 -0
- data/maps/ses-ara-Arab-Latn-1930.yaml +283 -0
- data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
- data/maps/ua-ukr-Cyrl-Latn-1996.yaml +197 -0
- data/maps/ua-ukr-Cyrl-Latn-2007.yaml +75 -0
- data/maps/ua-ukr-Cyrl-Latn-2010.yaml +192 -0
- data/maps/un-amh-Ethi-Latn-2016.yaml +602 -0
- data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
- data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
- data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
- data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
- data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
- data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +780 -0
- data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
- data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
- data/maps/un-hin-Deva-Latn-2016.yaml +222 -0
- data/maps/un-mar-Deva-Latn-2016.yaml +91 -0
- data/maps/un-mon-Mong-Latn-general-2013.yaml +264 -0
- data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +264 -0
- data/maps/un-nep-Deva-Latn-1972.yaml +350 -0
- data/maps/un-nep-Deva-Latn-2013.yaml +74 -0
- data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
- data/maps/un-ukr-Cyrl-Latn-1998.yaml +53 -0
- data/maps/un-ukr-Cyrl-Latn-2012.yaml +162 -0
- data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +221 -0
- data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
- data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
- data/maps/var-kor-Hang-Hang-jamo.yaml +11193 -0
- data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
- data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
- data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
- data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +43 -0
- data/maps/var-mon-Mong-Latn-1930.yaml +102 -0
- data/maps/var-mon-Mong-Latn-lessing.yaml +272 -0
- data/maps/var-mon-Mong-Latn-vpmc.yaml +274 -0
- data/maps/var-pra-Deva-Latn-iast-1912.yaml +30 -0
- data/maps/var-san-Deva-Latn-iast-1912.yaml +149 -0
- data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
- data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
- data/maps/var-zho-Hani-Latn-wd-1979.yaml +38912 -0
- data/spec/interscript/filenames_spec.rb +384 -0
- data/spec/interscript/mapping_spec.rb +42 -0
- data/spec/interscript_spec.rb +23 -5
- data/spec/spec_helper.rb +3 -1
- metadata +364 -34
- data/bin/interscript +0 -20
- data/bin/rspec +0 -29
- data/maps/bgnpcgn-chn-Hans-Latn-pinyin.yaml +0 -7503
- data/maps/historic-jpn-Hrkt-Latn-hepburn.yaml +0 -336
- data/maps/icao-gre-Grek-Latn-9303.yaml +0 -101
- data/maps/mext-jpn-Hrkt-Latn-hepburn.yaml +0 -330
- data/maps/mext-jpn-Hrkt-Latn-kunrei.yaml +0 -308
- data/maps/un-jpn-Hrkt-Latn-hepburn.yaml +0 -313
- data/maps/un-jpn-Hrkt-Latn-kunrei.yaml +0 -354
- data/maps/un-mon-Mong-Latn-2013.yaml +0 -80
@@ -0,0 +1,226 @@
|
|
1
|
+
---
|
2
|
+
authority_id: iso
|
3
|
+
id: 1996-method2
|
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: "ggoc'i" # Bad OCR
|
19
|
+
- source: "강에"
|
20
|
+
expected: "gang'e"
|
21
|
+
- source: "앉아라"
|
22
|
+
expected: "anj'ara"
|
23
|
+
- source: "아까"
|
24
|
+
expected: "a'gga"
|
25
|
+
- source: "흰떡"
|
26
|
+
expected: "hyin'ddeog"
|
27
|
+
#- source: "유쾌하다" not present in method2
|
28
|
+
# expected: "yu'khwaehata"
|
29
|
+
|
30
|
+
# Tests from https://github.com/interscript/interscript/files/5249245/ISO-TR-11941-1996.pdf
|
31
|
+
- source: "애기"
|
32
|
+
expected: "aegi"
|
33
|
+
- source: "방"
|
34
|
+
expected: "bang"
|
35
|
+
- source: "아이"
|
36
|
+
expected: "a'i"
|
37
|
+
- source: "고양이"
|
38
|
+
expected: "go'yang'i"
|
39
|
+
- source: "굽이"
|
40
|
+
expected: "gub'i"
|
41
|
+
- source: "밖에"
|
42
|
+
expected: "bagg'e"
|
43
|
+
- source: "박게"
|
44
|
+
expected: "bagge"
|
45
|
+
- source: "바께"
|
46
|
+
expected: "ba'gge"
|
47
|
+
- source: "간게"
|
48
|
+
expected: "gange"
|
49
|
+
- source: "안자라"
|
50
|
+
expected: "anjara"
|
51
|
+
- source: "오빠"
|
52
|
+
expected: "o'bba"
|
53
|
+
- source: "어찌"
|
54
|
+
expected: "eo'jji"
|
55
|
+
- source: "아씨"
|
56
|
+
expected: "a'ssi"
|
57
|
+
|
58
|
+
map:
|
59
|
+
character_separator: ""
|
60
|
+
word_separator: " "
|
61
|
+
title_case: False
|
62
|
+
inherit: var-kor-Hang-Hang-jamo
|
63
|
+
|
64
|
+
rules:
|
65
|
+
|
66
|
+
postrules:
|
67
|
+
# Add space to the two ends of the string for easier word boundary handling
|
68
|
+
- pattern: "^"
|
69
|
+
result: " "
|
70
|
+
- pattern: "$"
|
71
|
+
result: " "
|
72
|
+
|
73
|
+
# Marks A, B, C
|
74
|
+
- pattern: "(?<!\\p{Hangul})ᄋ" # Word initially
|
75
|
+
result: ""
|
76
|
+
- pattern: "ᄋ" # See notes 2, 3 and 4.
|
77
|
+
result: "'"
|
78
|
+
- pattern: "ᆼ" # At the end of a syllable.
|
79
|
+
result: "ng"
|
80
|
+
|
81
|
+
# Note 4: add apostrophe before 5 double consonants at initial position
|
82
|
+
# unless start of the word
|
83
|
+
- pattern: "(?<=\\p{Hangul})([ᄁᄄᄈᄍᄊ])"
|
84
|
+
result: "'\\1"
|
85
|
+
# Note 4: (only method 1) same but with 4 aspirated
|
86
|
+
#- pattern: "(?<=\\p{Hangul})([ᄏᄐᄑᄎ])"
|
87
|
+
# result: "'\\1"
|
88
|
+
|
89
|
+
# Consonants differing between method1 and method2
|
90
|
+
- pattern: "[ᄀᆨ]"
|
91
|
+
result: "g"
|
92
|
+
- pattern: "[ᄏᆿ]"
|
93
|
+
result: "k"
|
94
|
+
- pattern: "[ᄁᆩ]"
|
95
|
+
result: "gg"
|
96
|
+
- pattern: "[ᄃᆮ]"
|
97
|
+
result: "d"
|
98
|
+
- pattern: "[ᄐᇀ]"
|
99
|
+
result: "t"
|
100
|
+
- pattern: "[ᄄퟍ]"
|
101
|
+
result: "dd"
|
102
|
+
- pattern: "[ᄇᆸ]"
|
103
|
+
result: "b"
|
104
|
+
- pattern: "[ᄑᇁ]"
|
105
|
+
result: "p"
|
106
|
+
- pattern: "[ᄈퟦ]"
|
107
|
+
result: "bb"
|
108
|
+
- pattern: "[ᄌᆽ]"
|
109
|
+
result: "j"
|
110
|
+
- pattern: "[ᄎᆾ]"
|
111
|
+
result: "c"
|
112
|
+
- pattern: "[ᄍퟹ]"
|
113
|
+
result: "jj"
|
114
|
+
# End
|
115
|
+
|
116
|
+
# Composite differing consonants (cons. https://en.wikipedia.org/wiki/ISO/TR_11941 )
|
117
|
+
- pattern: "[ᆪ]"
|
118
|
+
result: "gs"
|
119
|
+
- pattern: "[ꥤ]" # D. R at the beginning of a syllable
|
120
|
+
result: "rg"
|
121
|
+
- pattern: "[ᆰ]"
|
122
|
+
result: "lg"
|
123
|
+
- pattern: "[ᆴ]"
|
124
|
+
result: "lt"
|
125
|
+
- pattern: "[ꥩ]" # D. R at the beginning of a syllable
|
126
|
+
result: "rb"
|
127
|
+
- pattern: "[ᆲ]"
|
128
|
+
result: "lb"
|
129
|
+
- pattern: "[ᆵ]"
|
130
|
+
result: "lp"
|
131
|
+
- pattern: "[ᅜᆬ]"
|
132
|
+
result: "nj"
|
133
|
+
- pattern: "[ᄡᆹ]"
|
134
|
+
result: "bs"
|
135
|
+
# End
|
136
|
+
|
137
|
+
# Other consonants
|
138
|
+
- pattern: "[ᄉᆺ]"
|
139
|
+
result: "s"
|
140
|
+
- pattern: "[ᄊᆻ]"
|
141
|
+
result: "ss"
|
142
|
+
- pattern: "[ᄒᇂ]"
|
143
|
+
result: "h"
|
144
|
+
- pattern: "[ᄂᆫ]"
|
145
|
+
result: "n"
|
146
|
+
- pattern: "[ᄅ]" # D. R at the beginning of a syllable.
|
147
|
+
result: "r"
|
148
|
+
- pattern: "[ᆯ]"
|
149
|
+
result: "l"
|
150
|
+
- pattern: "[ᄆᆷ]"
|
151
|
+
result: "m"
|
152
|
+
# End
|
153
|
+
|
154
|
+
# Other composite consonants (cons. https://en.wikipedia.org/wiki/ISO/TR_11941 )
|
155
|
+
- pattern: "[ꥬ]" # D. R at the beginning of a syllable
|
156
|
+
result: "rs"
|
157
|
+
- pattern: "[ᆳ]"
|
158
|
+
result: "ls"
|
159
|
+
- pattern: "[ꥨ]" # D. R at the beginning of a syllable
|
160
|
+
result: "rm"
|
161
|
+
- pattern: "[ᆱ]"
|
162
|
+
result: "lm"
|
163
|
+
- pattern: "[ᄚ]" # D. R at the beginning of a syllable
|
164
|
+
result: "rh"
|
165
|
+
- pattern: "[ᆶ]"
|
166
|
+
result: "lh"
|
167
|
+
- pattern: "[ᅝᆭ]"
|
168
|
+
result: "nh"
|
169
|
+
# End
|
170
|
+
|
171
|
+
# Vowels
|
172
|
+
- pattern: "ᅡ"
|
173
|
+
result: "a"
|
174
|
+
- pattern: "ᅥ"
|
175
|
+
result: "eo"
|
176
|
+
- pattern: "ᅩ"
|
177
|
+
result: "o"
|
178
|
+
- pattern: "ᅮ"
|
179
|
+
result: "u"
|
180
|
+
- pattern: "ᅳ"
|
181
|
+
result: "eu"
|
182
|
+
- pattern: "ᅵ"
|
183
|
+
result: "i"
|
184
|
+
- pattern: "ᅢ"
|
185
|
+
result: "ae"
|
186
|
+
- pattern: "ᅦ"
|
187
|
+
result: "e"
|
188
|
+
- pattern: "ᅬ"
|
189
|
+
result: "oe"
|
190
|
+
- pattern: "ᅣ"
|
191
|
+
result: "ya"
|
192
|
+
- pattern: "ᅧ"
|
193
|
+
result: "yeo"
|
194
|
+
- pattern: "ᅭ"
|
195
|
+
result: "yo"
|
196
|
+
- pattern: "ᅲ"
|
197
|
+
result: "yu"
|
198
|
+
- pattern: "ᅤ"
|
199
|
+
result: "yae"
|
200
|
+
- pattern: "ᅨ"
|
201
|
+
result: "ye"
|
202
|
+
- pattern: "ᅪ"
|
203
|
+
result: "wa"
|
204
|
+
- pattern: "ᅯ"
|
205
|
+
result: "weo"
|
206
|
+
- pattern: "ᅱ"
|
207
|
+
result: "wi"
|
208
|
+
- pattern: "ᅫ"
|
209
|
+
result: "wae"
|
210
|
+
- pattern: "ᅰ"
|
211
|
+
result: "we"
|
212
|
+
- pattern: "ᅴ"
|
213
|
+
result: "yi"
|
214
|
+
# End
|
215
|
+
|
216
|
+
# Remove space added
|
217
|
+
- pattern: "^ "
|
218
|
+
result: ""
|
219
|
+
- pattern: " $"
|
220
|
+
result: ""
|
221
|
+
|
222
|
+
characters:
|
223
|
+
# This is based on Jamo
|
224
|
+
|
225
|
+
dictionary:
|
226
|
+
#
|
@@ -0,0 +1,281 @@
|
|
1
|
+
---
|
2
|
+
authority_id: iso
|
3
|
+
id: 15919-2001
|
4
|
+
language: iso-639-2:mal
|
5
|
+
source_script: Mlym
|
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
|
+
- Malayalam anusvara final in a word shall be transliterated as m .
|
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
|
+
- Pure consonant ( cillŭ form) in Malayalam script, other than r/ṟ (ർ), before a consonant, as in n:na formed with a
|
39
|
+
pure consonant (not the ligature nna). Medial ൕ in Malayalam text shall be treated as a pure consonant ( cillŭ
|
40
|
+
form).
|
41
|
+
- If a character in an Indic script is defined in such a way as to be equivalent to another character in any
|
42
|
+
script, where the second character has a transliteration in this International Standard, then the first character shall
|
43
|
+
be transliterated in the same way as the second character.
|
44
|
+
- When the half-nasal in Telugu script is used for modern nasalization in writing Hindi or
|
45
|
+
any other language, it shall be transliterated as a tilde above the transliterated vowel. In the case of the digraphs ai,
|
46
|
+
au, the tilde shall be attached to the second vowel
|
47
|
+
- Where it is desired to show the Vedic accent Anudatta, it should be transliterated as an underscore. In the case of
|
48
|
+
the digraphs ai, au, both Latin vowels should be underscored.
|
49
|
+
Where word boundaries are not shown in the original text (as happens commonly in Sanskrit) and a word ends in a
|
50
|
+
consonant, the transliteration should show word division by a space; but when phonological processes result in two
|
51
|
+
words sharing a common vowel, no attempt should be made to separate them. This will require a good knowledge
|
52
|
+
of the language in question.
|
53
|
+
- In Malayalam text, ് acts as the mātrā for ŭ when final in a word, except when it removes the inherent vowel of a single
|
54
|
+
consonant.
|
55
|
+
- The ambiguous pure consonant r/ṟ (ർ) in Malayalam script shall be transliterated into r when combined
|
56
|
+
with another consonant; when it is final in a word it shall be transliterated as ṟ in Malayalam language.
|
57
|
+
|
58
|
+
tests:
|
59
|
+
- source: "സ്വപ്നയ്ക്കൊപ്പം ഹോട്ടലിൽ മന്ത്രിപുത്രൻ, ചിത്രങ്ങൾ; ൪ കോടി കമ്മിഷനിലും പങ്കുപറ്റി"
|
60
|
+
expected: "svapnaykkaeāppam haōṭṭalai:la mantraipautra:ṇa, caitraṅṅa:ḷa; 4 kaōṭai kammaiṣanailaum paṅkaupaṟṟai"
|
61
|
+
- source: "വിവാദങ്ങളിൽ മാപ്പില്ല, ആദ്യമായി ഐപിഎൽ കമന്ററിക്കില്ലാതെ മഞ്ജരേക്കര്; പുറത്ത് തന്നെ"
|
62
|
+
expected: "vaivaādaṅṅaḷai:la maāppailla, ādyamaāyai aipaie:la kamanṟaṟaikkaillaātae mañjaraēkkaraŭ; pauṟattaŭ tannae"
|
63
|
+
- source: "പരമാവധി ഊറ്റിയെടുത്തു; എല്ലാം കഴിഞ്ഞ് ഉപേക്ഷിച്ചു: വിങ്ങലോടെ റംസിയുടെ സഹോദരി"
|
64
|
+
expected: "paramaāvadhai ūṟṟaiyaeṭauttau; ellaām kaḻaiññaŭ upaēkṣaiccau: vaiṅṅalaōṭae ṟaṁsaiyauṭae sahaōdarai"
|
65
|
+
- source: "വഴിനീളെ രോഷം; യൂത്ത് കോണ്ഗ്രസുകാരന്റെ കയ്യൊടിഞ്ഞു, കൈവീശികാട്ടി ജലീൽ"
|
66
|
+
expected: "vaḻainaīḷae raōṣam; yaūttaŭ kaōṇaŭgrasaukaāranṟae kayyaoṭaiññau, kaaivaīśaikaāṭṭai jalaī:la"
|
67
|
+
- source: "‘വികൃതിപ്പയ്യനാ’യിരുന്ന കോലി മിന്നും താരമായത് ഇന്ത്യൻ ക്രിക്കറ്റിന്റെ ഗുണം: അക്തർ"
|
68
|
+
expected: "‘vaikaṛtaippayyanaā’yairaunna kaōlai mainnaum taāramaāyataŭ intya:ṇa kraikkaṟṟainṟae gauṇam: aktaṟ"
|
69
|
+
- source: "ലോകത്തിനു വാക്സീൻ വേണമെങ്കിൽ ഈ നഗരം കനിയണം; തലയുയർത്തി ഇന്ത്യ"
|
70
|
+
expected: "laōkattainau vaāksaī:ṇa vaēṇamaeṅkai:la ī nagaram kanaiyaṇam; talayauyarttai intya"
|
71
|
+
- source: "‘അദ്ദേഹം ഒരു മകളെപ്പോലെ എന്നെ കേട്ടു’: ഗവർണറെ കണ്ട് കങ്കണ റനൗട്ട്"
|
72
|
+
expected: "‘addaēham orau makaḷaeppaōlae ennae kaēṭṭau’: gavarṇaṟae kaṇṭaŭ kaṅkaṇa ṟanaṭṭaŭ"
|
73
|
+
- source: "‘എല്ലാം ഫെയ്സ്ബുക്കില് പറയുമെന്നു ജലീല്; കനത്ത സുരക്ഷയില് യാത്ര, കരിങ്കൊടി"
|
74
|
+
expected: "‘ellaām phaeyaŭsbaukkailaŭ paṟayaumaennau jalaīlaŭ; kanatta saurakṣayailaŭ yaātra, karaiṅkaoṭai"
|
75
|
+
- source: "ഏറ്റവും ചെറുപ്പം ജോയി; ജയലക്ഷ്മി, ദീപ്തി, ജ്യോതി; പട്ടികയിലെ നിര ഇങ്ങനെ"
|
76
|
+
expected: "ēṟṟavaum caeṟauppam jaōyai; jayalakṣmai, daīptai, jyaōtai; paṭṭaikayailae naira iṅṅanae"
|
77
|
+
- source: "പരിശോധന കുറച്ച് കേരളം; കോവിഡ് ടെസ്റ്റ് പോസിറ്റിവിറ്റി നിരക്ക് എറ്റവും ഉയർന്ന്; ആശങ്ക"
|
78
|
+
expected: "paraiśaōdhana kauṟaccaŭ kaēraḷam; kaōvaid̂aŭ ṭaesṟṟaŭ paōsaiṟṟaivaiṟṟai nairakkaŭ eṟṟavaum uyarnnaŭ; āśaṅka"
|
79
|
+
- source: "൱"
|
80
|
+
expected: "100"
|
81
|
+
|
82
|
+
map:
|
83
|
+
|
84
|
+
rules:
|
85
|
+
- pattern: (?<=)\u0D4D(?=\b) # Rule 12
|
86
|
+
result: 'ŭ'
|
87
|
+
- pattern: (?<=)\u0D02(?=\b) # Rule 3
|
88
|
+
result: 'm'
|
89
|
+
- pattern: (?<=)\u0D7C(?=\b) # Rule 13
|
90
|
+
result: 'ṟ'
|
91
|
+
|
92
|
+
characters:
|
93
|
+
'അ': 'a'
|
94
|
+
'ആ': 'ā'
|
95
|
+
'ഇ': 'i'
|
96
|
+
'ഈ': 'ī'
|
97
|
+
'ഉ': 'u'
|
98
|
+
'ഊ': 'ū'
|
99
|
+
'ഋ': "ṛ"
|
100
|
+
'ൠ': "ṝ"
|
101
|
+
'ഌ': "ḷ"
|
102
|
+
'ൡ': "ḹ"
|
103
|
+
|
104
|
+
'എ': 'e'
|
105
|
+
'ഏ': 'ē'
|
106
|
+
'ഐ': 'ai'
|
107
|
+
|
108
|
+
'ഒ': 'o'
|
109
|
+
'ഓ': 'ō'
|
110
|
+
'ഔ': 'au'
|
111
|
+
|
112
|
+
# Consonants
|
113
|
+
# Gutturals
|
114
|
+
'ക': 'ka'
|
115
|
+
'ഖ': 'kha'
|
116
|
+
'ഗ': 'ga'
|
117
|
+
'ഘ': 'gha'
|
118
|
+
'ങ': 'ṅa'
|
119
|
+
|
120
|
+
# Palatals
|
121
|
+
'ച': 'ca'
|
122
|
+
'ഛ': 'cha'
|
123
|
+
'ജ': 'ja'
|
124
|
+
'ഝ': 'jha'
|
125
|
+
'ഞ': 'ña'
|
126
|
+
|
127
|
+
# Cerebrals
|
128
|
+
'ട': 'ṭa'
|
129
|
+
'ഠ': 'ṭha'
|
130
|
+
'ഡ': 'd̂a'
|
131
|
+
'ഢ': 'ḍha'
|
132
|
+
'ണ': 'ṇa'
|
133
|
+
|
134
|
+
# Dentals
|
135
|
+
'ത': 'ta'
|
136
|
+
'ഥ': 'tha'
|
137
|
+
'ദ': 'da'
|
138
|
+
'ധ': 'dha'
|
139
|
+
'ന': 'na'
|
140
|
+
|
141
|
+
# Labials
|
142
|
+
'പ': 'pa'
|
143
|
+
'ഫ': 'pha'
|
144
|
+
'ബ': 'ba'
|
145
|
+
'ഭ': 'bha'
|
146
|
+
'മ': 'ma'
|
147
|
+
|
148
|
+
# Semivowels
|
149
|
+
'യ': 'ya'
|
150
|
+
'ര': 'ra'
|
151
|
+
'ർ': 'r'
|
152
|
+
'റ': 'ṟa'
|
153
|
+
'ല': 'la'
|
154
|
+
'ള': 'ḷa'
|
155
|
+
'ഴ': 'ḻa'
|
156
|
+
# Sibilants
|
157
|
+
'വ': 'va'
|
158
|
+
'ശ': 'śa'
|
159
|
+
'ഷ': 'ṣa'
|
160
|
+
'സ': 'sa'
|
161
|
+
'ഩ': 'ṉa'
|
162
|
+
|
163
|
+
|
164
|
+
# Aspirate
|
165
|
+
'ഹ': 'ha'
|
166
|
+
|
167
|
+
# Bisarga
|
168
|
+
'ഃ': 'ḥ'
|
169
|
+
|
170
|
+
# Anusvāra
|
171
|
+
'ം': 'ṁ'
|
172
|
+
|
173
|
+
|
174
|
+
# Abagraha
|
175
|
+
'ഽ': ':’' # (apostrophe)
|
176
|
+
|
177
|
+
# Medials # Needed for connecting constants
|
178
|
+
|
179
|
+
'ാ': 'ā'
|
180
|
+
'ി': 'i'
|
181
|
+
'ീ': 'ī'
|
182
|
+
'ു': 'u'
|
183
|
+
'ൂ': 'ū'
|
184
|
+
'്': 'ŭ'
|
185
|
+
'ൃ': "ṛ"
|
186
|
+
'ൄ': "ṝ"
|
187
|
+
'\u0D62': "ḷ"
|
188
|
+
'\u0D63': "ḹ"
|
189
|
+
'െ': "e"
|
190
|
+
'േ': "ē"
|
191
|
+
'ൈ': "ai"
|
192
|
+
'ൊ': 'o'
|
193
|
+
'ോ': 'ō'
|
194
|
+
'ൌ': 'au'
|
195
|
+
|
196
|
+
'्': ''
|
197
|
+
'़': ''
|
198
|
+
'ൗ': ''
|
199
|
+
"": '' # no need for zero with joiner
|
200
|
+
"": '' # no need for zero with non joiner
|
201
|
+
|
202
|
+
|
203
|
+
# For rule 12
|
204
|
+
# Gutturals
|
205
|
+
'ക്': 'k'
|
206
|
+
'ഖ്': 'kh'
|
207
|
+
'ഗ്': 'g'
|
208
|
+
'ഘ്': 'gh'
|
209
|
+
'ങ്': 'ṅ'
|
210
|
+
|
211
|
+
# Palatals
|
212
|
+
'ച്': 'c'
|
213
|
+
'ഛ്': 'ch'
|
214
|
+
'ജ്': 'j'
|
215
|
+
'ഝ്': 'jh'
|
216
|
+
'ഞ്': 'ñ'
|
217
|
+
|
218
|
+
# Cerebrals
|
219
|
+
'ട്': 'ṭ'
|
220
|
+
'ഠ്': 'ṭh'
|
221
|
+
'ഡ്': 'd̂'
|
222
|
+
'ഢ്': 'ḍh'
|
223
|
+
'ണ്': 'ṇ'
|
224
|
+
|
225
|
+
# Dentals
|
226
|
+
'ത്': 't'
|
227
|
+
'ഥ്': 'th'
|
228
|
+
'ദ്': 'd'
|
229
|
+
'ധ്': 'dh'
|
230
|
+
'ന്': 'n'
|
231
|
+
|
232
|
+
# Labials
|
233
|
+
'പ്': 'p'
|
234
|
+
'ഫ്': 'ph'
|
235
|
+
'ബ്': 'b'
|
236
|
+
'ഭ്': 'bh'
|
237
|
+
'മ്': 'm'
|
238
|
+
|
239
|
+
# Semivowels
|
240
|
+
'യ്': 'y'
|
241
|
+
'ര്': 'r'
|
242
|
+
'റ്': 'ṟ'
|
243
|
+
'ല്': 'l'
|
244
|
+
'ള്': 'ḷ'
|
245
|
+
'ഴ്': 'ḻ'
|
246
|
+
# Sibilants
|
247
|
+
'വ്': 'v'
|
248
|
+
'ശ്': 'ś'
|
249
|
+
'ഷ്': 'ṣ'
|
250
|
+
'സ്': 's'
|
251
|
+
'ഩ്': 'ṉ'
|
252
|
+
|
253
|
+
|
254
|
+
# Aspirate
|
255
|
+
'ഹ്': 'h'
|
256
|
+
|
257
|
+
|
258
|
+
# numbers
|
259
|
+
|
260
|
+
'൦': '0'
|
261
|
+
'൧': '1'
|
262
|
+
'൨': '2'
|
263
|
+
'൩': '3'
|
264
|
+
'൪': '4'
|
265
|
+
'൫': '5'
|
266
|
+
'൬': '6'
|
267
|
+
'൭': '7'
|
268
|
+
'൮': '8'
|
269
|
+
'൯': '9'
|
270
|
+
'൰': '10'
|
271
|
+
'൱': '100'
|
272
|
+
'൲': '1000'
|
273
|
+
|
274
|
+
|
275
|
+
# Rule 8(II)
|
276
|
+
|
277
|
+
'ൺ': ':na'
|
278
|
+
'ൻ': ':ṇa'
|
279
|
+
'ൽ': ':la'
|
280
|
+
'ൾ': ':ḷa'
|
281
|
+
'ൿ': ':ka'
|