interscript 0.1.9 → 2.0.5
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.
- checksums.yaml +4 -4
- data/.gitignore +11 -0
- data/.rspec +3 -0
- data/Gemfile +29 -0
- data/LICENSE.adoc +31 -0
- data/README.md +3 -0
- data/Rakefile +53 -0
- data/bin/console +14 -0
- data/bin/interscript +5 -0
- data/bin/maps_analyze_staging +168 -0
- data/bin/maps_debug_compilers +58 -0
- data/bin/maps_debug_ordering +88 -0
- data/bin/maps_debug_ruby_compile +24 -0
- data/bin/maps_debug_step_by_step +44 -0
- data/bin/maps_optimize_order +112 -0
- data/bin/maps_v1_analyze_regexps +45 -0
- data/bin/maps_v1_to_v2 +426 -0
- data/bin/setup +8 -0
- data/exe/interscript +6 -0
- data/interscript.gemspec +31 -0
- data/lib/interscript.rb +80 -135
- data/lib/interscript/command.rb +5 -5
- data/lib/interscript/compiler.rb +22 -0
- data/lib/interscript/compiler/javascript.rb +292 -0
- data/lib/interscript/compiler/ruby.rb +262 -0
- data/lib/interscript/dsl.rb +67 -0
- data/lib/interscript/dsl/aliases.rb +23 -0
- data/lib/interscript/dsl/document.rb +46 -0
- data/lib/interscript/dsl/group.rb +45 -0
- data/lib/interscript/dsl/group/parallel.rb +6 -0
- data/lib/interscript/dsl/items.rb +89 -0
- data/lib/interscript/dsl/metadata.rb +26 -0
- data/lib/interscript/dsl/stage.rb +6 -0
- data/lib/interscript/dsl/symbol_mm.rb +11 -0
- data/lib/interscript/dsl/tests.rb +12 -0
- data/lib/interscript/interpreter.rb +251 -0
- data/lib/interscript/node.rb +25 -0
- data/lib/interscript/node/alias_def.rb +15 -0
- data/lib/interscript/node/dependency.rb +13 -0
- data/lib/interscript/node/document.rb +45 -0
- data/lib/interscript/node/group.rb +34 -0
- data/lib/interscript/node/group/parallel.rb +9 -0
- data/lib/interscript/node/group/sequential.rb +2 -0
- data/lib/interscript/node/item.rb +52 -0
- data/lib/interscript/node/item/alias.rb +42 -0
- data/lib/interscript/node/item/any.rb +61 -0
- data/lib/interscript/node/item/capture.rb +50 -0
- data/lib/interscript/node/item/group.rb +51 -0
- data/lib/interscript/node/item/repeat.rb +40 -0
- data/lib/interscript/node/item/stage.rb +23 -0
- data/lib/interscript/node/item/string.rb +51 -0
- data/lib/interscript/node/metadata.rb +18 -0
- data/lib/interscript/node/rule.rb +6 -0
- data/lib/interscript/node/rule/funcall.rb +18 -0
- data/lib/interscript/node/rule/run.rb +15 -0
- data/lib/interscript/node/rule/sub.rb +65 -0
- data/lib/interscript/node/stage.rb +19 -0
- data/lib/interscript/node/tests.rb +15 -0
- data/lib/interscript/stdlib.rb +211 -0
- data/lib/interscript/utils/regexp_converter.rb +283 -0
- data/lib/interscript/version.rb +1 -1
- data/requirements.txt +1 -0
- metadata +73 -458
- data/README.adoc +0 -296
- data/aliases.json +0 -1
- data/lib/g2pwrapper.py +0 -34
- data/lib/interscript/fs.rb +0 -96
- data/lib/interscript/mapping.rb +0 -144
- data/lib/interscript/opal.rb +0 -196
- data/lib/interscript/opal/entrypoint.rb +0 -20
- data/lib/interscript/opal/exports.rb +0 -11
- data/lib/interscript/opal/maps.js.erb +0 -8
- data/lib/model-7 +0 -0
- data/lib/tha-pt-b-7 +0 -0
- data/maps/acadsin-zho-Hani-Latn-2002.yaml +0 -38916
- data/maps/alalc-amh-Ethi-Latn-1997.yaml +0 -513
- data/maps/alalc-amh-Ethi-Latn-2011.yaml +0 -138
- data/maps/alalc-ara-Arab-Latn-1997.yaml +0 -1287
- data/maps/alalc-asm-Deva-Latn-1997.yaml +0 -259
- data/maps/alalc-asm-Deva-Latn-2012.yaml +0 -55
- data/maps/alalc-aze-Arab-Latn-1997.yaml +0 -376
- data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -145
- data/maps/alalc-bel-Cyrl-Latn-1997.yaml +0 -129
- data/maps/alalc-ben-Beng-Latn-1997.yaml +0 -291
- data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
- data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -98
- data/maps/alalc-div-Thaa-Latn-1997.yaml +0 -211
- data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -628
- data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -626
- data/maps/alalc-guj-Gujr-Latn-1997.yaml +0 -266
- data/maps/alalc-guj-Gujr-Latn-2011.yaml +0 -64
- data/maps/alalc-hin-Deva-Latn-1997.yaml +0 -303
- data/maps/alalc-hin-Deva-Latn-2011.yaml +0 -65
- data/maps/alalc-kan-Kana-Latn-1997.yaml +0 -274
- data/maps/alalc-kan-Kana-Latn-2011.yaml +0 -63
- data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -111
- data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -150
- data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -98
- data/maps/alalc-mal-Mlym-Latn-1997.yaml +0 -303
- data/maps/alalc-mal-Mlym-Latn-2012.yaml +0 -73
- data/maps/alalc-mar-Deva-Latn-1997.yaml +0 -189
- data/maps/alalc-mar-Deva-Latn-2011.yaml +0 -45
- data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +0 -114
- data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
- data/maps/alalc-mon-Cyrl-Latn-1997.yaml +0 -220
- data/maps/alalc-ori-Orya-Latn-1997.yaml +0 -284
- data/maps/alalc-ori-Orya-Latn-2011.yaml +0 -67
- data/maps/alalc-pan-Guru-Latn-1997.yaml +0 -256
- data/maps/alalc-pan-Guru-Latn-2011.yaml +0 -78
- data/maps/alalc-per-Arab-Latn-1997.yaml +0 -375
- data/maps/alalc-pli-Deva-Latn-2012.yaml +0 -144
- data/maps/alalc-pra-Deva-Latn-2012.yaml +0 -47
- data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -225
- data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
- data/maps/alalc-san-Deva-Latn-2012.yaml +0 -241
- data/maps/alalc-sin-Sinh-Latn-1997.yaml +0 -292
- data/maps/alalc-sin-Sinh-Latn-2011.yaml +0 -71
- data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -118
- data/maps/alalc-srp-Cyrl-Latn-2013.yaml +0 -135
- data/maps/alalc-tam-Taml-Latn-1997.yaml +0 -62
- data/maps/alalc-tam-Taml-Latn-2011.yaml +0 -58
- data/maps/alalc-tel-Telu-Latn-1997.yaml +0 -284
- data/maps/alalc-tel-Telu-Latn-2011.yaml +0 -64
- data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -145
- data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
- data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
- data/maps/az-aze-Cyrl-Latn-1939.yaml +0 -105
- data/maps/az-aze-Cyrl-Latn-1958.yaml +0 -45
- data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -174
- data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
- data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -292
- data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -35
- data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
- data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
- data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
- data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +0 -532
- data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +0 -598
- data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
- data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -111
- data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -188
- data/maps/bgnpcgn-bal-Arab-Latn-2008.yaml +0 -329
- data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +0 -289
- data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -119
- data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -42
- data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +0 -184
- data/maps/bgnpcgn-div-Thaa-Latn-1988.yaml +0 -75
- data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -705
- data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -23
- data/maps/bgnpcgn-far-Latn-Latn-1964.yaml +0 -28
- data/maps/bgnpcgn-fas-Arab-Latn-1956.yaml +0 -96
- data/maps/bgnpcgn-isl-Latn-Latn-1964.yaml +0 -37
- data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
- data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -131
- data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -42
- data/maps/bgnpcgn-kaz-Cyrl-Latn-1979.yaml +0 -247
- data/maps/bgnpcgn-kir-Cyrl-Latn-1979.yaml +0 -218
- data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
- data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
- data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
- data/maps/bgnpcgn-kur-Arab-Latn-2007.yaml +0 -249
- data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -163
- data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
- data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +0 -223
- data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +0 -230
- data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +0 -338
- data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +0 -673
- data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +0 -459
- data/maps/bgnpcgn-pus-Arab-Latn-1968.yaml +0 -377
- data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +0 -168
- data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -318
- data/maps/bgnpcgn-srp-Cyrl-Latn-1962.yaml +0 -73
- data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -170
- data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +0 -220
- data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +0 -240
- data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -166
- data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -119
- data/maps/bgnpcgn-urd-Arab-Latn-2007.yaml +0 -459
- data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +0 -127
- data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +0 -82
- data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +0 -7456
- data/maps/bis-asm-Beng-Latn-13194-1991.yaml +0 -159
- data/maps/bis-ben-Beng-Latn-13194-1991.yaml +0 -156
- data/maps/bis-dev-Deva-Latn-13194-1991.yaml +0 -184
- data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +0 -181
- data/maps/bis-kan-Kana-Latn-13194-1991.yaml +0 -173
- data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +0 -176
- data/maps/bis-ori-Orya-Latn-13194-1991.yaml +0 -175
- data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +0 -175
- data/maps/bis-tel-Telu-Latn-13194-1991.yaml +0 -170
- data/maps/bis-tml-Taml-Latn-13194-1991.yaml +0 -155
- data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -172
- data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
- data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +0 -899
- data/maps/din-hin-Deva-Latn-33904-2018.yaml +0 -100
- data/maps/din-kat-Geor-Latn-32707-2010.yaml +0 -145
- data/maps/din-mar-Deva-Latn-33904-2018.yaml +0 -84
- data/maps/din-nep-Deva-Latn-33904-2018.yaml +0 -119
- data/maps/din-pli-Deva-Latn-33904-2018.yaml +0 -75
- data/maps/din-pra-Deva-Latn-33904-2018.yaml +0 -63
- data/maps/din-san-Deva-Latn-33904-2018.yaml +0 -338
- data/maps/din-tam-Taml-Latn-33903-2016.yaml +0 -213
- data/maps/dos-nep-Deva-Latn-1997.yaml +0 -47
- data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -684
- data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -680
- data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -19
- data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -31
- data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -92
- data/maps/gki-bel-Cyrl-Latn-1992.yaml +0 -33
- data/maps/gki-bel-Cyrl-Latn-2000.yaml +0 -201
- data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +0 -190
- data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +0 -157
- data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
- data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -136
- data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -118
- data/maps/icao-fas-Arab-Latn-9303.yaml +0 -103
- data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
- data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
- data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -117
- data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
- data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -119
- data/maps/iso-ara-Arab-Latn-233-1984.yaml +0 -323
- data/maps/iso-asm-Beng-Latn-15919-2001.yaml +0 -75
- data/maps/iso-ben-Beng-Latn-15919-2001.yaml +0 -175
- data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -613
- data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -44
- data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +0 -220
- data/maps/iso-hin-Deva-Latn-15919-2001.yaml +0 -87
- data/maps/iso-inc-Deva-Latn-15919-2001.yaml +0 -61
- data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -66
- data/maps/iso-kan-Kana-Latn-15919-2001.yaml +0 -220
- data/maps/iso-kat-Geor-Latn-9984-1996.yaml +0 -145
- data/maps/iso-kor-Hang-Latn-1996-method1.yaml +0 -240
- data/maps/iso-kor-Hang-Latn-1996-method2.yaml +0 -226
- data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +0 -281
- data/maps/iso-mar-Deva-Latn-15919-2001.yaml +0 -75
- data/maps/iso-nep-Deva-Latn-15919-2001.yaml +0 -87
- data/maps/iso-ori-Orya-Latn-15919-2001.yaml +0 -193
- data/maps/iso-pan-Guru-Latn-15919-2001.yaml +0 -222
- data/maps/iso-pli-Beng-Latn-15919-2001.yaml +0 -73
- data/maps/iso-pli-Deva-Latn-15919-2001.yaml +0 -74
- data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +0 -219
- data/maps/iso-pli-Thai-Latn-15919-2001.yaml +0 -55
- data/maps/iso-pra-Deva-Latn-15919-2001.yaml +0 -59
- data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +0 -366
- data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -271
- data/maps/iso-san-Deva-Latn-15919-2001.yaml +0 -220
- data/maps/iso-tam-Taml-Latn-15919-2001.yaml +0 -159
- data/maps/iso-tel-Telu-Latn-15919-2001.yaml +0 -220
- data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
- data/maps/kp-kor-Hang-Latn-2002.yaml +0 -909
- data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
- data/maps/masm-mon-Cyrl-Latn-5217-2012.yaml +0 -163
- data/maps/masm-mon-Latn-Cyrl-5217-2012.yaml +0 -200
- data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
- data/maps/moct-kor-Hang-Latn-2000.yaml +0 -807
- data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
- data/maps/mv-div-Thaa-Latn-1987.yaml +0 -200
- data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
- data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
- data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -109
- data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
- data/maps/odni-ara-Arab-Latn-2004.yaml +0 -137
- data/maps/odni-ara-Arab-Latn-2015.yaml +0 -315
- data/maps/odni-aze-Cyrl-Latn-2015.yaml +0 -144
- data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
- data/maps/odni-bul-Cyrl-Latn-2005.yaml +0 -90
- data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
- data/maps/odni-che-Cyrl-Latn-2015.yaml +0 -169
- data/maps/odni-fas-Arab-Latn-2004.yaml +0 -276
- data/maps/odni-fas-Arab-Latn-2015.yaml +0 -406
- data/maps/odni-hin-Deva-Latn-2004.yaml +0 -182
- data/maps/odni-hin-Deva-Latn-2015.yaml +0 -258
- data/maps/odni-kat-Geor-Latn-2015.yaml +0 -87
- data/maps/odni-kaz-Cyrl-Latn-2015.yaml +0 -148
- data/maps/odni-kir-Cyrl-Latn-2015.yaml +0 -136
- data/maps/odni-kor-Hang-Latn-2015.yaml +0 -375
- data/maps/odni-mkd-Cyrl-Latn-2005.yaml +0 -21
- data/maps/odni-mkd-Cyrl-Latn-2015.yaml +0 -122
- data/maps/odni-prs-Arab-Latn-2004.yaml +0 -123
- data/maps/odni-prs-Arab-Latn-2015.yaml +0 -228
- data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
- data/maps/odni-srp-Cyrl-Latn-2005.yaml +0 -36
- data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
- data/maps/odni-tat-Cyrl-Latn-2015.yaml +0 -142
- data/maps/odni-tgk-Cyrl-Latn-2015.yaml +0 -148
- data/maps/odni-tuk-Cyrl-Latn-2015.yaml +0 -170
- data/maps/odni-uig-Cyrl-Latn-2015.yaml +0 -138
- data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -161
- data/maps/odni-urd-Arab-Latn-2015.yaml +0 -221
- data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -166
- data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
- data/maps/royin-tha-Thai-Latn-1968.yaml +0 -183
- data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
- data/maps/royin-tha-Thai-Latn-1999.yaml +0 -80
- data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24763
- data/maps/sasm-mon-Mong-Latn-general-1978.yaml +0 -389
- data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +0 -354
- data/maps/ses-ara-Arab-Latn-1930.yaml +0 -283
- data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
- data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -197
- data/maps/ua-ukr-Cyrl-Latn-2007.yaml +0 -75
- data/maps/ua-ukr-Cyrl-Latn-2010.yaml +0 -192
- data/maps/un-amh-Ethi-Latn-2016.yaml +0 -602
- data/maps/un-ara-Arab-Latn-1971.yaml +0 -139
- data/maps/un-ara-Arab-Latn-1972.yaml +0 -159
- data/maps/un-ara-Arab-Latn-2017.yaml +0 -420
- data/maps/un-asm-Beng-Latn-1972.yaml +0 -223
- data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
- data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
- data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +0 -780
- data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -31
- data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -19
- data/maps/un-guj-Gujr-Latn-1972.yaml +0 -229
- data/maps/un-hin-Deva-Latn-2016.yaml +0 -316
- data/maps/un-kan-Kana-Latn-2016.yaml +0 -254
- data/maps/un-mal-Mlym-Latn-1972.yaml +0 -251
- data/maps/un-mar-Deva-Latn-2016.yaml +0 -102
- data/maps/un-mon-Mong-Latn-general-2013.yaml +0 -264
- data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +0 -264
- data/maps/un-nep-Deva-Latn-1972.yaml +0 -269
- data/maps/un-nep-Deva-Latn-2013.yaml +0 -74
- data/maps/un-ori-Orya-Latn-1972.yaml +0 -247
- data/maps/un-pan-Guru-Latn-1972.yaml +0 -402
- data/maps/un-prs-Arab-Latn-1967.yaml +0 -236
- data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
- data/maps/un-tam-Taml-Latn-1972.yaml +0 -194
- data/maps/un-tel-Telu-Latn-1972.yaml +0 -270
- data/maps/un-ukr-Cyrl-Latn-1998.yaml +0 -53
- data/maps/un-ukr-Cyrl-Latn-2012.yaml +0 -162
- data/maps/un-urd-Arab-Latn-1972.yaml +0 -405
- data/maps/var-amh-Ethi-Latn-eae-2003.yaml +0 -466
- data/maps/var-gez-Ethi-Latn-eae-2003.yaml +0 -76
- data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +0 -221
- data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
- data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
- data/maps/var-kor-Hang-Hang-jamo.yaml +0 -11193
- data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
- data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
- data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -36
- data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +0 -43
- data/maps/var-mon-Mong-Latn-1930.yaml +0 -102
- data/maps/var-mon-Mong-Latn-lessing.yaml +0 -272
- data/maps/var-mon-Mong-Latn-vpmc.yaml +0 -274
- data/maps/var-pra-Deva-Latn-iast-1912.yaml +0 -30
- data/maps/var-san-Deva-Latn-iast-1912.yaml +0 -149
- data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
- data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
- data/maps/var-zho-Hani-Latn-wd-1979.yaml +0 -38912
- data/spec/interscript/filenames_spec.rb +0 -21
- data/spec/interscript/mapping_spec.rb +0 -42
- data/spec/interscript_spec.rb +0 -37
- data/spec/spec_helper.rb +0 -3
@@ -1,673 +0,0 @@
|
|
1
|
-
---
|
2
|
-
authority_id: bgnpcgn
|
3
|
-
id: 2007
|
4
|
-
language: iso-639-3:prs # prs stands for Dari (https://iso639-3.sil.org/code/prs&_ga=GA1.2.2054538372.1574092823)
|
5
|
-
source_script: Arab
|
6
|
-
destination_script: Latn
|
7
|
-
name: BGN/PCGN NATIONAL ROMANIZATION SYSTEM FOR AFGHANISTAN -- BGN/PCGN 2007 System
|
8
|
-
alias:
|
9
|
-
ogc11122:
|
10
|
-
code: uas_Arab2Latn_BGN_2007
|
11
|
-
description: Unified Afghan Romanization System US Board on Geographic Names (BGN)/The Permanent Committee on Geographical Names (PCGN) 2007
|
12
|
-
url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/693661/ROMANIZATION_FOR_AFGHANISTAN.pdf
|
13
|
-
creation_date: 2007
|
14
|
-
confirmation_date: 2017-11
|
15
|
-
description: |
|
16
|
-
This romanization system agreed by BGN and PCGN in November 2007,
|
17
|
-
accommodates the linguistic complexity of Afghanistan as manifest in
|
18
|
-
its geographical names.
|
19
|
-
|
20
|
-
The following tabulation shows the original Perso-Arabic script with
|
21
|
-
accompanying Unicode value (columns 1a and b), the Yaghoubi
|
22
|
-
romanization (column 2), the BGN/PCGN romanization with accompanying
|
23
|
-
Unicode value (columns 3a and b), an English phonetic example (column
|
24
|
-
4), and an example toponym (columns 5b and c).
|
25
|
-
|
26
|
-
[The Yaghoubi romanization system was developed in 1959 by
|
27
|
-
Muzaffarud Din Yaqubi (commonly seen as Yaghoubi). It is a native
|
28
|
-
official system designed to reflect Afghan names, both Dari and Pashto,
|
29
|
-
and both pronunciation and genuine linguistic truth.]
|
30
|
-
|
31
|
-
The tables function as both a romanization system for Afghanistan (i.e.
|
32
|
-
with access to the original script, these tables can be applied to get
|
33
|
-
a standardized Roman result - moving from columns 1 to 3) and as a
|
34
|
-
means of converting the available Yaghoubi Roman-script spellings, as
|
35
|
-
appear on the Fairchild Aerial Surveys map series, to standard BGN/PCGN
|
36
|
-
spellings (moving from columns 2 to 3).
|
37
|
-
|
38
|
-
The points used in Arabic to mark short vowels and certain other
|
39
|
-
diacritical marks are infrequently written in Afghanistan.
|
40
|
-
Consequently, a reference source may sometimes be required to aid
|
41
|
-
correct identification of the standard spellings and proper vowels and
|
42
|
-
elimination of dialectal and idiosyncratic variations. In the interests
|
43
|
-
of clarity, the example columns show script with vowel pointing from
|
44
|
-
Arabic to indicate the short vowels that are included alongside the
|
45
|
-
unpointed form that will usually be encountered. However it should be
|
46
|
-
noted that the pronunciation of short vowels will vary.
|
47
|
-
|
48
|
-
Note: it is recommended that a font such as Scheherazade, available
|
49
|
-
from www.sil.org, which includes the Unicode extended Arabic sub-range,
|
50
|
-
be used to view this system. [Please note that the identification of a
|
51
|
-
particular font does not represent an endorsement of any specific
|
52
|
-
product or manufacturer.]
|
53
|
-
|
54
|
-
notes:
|
55
|
-
- |
|
56
|
-
Alif (ا) should be romanized as follows:
|
57
|
-
|
58
|
-
a. Initially, it indicates that the word begins with a vowel or
|
59
|
-
diphthong; the alif itself is not romanized, but rather the short vowel
|
60
|
-
it “carries” is romanized; e.g., ميړ أَسَلم ژرَندَه → Mī Aslam Zhrandah
|
61
|
-
b. When it carries a maddah (آ) (see vowel table, row 6), it represents ā; e.g., آب بَند → Āb Band.
|
62
|
-
c. Medially and finally it represents ā (see vowel table, row 5); e.g., ماڼۍ → Māṉêy
|
63
|
-
d. Medially and finally in words of Arabic origin, alif may serve as the bearer of hamzah, e.g. رأس → ra’s.
|
64
|
-
|
65
|
-
- Occasionally the letter sequences سه ,زه ,که, and گه occur without
|
66
|
-
intervening vowels. They may be romanized k·h, z·h, s·h, and g·h in
|
67
|
-
order to differentiate these romanizations from the digraphs kh, zh,
|
68
|
-
sh, and gh, which are used to represent the letters ش ,ژ ,خ, and غ.
|
69
|
-
Additionally, the Pashto letters څ and ځ, routinely romanized ts and
|
70
|
-
dz, may be alternatively romanized s and z تس when for special reasons
|
71
|
-
it is desired that confusion be avoided with the character sequences
|
72
|
-
(ts) and دز (dz), respectively.
|
73
|
-
|
74
|
-
- "The vagaries of written Afghan languages, as pertains to spacing
|
75
|
-
and word division, are addressed as follows:
|
76
|
-
Spaces may be added to or subtracted from Afghan words written in
|
77
|
-
Arabic script, for the purposes of standardization. This is
|
78
|
-
particularly relevant when the words are hand-written, are rendered
|
79
|
-
“art st cally”, or express other s ch non-standard flourishes, as long
|
80
|
-
as the sense of the toponym, word, or phrase is not compromised.
|
81
|
-
Romanized toponyms are typically divided into constituent words
|
82
|
-
(spaces and other grammatical rules applied) when those words can stand
|
83
|
-
independently, for purposes of standardization and minimization of
|
84
|
-
confusion, particularly in situations where Afghan writers are
|
85
|
-
inconsistent in their application of spacing and word breaks. When the
|
86
|
-
Afghan word or suffix is only used in combination with other nouns or
|
87
|
-
adjectives, then it should be appended to the preceding word in its
|
88
|
-
romanization. This includes (but is not limited to) - ābā , -zaī, -zā
|
89
|
-
ah, - ū, -wand, -gaī, -kaī, -pūr, - ēsh, -lar, -lī, -lū and ullāh, as,
|
90
|
-
for example, seen in Raḩmatābād (رحمت آباد) and Raḩmatullāh (رحمت االله),
|
91
|
-
but Raḩmat Khēl (رحمتخيل) and Raḩmat Shahr (رحمتشهر)."
|
92
|
-
|
93
|
-
- The one-letter words د (Pashto) and و (Dari) are romanized dê and
|
94
|
-
wa, respectively.
|
95
|
-
|
96
|
-
- The word الله, meaning God, should always be romanized Allāh,
|
97
|
-
except as specified in note 3. Note that the Unicode value FDF2 spells
|
98
|
-
Allāh, but omits the alif in some common fonts, including Times New
|
99
|
-
Roman. If in doubt, try in Arial Unicode MS to verify. Also note that
|
100
|
-
the “dagger al f” ( ) above the second ل (lām) n the ord الله, is not
|
101
|
-
written but should be romanized ā, like a full-size alif.
|
102
|
-
|
103
|
-
- In names of Arabic origin, the l of the definite article al s ass m
|
104
|
-
lated before the ‘s n letters’ , , , , r, z, s, sh, ş, ẕ, , z, l and n.
|
105
|
-
In its romanization, the article should be separated from the name it
|
106
|
-
precedes and should not be capitalized except at the beginning of a
|
107
|
-
name, e.g. جبل السراج→ Jabal
|
108
|
-
as Sarāj
|
109
|
-
|
110
|
-
- In Arabic names, a shaddah, ّ is used to denote the doubling of a
|
111
|
-
particular consonant character, e.g. ُم َح َمد → Muḩammad. Ho ever, n
|
112
|
-
Pashto th s ‘do bl ng’ s freq ently om tted n both Perso- Arabic script
|
113
|
-
and the resulting romanization. Guidance on doubling may be taken from
|
114
|
-
an authoritative names source, such as an Afghan government source or
|
115
|
-
Pashto dictionary; for example, it is usual to see Ḩājī without and
|
116
|
-
‘Abbās with the doubled consonant. The doubled y consonant is almost
|
117
|
-
always retained, as in Sayyid or Qayyūm.
|
118
|
-
|
119
|
-
- In Afghan names which contain an iẕāfah, it should be romanized as
|
120
|
-
-e or –ye according to
|
121
|
-
common pronunciation, but generally, -e is used if the preceding word
|
122
|
-
ends with a consonant other
|
123
|
-
than silent heh, and -ye if the preceding word ends with a vowel
|
124
|
-
sound e.g. غر ِحصار → Ghar-e ِ
|
125
|
-
Ḩ şār; َقل َع ٔه َنو → Qal‘ah-ye Now. Scholarly sources indicate that
|
126
|
-
heh is silent in darah and qal‘ah (thus darah-ye, qal‘ah-ye), but
|
127
|
-
lightly spoken in kōh and chāh (thus kōh-e, chāh-e).
|
128
|
-
|
129
|
-
- The character sequence خو, where followed by ا or ی should be
|
130
|
-
romanized khwā or khwī, although the w is either not pronounced, or
|
131
|
-
only weakly so, as in خواجه → khwājah.
|
132
|
-
|
133
|
-
- Plural nouns ending in -hā or -ān should always be romanized as a
|
134
|
-
single word, regardless of whether a space appears in a Perso-Arabic
|
135
|
-
script source.
|
136
|
-
|
137
|
-
- Unicode values listed in the tables above are required to ensure
|
138
|
-
standardization and to minimize confusion from competing
|
139
|
-
representations of a given character. It should be noted that the
|
140
|
-
Persian Unicode value 0643 or FEDA( ك Unicode value 06A9) is
|
141
|
-
recommended rather than the Arabic( ک or FED9), the Persian گ (Unicode
|
142
|
-
value 06AF) is recommended rather than ګ (Unicode value 06AB) or ڰ
|
143
|
-
(Unicode value 06B0) or ك (Unicode value 0643 or FEDA or FED9), and the
|
144
|
-
Pashto character ځ (Unicode value 0681) is recommended rather than the
|
145
|
-
heh with a dot above and a dot below (no Unicode value). For the letter ی
|
146
|
-
in its many variations, care must be exercised to follow this romanization
|
147
|
-
guide's recommendations to eliminate confusion for search engines
|
148
|
-
and software. BGN/PCGN does not use the Unicode encoding FEEF for the
|
149
|
-
character ی in any Afghan word.
|
150
|
-
|
151
|
-
- |
|
152
|
-
An inventory of letter-diacritic combinations in addition to the
|
153
|
-
unmodified letters of the basic Roman script is:
|
154
|
-
|
155
|
-
‘ (U+2018)
|
156
|
-
Ā (U+0100)
|
157
|
-
Á (U+00C1)
|
158
|
-
Ḏ (U+0044+0031)
|
159
|
-
Ē (U+9112)
|
160
|
-
Ê (U+00CA)
|
161
|
-
Ḩ (U+1E28)
|
162
|
-
Ī (U+012A)
|
163
|
-
N-bar-top (U+004E+0304)
|
164
|
-
Ō (U+014C)
|
165
|
-
R-bar-bottom (U+0052+0031)
|
166
|
-
Ş (U+015E)
|
167
|
-
S-bar-top (U+0053+0304)
|
168
|
-
Ṯ (U+0054+0031)
|
169
|
-
Ţ (U+0162)
|
170
|
-
Ū (U+918A)
|
171
|
-
Z-comma-bottom (U+005A+0327)
|
172
|
-
Z-bar-top (U+005A+0304)
|
173
|
-
Ẕ (U+005A+0331)
|
174
|
-
ẔH (U+005A+0048+035F)
|
175
|
-
|
176
|
-
|
177
|
-
ʼ (U+2019)
|
178
|
-
ā (U+0101)
|
179
|
-
á (U+00E1)
|
180
|
-
ḏ (U+0064+00031)
|
181
|
-
ē (U+0113)
|
182
|
-
ê (U+00EA)
|
183
|
-
ḩ (U+1E29)
|
184
|
-
ī (U+912B)
|
185
|
-
n-bar-top (U+004E+0304)
|
186
|
-
ō (U+014D)
|
187
|
-
r-bar-bottom (U+0072+0031)
|
188
|
-
ş (U+015F)
|
189
|
-
s-bar-top (U+0073+0304)
|
190
|
-
ṯ (U+0074+0031)
|
191
|
-
ţ (U+0163)
|
192
|
-
ū (U+918B)
|
193
|
-
z-comma-bottom (U+007A+0327)
|
194
|
-
z-bar-top (U+007A+0304)
|
195
|
-
ẕ (U+007A+0331)
|
196
|
-
zh-under-bar (U+007A+0068+035F)
|
197
|
-
|
198
|
-
|
199
|
-
- The Romanization columns show only lowercase forms but, when
|
200
|
-
romanizing, uppercase and lowercase Roman letters as appropriate should
|
201
|
-
be used.
|
202
|
-
|
203
|
-
|
204
|
-
tests:
|
205
|
-
- source: بَغْلان
|
206
|
-
expected: Baghlān
|
207
|
-
|
208
|
-
- source: پُوټَكَى
|
209
|
-
expected: Pōṯakay
|
210
|
-
|
211
|
-
- source: شِيرِين تَگَاب
|
212
|
-
expected: Shīrīn Tagāb
|
213
|
-
|
214
|
-
- source: کُوْټ
|
215
|
-
expected: Kōṯ
|
216
|
-
|
217
|
-
- source: ثَابِر
|
218
|
-
expected: S̄ābir
|
219
|
-
|
220
|
-
- source: جَلال آبَاد
|
221
|
-
expected: Jalālābād
|
222
|
-
|
223
|
-
- source: چَارِيكَار
|
224
|
-
expected: Chārīkār
|
225
|
-
|
226
|
-
- source: ځَدْرَاڼ
|
227
|
-
expected: Dzadrāṉ
|
228
|
-
|
229
|
-
- source: څَوکۍ
|
230
|
-
expected: Tsowkêy
|
231
|
-
|
232
|
-
- source: حَضْرَتِ إِمَام
|
233
|
-
expected: Ḩaẕrat-e Imām
|
234
|
-
|
235
|
-
- source: خُوْسْت
|
236
|
-
expected: Khōst
|
237
|
-
|
238
|
-
- source: سْپِين بُوْلْدَک
|
239
|
-
expected: Spīn Bōldak
|
240
|
-
|
241
|
-
- source: ډَنْډ وَ پَتَان
|
242
|
-
expected: Ḏanḏ Wa Patān
|
243
|
-
|
244
|
-
# - source: گُذَرْگَاهٔ نور
|
245
|
-
# expected: Guz̄argāh-e nūr
|
246
|
-
|
247
|
-
- source: كَنْدَهَار
|
248
|
-
expected: Kandahār
|
249
|
-
|
250
|
-
- source: أَنْدَړ
|
251
|
-
expected: Andaṟ
|
252
|
-
|
253
|
-
- source: كُنْدُز
|
254
|
-
expected: Kunduz
|
255
|
-
|
256
|
-
- source: مِير أَسْلَم ژْرَنْدَه
|
257
|
-
expected: Mīr Aslam Zhrandah
|
258
|
-
|
259
|
-
- source: ږِيرَه
|
260
|
-
expected: Z͟hīrah
|
261
|
-
|
262
|
-
- source: سَمَنْگَان
|
263
|
-
expected: Samangān
|
264
|
-
|
265
|
-
# - source: مَزَارِ شَريف
|
266
|
-
# expected: Mazār-e sharīf
|
267
|
-
|
268
|
-
- source: كښٙتَه كَلا
|
269
|
-
expected: Ks͟hêtah Kalā
|
270
|
-
|
271
|
-
- source: قَيْصَار
|
272
|
-
expected: Qayşār
|
273
|
-
|
274
|
-
- source: فَيض آبَاد
|
275
|
-
expected: Faīẕābād
|
276
|
-
|
277
|
-
- source: حَضْرَتِ سُلْطَان
|
278
|
-
expected: Ḩaẕrat-e Sulţān
|
279
|
-
|
280
|
-
- source: ظَاهِر كَلا
|
281
|
-
expected: Z̧āhir Kalā
|
282
|
-
|
283
|
-
- source: پُلِ عَلَم
|
284
|
-
expected: Pul-e ‘Alam
|
285
|
-
|
286
|
-
- source: غَزْنِي
|
287
|
-
expected: Ghaznī
|
288
|
-
|
289
|
-
- source: مَزَارِ شَرِيف
|
290
|
-
expected: Mazār-e Sharīf
|
291
|
-
|
292
|
-
- source: قَيْصَار
|
293
|
-
expected: Qayşār
|
294
|
-
|
295
|
-
- source: كَنْدَهَار
|
296
|
-
expected: Kandahār
|
297
|
-
|
298
|
-
- source: گَرْدېز
|
299
|
-
expected: Gardēz
|
300
|
-
|
301
|
-
- source: کَابُل
|
302
|
-
expected: Kābul
|
303
|
-
|
304
|
-
- source: مَيمَنَه
|
305
|
-
expected: Maīmanah
|
306
|
-
|
307
|
-
- source: خَان آبَاد
|
308
|
-
expected: Khānābād
|
309
|
-
|
310
|
-
- source: مَاڼۍ
|
311
|
-
expected: Māṉêy
|
312
|
-
|
313
|
-
- source: وَاخَان
|
314
|
-
expected: Wākhān
|
315
|
-
|
316
|
-
# - source: هِرَات
|
317
|
-
# expected: Herāt
|
318
|
-
|
319
|
-
- source: يَنْگِي قَلعَه
|
320
|
-
expected: Yangī Qal‘ah
|
321
|
-
|
322
|
-
- source: جَلال آبَاد
|
323
|
-
expected: Jalālābād
|
324
|
-
|
325
|
-
# - source: هِرات پُلِ حِصَار
|
326
|
-
# expected: Herāt Pul-e Ḩişār
|
327
|
-
|
328
|
-
- source: مُرْغَاب کَابُل
|
329
|
-
expected: Murghāb Kābul
|
330
|
-
|
331
|
-
- source: گٙردُون
|
332
|
-
expected: Gêrdōn
|
333
|
-
|
334
|
-
- source: آب بَنْد
|
335
|
-
expected: Āb Band
|
336
|
-
|
337
|
-
- source: سْپِين بُوْلْدَک
|
338
|
-
expected: Spīn Bōldak
|
339
|
-
|
340
|
-
# - source: بَالا بُلُوک
|
341
|
-
# expected: Bālā Bulūk
|
342
|
-
|
343
|
-
- source: جَوزجَان
|
344
|
-
expected: Jowzjān
|
345
|
-
|
346
|
-
# - source: غَزْنِى سْپِين
|
347
|
-
# expected: Ghaznī spīn
|
348
|
-
|
349
|
-
# - source: ريگ مَيوَنْد
|
350
|
-
# expected: Maywand, Rēg
|
351
|
-
|
352
|
-
- source: گَرْدېز
|
353
|
-
expected: Gardēz
|
354
|
-
|
355
|
-
- source: مَیدان شَهْر
|
356
|
-
expected: Maīdān Shahr
|
357
|
-
|
358
|
-
- source: ډَنْډِ سُفْلىٰ
|
359
|
-
expected: Ḏanḏ-e Suflá
|
360
|
-
|
361
|
-
# - source: څَوْکۍ
|
362
|
-
# expected: Tsowkêy
|
363
|
-
|
364
|
-
# - source: هَوائِي ډَگَر
|
365
|
-
# expected: Hawā’ī ḏagar
|
366
|
-
|
367
|
-
# - source: مَزارِ شَريف
|
368
|
-
# expected: Mazār-e sharīf
|
369
|
-
|
370
|
-
# - source: دايکندی
|
371
|
-
# expected: Dāykundī
|
372
|
-
|
373
|
-
# - source: زيارت
|
374
|
-
# expected: Zīārat
|
375
|
-
|
376
|
-
# - source: غوريان
|
377
|
-
# expected: Ghōriyān
|
378
|
-
|
379
|
-
# - source: ميا
|
380
|
-
# expected: Myā
|
381
|
-
|
382
|
-
- source: جَبَل السَرَاج
|
383
|
-
expected: Jabal as Sarāj
|
384
|
-
|
385
|
-
map:
|
386
|
-
postrules:
|
387
|
-
- pattern: (?<=\b)(?<!\b[‘|’|'|-])[\u0061-\uFFFF]
|
388
|
-
result: "upcase"
|
389
|
-
# don't capitalize defined article in the middle of a sentence
|
390
|
-
- pattern : ' At T' # الت
|
391
|
-
result: ' at T'
|
392
|
-
- pattern : ' As̄ S̄' # الث
|
393
|
-
result: ' as̄ S̄'
|
394
|
-
- pattern : ' Ad D' # الد
|
395
|
-
result: ' ad D'
|
396
|
-
- pattern : ' Az̄ Z̄' # الذ
|
397
|
-
result: ' az̄ Z̄'
|
398
|
-
- pattern : ' Ar R' # الر
|
399
|
-
result: ' ar R'
|
400
|
-
- pattern : ' Az Z' # الز
|
401
|
-
result: ' az Z'
|
402
|
-
- pattern : ' As S' # الس
|
403
|
-
result: ' as S'
|
404
|
-
- pattern : ' Ash Sh' # الش
|
405
|
-
result: ' ash Sh'
|
406
|
-
- pattern : ' Aş Ş' # الص
|
407
|
-
result: ' aş Ş'
|
408
|
-
- pattern : ' Aẕ Ẕ' # الض
|
409
|
-
result: ' aẕ Ẕ'
|
410
|
-
- pattern : ' Aţ Ţ' # الط
|
411
|
-
result: ' aţ Ţ'
|
412
|
-
- pattern : ' Az̧ Z̧' # الظ
|
413
|
-
result: ' az̧ Z̧'
|
414
|
-
- pattern : ' Al L' # الل
|
415
|
-
result: ' al L'
|
416
|
-
- pattern : ' An N' # الن
|
417
|
-
result: ' an N'
|
418
|
-
- pattern: " Al " # ال
|
419
|
-
result: " al "
|
420
|
-
characters:
|
421
|
-
|
422
|
-
# word-medial or word-final form where so appearing in a word.
|
423
|
-
# '\u0627': '-'
|
424
|
-
|
425
|
-
# # Vowel, Diphthong and Diacritical Characters
|
426
|
-
|
427
|
-
# '\u064E': 'a'
|
428
|
-
|
429
|
-
# # Both e and i are available to romanize this short vowel,
|
430
|
-
# # depending on local usage and/or root language. In cases where the sound
|
431
|
-
# # is uncertain, i is the default romanization in BGN/PCGN standardization
|
432
|
-
# # procedures.
|
433
|
-
# '\u0650':
|
434
|
-
# - 'e'
|
435
|
-
# - 'i'
|
436
|
-
|
437
|
-
# # Both o and u are available to romanize this short vowel,
|
438
|
-
# # depending on local usage and/or root language. In cases where the sound
|
439
|
-
# # is uncertain, u is the default romanization in BGN/PCGN standardization
|
440
|
-
# # procedures.
|
441
|
-
# '\u064F':
|
442
|
-
# - 'o'
|
443
|
-
# - 'u'
|
444
|
-
# '\u0659': 'ê'
|
445
|
-
|
446
|
-
# # An alif with mad ( آ ) is written only in the initial position by
|
447
|
-
# # BGN/PCGN standardization procedures, in keeping with Persian language
|
448
|
-
# # family standards of use of the Arabic alphabet. The same letter written
|
449
|
-
# # in a medial or final position is written . . .
|
450
|
-
# '\u0622': 'ā'
|
451
|
-
|
452
|
-
# pending issue #442
|
453
|
-
# '\u0648': 'ō'
|
454
|
-
# '\u0648': 'ū'
|
455
|
-
# '\u0648': 'ow'
|
456
|
-
# '\u06CC': 'ī'
|
457
|
-
|
458
|
-
# # Or 'ē'. The character ی should be romanized ay or ē according to
|
459
|
-
# # its root language or local pronunciation. In case of uncertainty a
|
460
|
-
# # reference source (such as the Fairchild Aerial Surveys map series, or a
|
461
|
-
# # BGN/PCGN approved policy document/list of recommended spellings) should
|
462
|
-
# # be consulted.
|
463
|
-
# '\u06CC': 'ay'
|
464
|
-
# '\u06D0': 'ē'
|
465
|
-
|
466
|
-
# # Or 'aī'. Both the combination ay and aī are available to romanize
|
467
|
-
# # this character according to its root language or local pronunciation.
|
468
|
-
# # In cases where the sound is uncertain ay is the default romanization in
|
469
|
-
# # BGN/PCGN standardization procedures
|
470
|
-
# '\u06CC':
|
471
|
-
# - 'ay'
|
472
|
-
# - 'á'
|
473
|
-
# '\u06CD': 'êy'
|
474
|
-
# '\u0621': '’'
|
475
|
-
# '\u0674':
|
476
|
-
# - '-e'
|
477
|
-
# - '-ye'
|
478
|
-
|
479
|
-
# # Other Diacritical Marks and Language Conventions
|
480
|
-
|
481
|
-
# '\u0627': 'āy'
|
482
|
-
|
483
|
-
# '\u0648': 'w'
|
484
|
-
# '\u0626': '’'
|
485
|
-
# '\u06C0': ''
|
486
|
-
# '\u0651': ''
|
487
|
-
|
488
|
-
|
489
|
-
# special rules
|
490
|
-
|
491
|
-
'\s(?=\u0622\u0628\u064E\u0627\u062F)': '' # space followed by abad is removed
|
492
|
-
'\ufdf2': 'Allāh' # See note 5
|
493
|
-
|
494
|
-
# pointing
|
495
|
-
'\u064e' : 'a' # َ fatha
|
496
|
-
'\u064e(?=\u0629)' : '' # َ fatha followed by ta' marboota
|
497
|
-
'\u064e(?=a[h|t])' : '' # َ fatha followed by ta' marboota, handling different order of conversion
|
498
|
-
|
499
|
-
# Both e and i are available to romanize this short vowel,
|
500
|
-
# depending on local usage and/or root language. In cases where the sound
|
501
|
-
# is uncertain, i is the default romanization in BGN/PCGN standardization
|
502
|
-
# procedures.
|
503
|
-
'\u0650':
|
504
|
-
- 'i'
|
505
|
-
- 'e'
|
506
|
-
'\u0650\b' : '-e' # ِ kasra
|
507
|
-
|
508
|
-
# Both o and u are available to romanize this short vowel,
|
509
|
-
# depending on local usage and/or root language. In cases where the sound
|
510
|
-
# is uncertain, u is the default romanization in BGN/PCGN standardization
|
511
|
-
# procedures.
|
512
|
-
'\u064f': # ُ damma
|
513
|
-
- 'u'
|
514
|
-
- 'o'
|
515
|
-
|
516
|
-
'\u0652' : '' # ْ sokoon
|
517
|
-
'\u0659': 'ê'
|
518
|
-
|
519
|
-
# special pointed letters
|
520
|
-
'\u0639\u064e' : '‘a' # عَ
|
521
|
-
'\u0639\u0650' : '‘i' # عِ
|
522
|
-
'\u0639\u064f' : '‘ū' # عُ
|
523
|
-
# handle MacOS regex difference
|
524
|
-
'\u0639\u064f\u0648' : '‘ū' # عُو damma followed by و
|
525
|
-
|
526
|
-
'\u0650\u064a' : 'ī' # ـِي kasra followed by ي
|
527
|
-
'\u0650\u06cc' : 'ī' # ـِي kasra followed by ي
|
528
|
-
'\u0650\u064a\u0651\u064e' : 'īy' # ـِيَّ
|
529
|
-
'\u0650\u064a(?=\u064e|u064f)' : 'iy' # ـِي kasra followed by ي
|
530
|
-
'\u064f\u0648' : 'ō' # ـُو damma followed by و
|
531
|
-
'\u064e\u0627' : 'ā' # ـَا fatha followed by ا
|
532
|
-
'\u064e\u0649' : 'ay' # ـَى fatha followed by ى which is ا not ي
|
533
|
-
'\u064e\u0648\u0652' : 'aw' # ـَوْ
|
534
|
-
'\u064e\u0648' : 'ow' # ـَو
|
535
|
-
'\u064e\u064a\u0652' : 'ay' # ـَيْ
|
536
|
-
'\u0650\u06cc\u0651\u064e' : 'īy' # ـِيَّ
|
537
|
-
'\u064e\u064a' : 'aī' # ـَي
|
538
|
-
'\u064e\u06cc' : 'aī' # ـَي
|
539
|
-
'\u0649\u0670': 'á' # ىٰ
|
540
|
-
'\u0674': '-e' # ٴ
|
541
|
-
'\u0654': '-e' # ٔ
|
542
|
-
# - '-ye'
|
543
|
-
|
544
|
-
# An alif with mad ( آ ) is written only in the initial position by
|
545
|
-
# BGN/PCGN standardization procedures, in keeping with Persian language
|
546
|
-
# family standards of use of the Arabic alphabet. The same letter written
|
547
|
-
# in a medial or final position is written . . .
|
548
|
-
'\u0622' : 'ā' # آ
|
549
|
-
|
550
|
-
# ta' marboota
|
551
|
-
'\u0629' : 'at' # ة in the middle of the sentence
|
552
|
-
'\u0629$' : 'ah'
|
553
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{2})\u0629' : 'ah'
|
554
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{3})\u0629' : 'ah'
|
555
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{4})\u0629' : 'ah'
|
556
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{5})\u0629' : 'ah'
|
557
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{6})\u0629' : 'ah'
|
558
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{7})\u0629' : 'ah'
|
559
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{8})\u0629' : 'ah'
|
560
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{9})\u0629' : 'ah'
|
561
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{10})\u0629' : 'ah'
|
562
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{11})\u0629' : 'ah'
|
563
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{12})\u0629' : 'ah'
|
564
|
-
'(?<=\b\u0627\u0644[\u0600-\u06ff]{13})\u0629' : 'ah'
|
565
|
-
|
566
|
-
# shadda
|
567
|
-
|
568
|
-
'\u0628\u0651' : 'bb' # ب
|
569
|
-
'\u062a\u0651' : 'tt' # ت
|
570
|
-
'\u062b\u0651' : 'thth' # ث
|
571
|
-
'\u062c\u0651' : 'jj' # ج
|
572
|
-
'\u062d\u0651' : 'ẖẖ' # ح
|
573
|
-
'\u062e\u0651' : 'khkh' # خ
|
574
|
-
'\u062f\u0651' : 'dd' # د
|
575
|
-
'\u0630\u0651' : 'z̄z̄' # ذ
|
576
|
-
'\u0631\u0651' : 'rr' # ر
|
577
|
-
'\u0632\u0651' : 'zz' # ز
|
578
|
-
'\u0633\u0651' : 'ss' # س
|
579
|
-
'\u0634\u0651' : 'sh' # ش
|
580
|
-
'\u0635\u0651' : 'şş' # ص
|
581
|
-
'\u0636\u0651' : 'ḏḏ' # ض
|
582
|
-
'\u0637\u0651' : 'ţţ' # ط
|
583
|
-
'\u0638\u0651' : 'z̧z̧' # ظ
|
584
|
-
'\u063a\u0651' : 'ghgh' # غ
|
585
|
-
'\u0641\u0651' : 'ff' # ف
|
586
|
-
'\u0642\u0651' : 'qq' # ق
|
587
|
-
'\u0643\u0651' : 'kk' # ك
|
588
|
-
'\u0644\u0651' : 'll' # ل
|
589
|
-
'\u0645\u0651' : 'mm' # م
|
590
|
-
'\u0646\u0651' : 'nn' # ن
|
591
|
-
'\u0647\u0651' : 'hh' # ه
|
592
|
-
'\u0648\u0651' : 'ww' # و
|
593
|
-
'\u064a\u0651' : 'yy' # ي
|
594
|
-
|
595
|
-
|
596
|
-
'\u0621': '’' # ء
|
597
|
-
'\u0626': '’' # ئ
|
598
|
-
|
599
|
-
'\u0623' : '' # أ
|
600
|
-
'\u0625': '' # إ
|
601
|
-
'\u0627' : 'ā' # ا
|
602
|
-
|
603
|
-
# See note B
|
604
|
-
'\b\u0627\u0644' : 'al ' # ال
|
605
|
-
# '\uFE8E' : '' # ﺎ
|
606
|
-
|
607
|
-
# Sun letters
|
608
|
-
'\b\u0627\u0644\u062a' : 'at t' # الت
|
609
|
-
'\b\u0627\u0644\u062b' : 'as̄ s̄' # الث
|
610
|
-
'\b\u0627\u0644\u062f' : 'ad d' # الد
|
611
|
-
'\b\u0627\u0644\u0630' : 'az̄ z̄' # الذ
|
612
|
-
'\b\u0627\u0644\u0631' : 'ar r' # الر
|
613
|
-
'\b\u0627\u0644\u0632' : 'az z' # الز
|
614
|
-
'\b\u0627\u0644\u0633' : 'as s' # الس
|
615
|
-
'\b\u0627\u0644\u0634' : 'ash sh' # الش
|
616
|
-
'\b\u0627\u0644\u0635' : 'aş ş' # الص
|
617
|
-
'\b\u0627\u0644\u0636' : 'aẕ ẕ' # الض
|
618
|
-
'\b\u0627\u0644\u0637' : 'aţ ţ' # الط
|
619
|
-
'\b\u0627\u0644\u0638' : 'az̧ z̧' # الظ
|
620
|
-
'\b\u0627\u0644\u0644' : 'al l' # الل
|
621
|
-
'\b\u0627\u0644\u0646' : 'an n' # الن
|
622
|
-
|
623
|
-
|
624
|
-
# consonant characters
|
625
|
-
|
626
|
-
'\u0628' : 'b' # ب
|
627
|
-
'\u067E': 'p' # پ
|
628
|
-
'\u062a' : 't' # ت
|
629
|
-
'\u067C': 'ṯ' # ټ
|
630
|
-
'\u062B': 's̄' # ث
|
631
|
-
'\u062c' : 'j' # ج
|
632
|
-
'\u0686': 'ch' # چ
|
633
|
-
|
634
|
-
# # The variant form ج is seen infrequently and does not have a
|
635
|
-
# # single Unicode encoding.
|
636
|
-
'\u0681': 'dz' # Note 2 # ځ
|
637
|
-
|
638
|
-
'\u0685': 'ts' # Note 2 # څ
|
639
|
-
|
640
|
-
'\u062d' : 'ḩ' # ح
|
641
|
-
'\u062e' : 'kh' # خ
|
642
|
-
'\u062f' : 'd' # د
|
643
|
-
'\u0689' : 'ḏ' # ډ
|
644
|
-
'\u0630' : 'z̄' # ذ
|
645
|
-
'\u0631' : 'r' # ر
|
646
|
-
'\u0693' : 'ṟ' # ړ
|
647
|
-
'\u0632' : 'z' # ز
|
648
|
-
'\u0698' : 'zh' # ژ
|
649
|
-
'\u0696' : 'z͟h' # ږ
|
650
|
-
'\u0633' : 's' # س
|
651
|
-
'\u069A' : 's͟h' # ښ
|
652
|
-
'\u0634' : 'sh' # ش
|
653
|
-
'\u0635' : 'ş' # ص
|
654
|
-
'\u0636' : 'ẕ' # ض
|
655
|
-
'\u0637' : 'ţ' # ط
|
656
|
-
'\u0638' : 'z̧' # ظ
|
657
|
-
'\u0639' : '‘' # ع
|
658
|
-
'\u063a' : 'gh' # غ
|
659
|
-
'\u0641' : 'f' # ف
|
660
|
-
'\u0642' : 'q' # ق
|
661
|
-
'\u0643' : 'k' # ك
|
662
|
-
'\u06A9' : 'k' # ک
|
663
|
-
'\u06AF' : 'g' # گ
|
664
|
-
'\u0644' : 'l' # ل
|
665
|
-
'\u0645' : 'm' # م
|
666
|
-
'\u0646' : 'n' # ن
|
667
|
-
'\u06BC' : 'ṉ' # ڼ
|
668
|
-
'\u0647' : 'h' # ه
|
669
|
-
'\u0648' : 'w' # و
|
670
|
-
'\u064a' : 'y' # ي
|
671
|
-
'\u0649' : 'y' # ي
|
672
|
-
'\u06D0' : 'ē' # ې
|
673
|
-
'\u06CD' : 'êy' # ۍ
|