interscript 0.1.6 → 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/lib/interscript.rb +10 -6
- data/lib/interscript/fs.rb +0 -2
- data/lib/interscript/mapping.rb +1 -1
- data/lib/interscript/opal.rb +38 -8
- data/lib/interscript/opal/entrypoint.rb +12 -0
- data/lib/interscript/opal/map_translate.rb +7 -0
- data/lib/interscript/version.rb +1 -1
- data/maps/acadsin-zho-Hani-Latn-2002.yaml +5 -1
- data/maps/alalc-amh-Ethi-Latn-1997.yaml +5 -1
- data/maps/alalc-amh-Ethi-Latn-2011.yaml +1 -1
- data/maps/alalc-ara-Arab-Latn-1997.yaml +5 -1
- data/maps/alalc-asm-Deva-Latn-1997.yaml +9 -3
- data/maps/alalc-asm-Deva-Latn-2012.yaml +40 -0
- data/maps/alalc-aze-Cyrl-Latn-1997.yaml +5 -1
- data/maps/alalc-bel-Cyrl-Latn-1997.yaml +5 -1
- data/maps/alalc-ben-Beng-Latn-2017.yaml +1 -1
- data/maps/alalc-bul-Cyrl-Latn-1997.yaml +5 -1
- data/maps/alalc-ell-Grek-Latn-1997.yaml +5 -1
- data/maps/alalc-ell-Grek-Latn-2010.yaml +1 -2
- 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 +1 -1
- data/maps/alalc-kat-Geor-Latn-1997.yaml +5 -1
- data/maps/alalc-kor-Hang-Latn-1997.yaml +5 -1
- 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 +21 -2
- data/maps/alalc-mar-Deva-Latn-2011.yaml +45 -0
- data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +1 -1
- data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +1 -1
- data/maps/alalc-mon-Cyrl-Latn-1997.yaml +220 -0
- data/maps/{alalc-pan-Deva-Latn-1997.yaml → alalc-pan-Guru-Latn-1997.yaml} +23 -4
- 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 +5 -1
- data/maps/alalc-rus-Cyrl-Latn-2012.yaml +1 -1
- 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 +5 -1
- data/maps/alalc-srp-Cyrl-Latn-2013.yaml +1 -1
- 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 +5 -1
- data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +1 -1
- data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +1 -1
- data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +1 -1
- data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +1 -1
- data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +1 -1
- data/maps/bgn-kor-Hang-Latn-1943.yaml +7 -3
- data/maps/bgn-kor-Kore-Latn-1943.yaml +3 -3
- data/maps/bgna-bul-Cyrl-Latn-2006.yaml +1 -1
- data/maps/bgna-bul-Cyrl-Latn-2009.yaml +1 -1
- data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +5 -1
- data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +5 -1
- data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +1 -1
- data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +2 -2
- data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +6 -2
- data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +5 -1
- data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +5 -1
- data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +5 -1
- data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +184 -0
- data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +5 -1
- data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +5 -1
- data/maps/{bgnpcgn-per-Arab-Latn-1956.yaml → bgnpcgn-fas-Arab-Latn-1956.yaml} +5 -1
- data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +1 -1
- data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +5 -1
- data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +1 -1
- data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +1 -1
- data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +1 -1
- data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +1 -1
- data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +5 -1
- data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +1 -1
- data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +223 -0
- data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +31 -1
- 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 +5 -1
- data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +5 -1
- 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 +5 -1
- data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +3 -92
- 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 +1 -1
- data/maps/bis-asm-Beng-Latn-13194-1991.yaml +1 -1
- data/maps/bis-ben-Beng-Latn-13194-1991.yaml +1 -1
- data/maps/bis-dev-Deva-Latn-13194-1991.yaml +1 -1
- data/maps/{bis-gjr-Gujr-Latn-13194-1991.yaml → bis-guj-Gujr-Latn-13194-1991.yaml} +17 -2
- data/maps/bis-knd-Knda-Latn-13194-1991.yaml +1 -1
- data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +1 -1
- data/maps/bis-ori-Orya-Latn-13194-1991.yaml +1 -1
- data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +1 -1
- data/maps/bis-tel-Telu-Latn-13194-1991.yaml +1 -1
- data/maps/bis-tml-Taml-Latn-13194-1991.yaml +1 -1
- data/maps/by-bel-Cyrl-Latn-1998.yaml +5 -1
- data/maps/by-bel-Cyrl-Latn-2007.yaml +1 -1
- 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 +15 -1
- data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +3 -3
- data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +2 -2
- data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +2 -2
- data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +2 -2
- data/maps/ggg-kat-Geor-Latn-2002.yaml +5 -1
- data/maps/gki-bel-Cyrl-Latn-1992.yaml +1 -1
- data/maps/gki-bel-Cyrl-Latn-2000.yaml +1 -1
- data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +7 -3
- data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +157 -0
- data/maps/hk-yue-Hani-Latn-1888.yaml +1 -1
- data/maps/icao-bel-Cyrl-Latn-9303.yaml +1 -1
- data/maps/icao-bul-Cyrl-Latn-9303.yaml +1 -1
- data/maps/{icao-per-Arab-Latn-9303.yaml → icao-fas-Arab-Latn-9303.yaml} +1 -1
- data/maps/icao-heb-Hebr-Latn-9303.yaml +1 -1
- data/maps/icao-mkd-Cyrl-Latn-9303.yaml +1 -1
- data/maps/icao-rus-Cyrl-Latn-9303.yaml +1 -1
- data/maps/icao-srp-Cyrl-Latn-9303.yaml +1 -1
- data/maps/icao-ukr-Cyrl-Latn-9303.yaml +1 -1
- data/maps/iso-ara-Arab-Latn-233-1984.yaml +1 -1
- 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 +8 -4
- data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +8 -4
- 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 +10 -6
- 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-9-1995.yaml +3 -3
- 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 +1 -1
- data/maps/kp-kor-Hang-Latn-2002.yaml +25 -17
- data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +1 -1
- data/maps/mext-jpn-Hrkt-Latn-1954.yaml +1 -1
- 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 +6 -2
- data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +1 -1
- data/maps/mvd-bel-Cyrl-Latn-2008.yaml +2 -2
- data/maps/mvd-bel-Cyrl-Latn-2010.yaml +3 -3
- data/maps/mvd-rus-Cyrl-Latn-2008.yaml +2 -2
- data/maps/mvd-rus-Cyrl-Latn-2010.yaml +2 -2
- data/maps/odni-ara-Arab-Latn-2015.yaml +425 -0
- data/maps/odni-aze-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-bel-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-bul-Cyrl-Latn-2015.yaml +2 -2
- 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 +1 -1
- data/maps/odni-kat-Geor-Latn-2015.yaml +1 -1
- data/maps/odni-kaz-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-kir-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-kor-Hang-Latn-2015.yaml +375 -0
- data/maps/odni-mkd-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-per-Arab-Latn-2015.yaml +228 -0
- data/maps/odni-rus-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-srp-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-tat-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-tgk-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-uig-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-ukr-Cyrl-Latn-2015.yaml +1 -1
- data/maps/odni-urd-Arab-Latn-2015.yaml +1 -1
- data/maps/odni-uzb-Cyrl-Latn-2015.yaml +1 -1
- data/maps/royin-tha-Thai-Latn-1939-generic.yaml +1 -1
- data/maps/royin-tha-Thai-Latn-1968.yaml +5 -1
- data/maps/royin-tha-Thai-Latn-1999-chained.yaml +1 -1
- data/maps/royin-tha-Thai-Latn-1999.yaml +5 -1
- data/maps/sac-zho-Hans-Latn-1979.yaml +5 -1
- 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 +5 -1
- data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +1 -1
- data/maps/ua-ukr-Cyrl-Latn-1996.yaml +6 -2
- data/maps/ua-ukr-Cyrl-Latn-2007.yaml +75 -0
- data/maps/ua-ukr-Cyrl-Latn-2010.yaml +192 -0
- data/maps/{ungegn-amh-Ethi-Latn-2016.yaml → un-amh-Ethi-Latn-2016.yaml} +51 -24
- data/maps/un-ara-Arab-Latn-1971.yaml +1 -1
- data/maps/un-ara-Arab-Latn-1972.yaml +1 -1
- data/maps/un-ara-Arab-Latn-2017.yaml +1 -1
- data/maps/un-bel-Cyrl-Latn-2007.yaml +1 -1
- data/maps/un-ben-Beng-Latn-2016.yaml +1 -1
- data/maps/{un-ell-Grek-Latn-phonetic-1987.yaml → un-ell-Grek-Latn-1987-phonetic.yaml} +2 -2
- data/maps/un-ell-Grek-Latn-1987-tl.yaml +2 -2
- data/maps/un-ell-Grek-Latn-1987-ts.yaml +3 -3
- 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 +204 -17
- data/maps/un-nep-Deva-Latn-2013.yaml +74 -0
- data/maps/un-rus-Cyrl-Latn-1987.yaml +1 -1
- data/maps/un-ukr-Cyrl-Latn-1998.yaml +35 -12
- 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 +1 -1
- data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +1 -1
- data/maps/{nil-kor-Hang-Hang-jamo.yaml → var-kor-Hang-Hang-jamo.yaml} +1 -1
- data/maps/var-kor-Hang-Latn-mr-1939.yaml +2 -2
- data/maps/var-kor-Kore-Hang-2013.yaml +1 -1
- data/maps/var-kor-Kore-Latn-mr-1939.yaml +1 -1
- 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 +1 -1
- data/maps/var-tha-Thai-Zsym-ipa.yaml +1 -1
- data/maps/{var-zho-Hani-Latn-1979.yaml → var-zho-Hani-Latn-wd-1979.yaml} +6 -2
- data/spec/interscript/filenames_spec.rb +384 -0
- data/spec/interscript_spec.rb +7 -4
- metadata +105 -26
- data/bin/interscript +0 -41
- data/bin/rspec +0 -29
- data/bin/setup +0 -8
- data/lib/__pycache__/g2pwrapper.cpython-38.pyc +0 -0
- data/lib/interscript-opal.rb +0 -2
- data/lib/interscript/opal_map_translate.rb +0 -12
- data/maps/alalc-hin-Deva-Latn-2020.yaml +0 -159
- data/maps/un-mon-Mong-Latn-2013.yaml +0 -99
@@ -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
|
+
#
|
@@ -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
|
+
#
|