interscript 0.1.9 → 2.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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' # ۍ
|