interscript-maps 2.5.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +76 -5
  3. data/interscript-maps.gemspec +1 -1
  4. data/libs/posix.isc +7 -0
  5. data/libs/unicode.isc +8 -0
  6. data/libs/var-Cyrl.isc +8 -0
  7. data/libs/var-kor.isc +14 -0
  8. data/maps/alalc-ban-Bali-Latn-2025.isc +610 -0
  9. data/maps/alalc-bod-Tibt-Latn-2015.isc +2249 -0
  10. data/maps/alalc-btk-Batk-Latn-2012.isc +330 -0
  11. data/maps/alalc-cjm-Cham-Latn-2015.isc +18189 -0
  12. data/maps/alalc-ell-Grek-Latn-2010.isc +1 -0
  13. data/maps/alalc-jav-Java-Latn-2012.isc +3963 -0
  14. data/maps/alalc-khm-Khmr-Latn-2013.isc +3569 -0
  15. data/maps/alalc-lao-Laoo-Latn-2012.isc +2176 -0
  16. data/maps/alalc-lep-Lepc-Latn-2012.isc +10241 -0
  17. data/maps/alalc-lif-Limb-Latn-2011.isc +267 -0
  18. data/maps/alalc-mkd-Cyrl-Latn-1997.isc +1 -0
  19. data/maps/alalc-mkd-Cyrl-Latn-2013.isc +1 -0
  20. data/maps/alalc-mni-Mtei-Latn-2022.isc +289 -0
  21. data/maps/alalc-mya-Mymr-Latn-2011.isc +2723 -0
  22. data/maps/alalc-sat-Olck-Latn-2017.isc +77 -0
  23. data/maps/alalc-shn-Shan-Latn-2012.isc +906 -0
  24. data/maps/alalc-srp-Cyrl-Latn-1997.isc +1 -0
  25. data/maps/alalc-tha-Thai-Latn-2011.isc +1830 -0
  26. data/maps/bas-rus-Cyrl-Latn-2017-bss.isc +1 -0
  27. data/maps/bgnpcgn-ady-Cyrl-Latn-2012.isc +333 -0
  28. data/maps/bgnpcgn-av-Cyrl-Latn-2011.isc +181 -0
  29. data/maps/bgnpcgn-ava-Cyrl-Latn-2011.isc +264 -0
  30. data/maps/bgnpcgn-chv-Cyrl-Latn-2011.isc +242 -0
  31. data/maps/bgnpcgn-cv-Cyrl-Latn-2011.isc +179 -0
  32. data/maps/bgnpcgn-deu-Latn-Latn-2000.isc +1 -0
  33. data/maps/bgnpcgn-dzo-Tibt-Latn-2010.isc +523 -0
  34. data/maps/bgnpcgn-iu-Cans-Latn-2013.isc +280 -0
  35. data/maps/bgnpcgn-kbd-Cyrl-Latn-2011.isc +295 -0
  36. data/maps/bgnpcgn-krc-Cyrl-Latn-2008.isc +218 -0
  37. data/maps/bgnpcgn-kur-Arab-Latn-2007.isc +4 -1
  38. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.isc +1 -0
  39. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.isc +1 -0
  40. data/maps/bgnpcgn-os-Cyrl-Latn-2009.isc +187 -0
  41. data/maps/bgnpcgn-oss-Cyrl-Latn-2009.isc +259 -0
  42. data/maps/bgnpcgn-sah-Cyrl-Latn-2012.isc +257 -0
  43. data/maps/bgnpcgn-syc-Syrc-Latn-2011.isc +94 -0
  44. data/maps/bgnpcgn-syr-Syrc-Latn-2011.isc +118 -0
  45. data/maps/bgnpcgn-tha-Thai-Latn-2002.isc +595 -0
  46. data/maps/bgnpcgn-udm-Cyrl-Latn-2011.isc +225 -0
  47. data/maps/bsi-bel-Cyrl-Latn-1958.isc +148 -0
  48. data/maps/bsi-bul-Cyrl-Latn-1958.isc +137 -0
  49. data/maps/bsi-chu-Cyrl-Latn-1958.isc +226 -0
  50. data/maps/bsi-ell-Grek-Latn-1958.isc +445 -0
  51. data/maps/bsi-kor-Kore-Latn-6505-1982-t8.isc +2757 -0
  52. data/maps/bsi-kor-Kore-Latn-6505-1982.isc +11327 -0
  53. data/maps/bsi-mkd-Cyrl-Latn-1958.isc +140 -0
  54. data/maps/bsi-ron-Cyrl-Latn-1958.isc +244 -0
  55. data/maps/bsi-rus-Cyrl-Latn-1958.isc +199 -0
  56. data/maps/bsi-srp-Cyrl-Latn-1958.isc +134 -0
  57. data/maps/bsi-ukr-Cyrl-Latn-1958.isc +129 -0
  58. data/maps/by-bel-Cyrl-Latn-1998.isc +1 -0
  59. data/maps/din-ab-Cyrl-Latn-1460-2-2011.isc +83 -0
  60. data/maps/din-abq-Cyrl-Latn-1460-2-2011.isc +66 -0
  61. data/maps/din-ady-Cyrl-Latn-1460-2-2011.isc +73 -0
  62. data/maps/din-ara-Arab-Latn-31635-2011.isc +402 -0
  63. data/maps/din-atv-Cyrl-Latn-1460-2-2011.isc +80 -0
  64. data/maps/din-av-Cyrl-Latn-1460-2-2011.isc +74 -0
  65. data/maps/din-az-Cyrl-Latn-1460-2-2011.isc +80 -0
  66. data/maps/din-ba-Cyrl-Latn-1460-2-2011.isc +82 -0
  67. data/maps/din-bxr-Cyrl-Latn-1460-2-2011.isc +77 -0
  68. data/maps/din-ce-Cyrl-Latn-1460-2-2011.isc +81 -0
  69. data/maps/din-cjs-Cyrl-Latn-1460-2-2011.isc +79 -0
  70. data/maps/din-ckt-Cyrl-Latn-1460-2-2011.isc +73 -0
  71. data/maps/din-crh-Cyrl-Latn-1460-2-2011.isc +74 -0
  72. data/maps/din-cv-Cyrl-Latn-1460-2-2011.isc +87 -0
  73. data/maps/din-dar-Cyrl-Latn-1460-2-2011.isc +74 -0
  74. data/maps/din-dng-Cyrl-Latn-1460-2-2011.isc +78 -0
  75. data/maps/din-ess-Cyrl-Latn-1460-2-2011-s14.isc +79 -0
  76. data/maps/din-eve-Cyrl-Latn-1460-2-2011.isc +77 -0
  77. data/maps/din-evn-Cyrl-Latn-1460-2-2011.isc +75 -0
  78. data/maps/din-fas-Arab-Latn-31635-2011.isc +337 -0
  79. data/maps/din-gag-Cyrl-Latn-1460-2-2011.isc +78 -0
  80. data/maps/din-gld-Cyrl-Latn-1460-2-2011.isc +74 -0
  81. data/maps/din-heb-Hebr-Latn-31636-2018.isc +355 -0
  82. data/maps/din-hye-Armn-Latn-32706-2010.isc +197 -0
  83. data/maps/din-inh-Cyrl-Latn-1460-2-2011.isc +74 -0
  84. data/maps/din-jpn-Hrkt-Latn-32708-2014.isc +1316 -0
  85. data/maps/din-kaa-Cyrl-Latn-1460-2-2011.isc +81 -0
  86. data/maps/din-kbd-Cyrl-Latn-1460-2-2011.isc +74 -0
  87. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s25.isc +78 -0
  88. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s36.isc +75 -0
  89. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s48.isc +75 -0
  90. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s50.isc +81 -0
  91. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s62.isc +81 -0
  92. data/maps/din-khk-Cyrl-Latn-1460-2-2011.isc +76 -0
  93. data/maps/din-kjh-Cyrl-Latn-1460-2-2011.isc +88 -0
  94. data/maps/din-kk-Cyrl-Latn-1460-2-2011.isc +82 -0
  95. data/maps/din-koi-Cyrl-Latn-1460-2-2011.isc +78 -0
  96. data/maps/din-kpy-Cyrl-Latn-1460-2-2011.isc +76 -0
  97. data/maps/din-krc-Cyrl-Latn-1460-2-2011-s23.isc +83 -0
  98. data/maps/din-krc-Cyrl-Latn-1460-2-2011-s7.isc +75 -0
  99. data/maps/din-ku-Cyrl-Latn-1460-2-2011-s32.isc +77 -0
  100. data/maps/din-kum-Cyrl-Latn-1460-2-2011.isc +78 -0
  101. data/maps/din-kur-Arab-Latn-31635-2011.isc +196 -0
  102. data/maps/din-kv-Cyrl-Latn-1460-2-2011.isc +78 -0
  103. data/maps/din-ky-Cyrl-Latn-1460-2-2011.isc +77 -0
  104. data/maps/din-lbe-Cyrl-Latn-1460-2-2011.isc +66 -0
  105. data/maps/din-lez-Cyrl-Latn-1460-2-2011.isc +74 -0
  106. data/maps/din-mdf-Cyrl-Latn-1460-2-2011.isc +78 -0
  107. data/maps/din-mhr-Cyrl-Latn-1460-2-2011.isc +79 -0
  108. data/maps/din-mns-Cyrl-Latn-1460-2-2011.isc +76 -0
  109. data/maps/din-mrj-Cyrl-Latn-1460-2-2011.isc +79 -0
  110. data/maps/din-myv-Cyrl-Latn-1460-2-2011.isc +74 -0
  111. data/maps/din-niv-Cyrl-Latn-1460-2-2011.isc +80 -0
  112. data/maps/din-nog-Cyrl-Latn-1460-2-2011.isc +74 -0
  113. data/maps/din-os-Cyrl-Latn-1460-2-2011.isc +89 -0
  114. data/maps/din-ro-Cyrl-Latn-1460-2-2011-s38.isc +72 -0
  115. data/maps/din-sah-Cyrl-Latn-1460-2-2011.isc +89 -0
  116. data/maps/din-sel-Cyrl-Latn-1460-2-2011.isc +80 -0
  117. data/maps/din-tab-Cyrl-Latn-1460-2-2011.isc +74 -0
  118. data/maps/din-tg-Cyrl-Latn-1460-2-2011.isc +83 -0
  119. data/maps/din-tk-Cyrl-Latn-1460-2-2011.isc +78 -0
  120. data/maps/din-tt-Cyrl-Latn-1460-2-2011.isc +53 -0
  121. data/maps/din-tyv-Cyrl-Latn-1460-2-2011.isc +77 -0
  122. data/maps/din-udm-Cyrl-Latn-1460-2-2011.isc +79 -0
  123. data/maps/din-ug-Cyrl-Latn-1460-2-2011.isc +81 -0
  124. data/maps/din-urd-Arab-Latn-31635-2011.isc +300 -0
  125. data/maps/din-uz-Cyrl-Latn-1460-2-2011.isc +76 -0
  126. data/maps/din-xal-Cyrl-Latn-1460-2-2011.isc +82 -0
  127. data/maps/din-yid-Hebr-Latn-31636-2018.isc +208 -0
  128. data/maps/din-yrk-Cyrl-Latn-1460-2-2011.isc +76 -0
  129. data/maps/gki-bel-Cyrl-Latn-2000.isc +1 -0
  130. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.isc +1 -0
  131. data/maps/icao-bel-Cyrl-Latn-9303.isc +41 -4
  132. data/maps/icao-bul-Cyrl-Latn-9303.isc +36 -5
  133. data/maps/icao-fas-Arab-Latn-9303.isc +28 -8
  134. data/maps/icao-heb-Hebr-Latn-9303.isc +5 -0
  135. data/maps/icao-mkd-Cyrl-Latn-9303.isc +49 -6
  136. data/maps/icao-mul-Latn-Latn-2015.isc +256 -0
  137. data/maps/icao-rus-Cyrl-Latn-9303.isc +29 -0
  138. data/maps/icao-srp-Cyrl-Latn-9303.isc +53 -4
  139. data/maps/icao-ukr-Cyrl-Latn-9303.isc +53 -7
  140. data/maps/iso-rus-Cyrl-Latn-9-1995.isc +14 -4
  141. data/maps/kp-kor-Hang-Latn-2002.isc +1 -0
  142. data/maps/odni-kor-Hang-Latn-2015.isc +1 -0
  143. data/maps/odni-kur-Arab-Latn-2011.isc +280 -0
  144. data/maps/odni-prs-Arab-Latn-2004.isc +0 -1
  145. data/maps/odni-zho-Hani-Latn-2015.isc +457 -0
  146. data/maps/royin-tha-Thai-Latn-1999.isc +60 -0
  147. data/maps/un-amh-Ethi-Latn-2016.isc +3 -0
  148. data/maps/un-ara-Arab-Latn-1971.isc +2 -0
  149. data/maps/un-ara-Arab-Latn-1972.isc +4 -0
  150. data/maps/un-ara-Arab-Latn-2017.isc +129 -15
  151. data/maps/un-asm-Beng-Latn-1972.isc +9 -1
  152. data/maps/un-bel-Cyrl-Latn-2007.isc +17 -0
  153. data/maps/un-ben-Beng-Latn-2016.isc +4422 -128
  154. data/maps/un-bul-Cyrl-Latn-1977.isc +50 -34
  155. data/maps/un-ell-Grek-Latn-1987-phonetic.isc +1 -0
  156. data/maps/un-ell-Grek-Latn-1987-tl.isc +8 -0
  157. data/maps/un-ell-Grek-Latn-1987-ts.isc +1 -0
  158. data/maps/un-guj-Gujr-Latn-1972.isc +2 -0
  159. data/maps/un-hin-Deva-Latn-2016.isc +6 -0
  160. data/maps/un-kan-Kana-Latn-2016.isc +2 -0
  161. data/maps/un-mal-Mlym-Latn-1972.isc +8 -2
  162. data/maps/un-mar-Deva-Latn-2016.isc +10 -9
  163. data/maps/un-mkd-Cyrl-Latn-1977.isc +12 -0
  164. data/maps/un-mon-Mong-Latn-general-2013.isc +3 -0
  165. data/maps/un-mon-Mong-Latn-phonetic-2013.isc +3 -0
  166. data/maps/un-nep-Deva-Latn-1972.isc +2 -0
  167. data/maps/un-nep-Deva-Latn-2013.isc +2 -0
  168. data/maps/un-ori-Orya-Latn-1972.isc +16 -6
  169. data/maps/un-pan-Guru-Latn-1972.isc +2 -0
  170. data/maps/un-prs-Arab-Latn-1967.isc +2 -6
  171. data/maps/un-rus-Cyrl-Latn-1987.isc +8 -4
  172. data/maps/un-sin-Sinh-Latn-1972.isc +4 -0
  173. data/maps/un-srp-Cyrl-Latn-1997.isc +9 -1
  174. data/maps/un-tam-Taml-Latn-1972.isc +2 -0
  175. data/maps/un-tel-Telu-Latn-1972.isc +2 -0
  176. data/maps/un-ukr-Cyrl-Latn-1998.isc +2 -0
  177. data/maps/un-ukr-Cyrl-Latn-2012.isc +7 -1
  178. data/maps/un-urd-Arab-Latn-1972.isc +9 -3
  179. data/maps/var-kor-Hang-Latn-mr-1939.isc +3 -3
  180. metadata +120 -1
@@ -0,0 +1,264 @@
1
+ system "BGN-PCGN:ava-Cyrl:Latn:2011" {
2
+
3
+ metadata {
4
+ authority_id bgnpcgn
5
+ id 2011
6
+ language iso-639-2:ava
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name Romanization of Avar (2011)
10
+ url https://www.gov.uk/government/organisations/permanent-committee-on-geographical-names
11
+ creation_date 2011
12
+ confirmation_date 2017-10
13
+ description {
14
+ The BGN/PCGN system for Avar is designed for use in romanizing names written in the
15
+ Avar Cyrillic alphabet. Avar is a consonant-rich north-eastern Caucasian language,
16
+ spoken principally in Russia's republic of Dagestan. It has been written in a modified
17
+ Cyrillic script since 1938 and, as other Caucasian languages, features glottalised
18
+ consonants; an apostrophe denotes the glottalised form of consonants in this
19
+ romanization table.
20
+ }
21
+
22
+ notes {
23
+ note "Е should be romanized ye word-initially, and after a vowel, and e elsewhere."
24
+ note "In order to retain reversibility, where two consonant characters appear together and the resulting romanization is equivalent to a Roman-script digraph occurring in the system (i.e. gh, zh, tl, sh or ts), a medial dot may be employed between the Roman-script consonants (e.g. g·h) in order to distinguish these from the Roman-script digraphs."
25
+ note "Ё, Ф, Ъ, Ы and Ь occur only in loanwords, except as they appear in character combinations addressed elsewhere in the table, and are represented in the same style as in the BGN/PCGN Romanization System for Russian."
26
+ note "The letter ХӀ is romanized h with the combining macron below (h + U+0331); the letter ГӀ is romanized Ġ (U+0120) / ġ (U+0121)."
27
+ note "An inventory of letter-diacritic combinations, with their Unicode encoding, in addition to the unmodified letters of the basic Roman script is:"
28
+ note "All apostrophes appearing in romanization are U+2019"
29
+ note "Ġ (U+0047+0307) ġ (U+0067+0307) Ë (U+00CB) ë (U+00EB)"
30
+ note "The Romanization columns show only lowercase forms but, when romanizing, uppercase and lowercase Roman letters as appropriate should be used."
31
+ }
32
+ }
33
+
34
+ tests {
35
+ # every table row, upper and lower
36
+ "А" -> "A"
37
+ "а" -> "a"
38
+ "Б" -> "B"
39
+ "б" -> "b"
40
+ "В" -> "W"
41
+ "в" -> "w"
42
+ "Г" -> "G"
43
+ "г" -> "g"
44
+ "Гъ" -> "Gh"
45
+ "гъ" -> "gh"
46
+ "Гь" -> "H"
47
+ "гь" -> "h"
48
+ "ГӀ" -> "Ġ"
49
+ "гӀ" -> "ġ"
50
+ "Д" -> "D"
51
+ "д" -> "d"
52
+ "Е" -> "Ye"
53
+ "е" -> "ye"
54
+ "Ё" -> "Ë"
55
+ "ё" -> "ë"
56
+ "Ж" -> "Zh"
57
+ "ж" -> "zh"
58
+ "З" -> "Z"
59
+ "з" -> "z"
60
+ "И" -> "I"
61
+ "и" -> "i"
62
+ "Й" -> "Y"
63
+ "й" -> "y"
64
+ "К" -> "K"
65
+ "к" -> "k"
66
+ "Къ" -> "Q’"
67
+ "къ" -> "q’"
68
+ "Кь" -> "Tl’"
69
+ "кь" -> "tl’"
70
+ "КӀ" -> "K’"
71
+ "кӀ" -> "k’"
72
+ "Л" -> "L"
73
+ "л" -> "l"
74
+ "Лъ" -> "Lh"
75
+ "лъ" -> "lh"
76
+ "ЛӀ" -> "Tl"
77
+ "лӀ" -> "tl"
78
+ "М" -> "M"
79
+ "м" -> "m"
80
+ "Н" -> "N"
81
+ "н" -> "n"
82
+ "О" -> "O"
83
+ "о" -> "o"
84
+ "П" -> "P"
85
+ "п" -> "p"
86
+ "Р" -> "R"
87
+ "р" -> "r"
88
+ "С" -> "S"
89
+ "с" -> "s"
90
+ "Т" -> "T"
91
+ "т" -> "t"
92
+ "ТӀ" -> "T’"
93
+ "тӀ" -> "t’"
94
+ "У" -> "U"
95
+ "у" -> "u"
96
+ "Ф" -> "F"
97
+ "ф" -> "f"
98
+ "Х" -> "X"
99
+ "х" -> "x"
100
+ "Хъ" -> "Q"
101
+ "хъ" -> "q"
102
+ "Хь" -> "Kh"
103
+ "хь" -> "kh"
104
+ "ХӀ" -> "H̱"
105
+ "хӀ" -> "ẖ"
106
+ "Ц" -> "Ts"
107
+ "ц" -> "ts"
108
+ "ЦӀ" -> "Ts’"
109
+ "цӀ" -> "ts’"
110
+ "Ч" -> "Ch"
111
+ "ч" -> "ch"
112
+ "ЧӀ" -> "Ch’"
113
+ "чӀ" -> "ch’"
114
+ "Ш" -> "Sh"
115
+ "ш" -> "sh"
116
+ "Щ" -> "Shsh"
117
+ "щ" -> "shsh"
118
+ "Ъ" -> "’’"
119
+ "ъ" -> "’’"
120
+ "Ы" -> "Y"
121
+ "ы" -> "y"
122
+ "Ь" -> "’"
123
+ "ь" -> "’"
124
+ "Э" -> "E"
125
+ "э" -> "e"
126
+ "Ю" -> "Yu"
127
+ "ю" -> "yu"
128
+ "Я" -> "Ya"
129
+ "я" -> "ya"
130
+ # note 1: Е word-initially and after a vowel ye, elsewhere e
131
+ "бе" -> "be"
132
+ "ае" -> "aye"
133
+ "ъе" -> "’’e"
134
+ }
135
+
136
+ stage main {
137
+
138
+ # RULES
139
+ # note 1: Е word-initially and after a vowel ye, elsewhere e
140
+ sub {
141
+ from boundary + "Е"
142
+ to "Ye"
143
+ }
144
+ sub {
145
+ from boundary + "е"
146
+ to "ye"
147
+ }
148
+ sub {
149
+ from "Е"
150
+ to "Ye"
151
+ before any("АаЕеЁёИиОоУуЫыЭэЮюЯя")
152
+ }
153
+ sub {
154
+ from "е"
155
+ to "ye"
156
+ before any("АаЕеЁёИиОоУуЫыЭэЮюЯя")
157
+ }
158
+
159
+ # CHARACTERS
160
+ parallel {
161
+ sub "ХӀ" "H̱"
162
+ sub "Гъ" "Gh"
163
+ sub "Къ" "Q’"
164
+ sub "Кь" "Tl’"
165
+ sub "КӀ" "K’"
166
+ sub "Лъ" "Lh"
167
+ sub "ЛӀ" "Tl"
168
+ sub "ТӀ" "T’"
169
+ sub "Хъ" "Q"
170
+ sub "Хь" "Kh"
171
+ sub "ЦӀ" "Ts’"
172
+ sub "ЧӀ" "Ch’"
173
+ sub "Гь" "H"
174
+ sub "ГӀ" "Ġ"
175
+ sub "Дж" "J"
176
+ sub "Дз" "Dz"
177
+ sub "Щ" "Shsh"
178
+ sub "Ъ" "’’"
179
+ sub "Ы" "Y"
180
+ sub "Ь" "’"
181
+ sub "Ю" "Yu"
182
+ sub "Я" "Ya"
183
+ sub "А" "A"
184
+ sub "Б" "B"
185
+ sub "В" "W"
186
+ sub "Г" "G"
187
+ sub "Д" "D"
188
+ sub "Е" "E"
189
+ sub "Ё" "Ë"
190
+ sub "Ж" "Zh"
191
+ sub "З" "Z"
192
+ sub "И" "I"
193
+ sub "Й" "Y"
194
+ sub "К" "K"
195
+ sub "Л" "L"
196
+ sub "М" "M"
197
+ sub "Н" "N"
198
+ sub "О" "O"
199
+ sub "П" "P"
200
+ sub "Р" "R"
201
+ sub "С" "S"
202
+ sub "Т" "T"
203
+ sub "У" "U"
204
+ sub "Ф" "F"
205
+ sub "Х" "X"
206
+ sub "Ц" "Ts"
207
+ sub "Ч" "Ch"
208
+ sub "Ш" "Sh"
209
+ sub "Э" "E"
210
+
211
+ sub "хӀ" "ẖ"
212
+ sub "гъ" "gh"
213
+ sub "къ" "q’"
214
+ sub "кь" "tl’"
215
+ sub "кӀ" "k’"
216
+ sub "лъ" "lh"
217
+ sub "лӀ" "tl"
218
+ sub "тӀ" "t’"
219
+ sub "хъ" "q"
220
+ sub "хь" "kh"
221
+ sub "цӀ" "ts’"
222
+ sub "чӀ" "ch’"
223
+ sub "гь" "h"
224
+ sub "гӀ" "ġ"
225
+ sub "дж" "j"
226
+ sub "дз" "dz"
227
+ sub "щ" "shsh"
228
+ sub "ъ" "’’"
229
+ sub "ы" "y"
230
+ sub "ь" "’"
231
+ sub "ю" "yu"
232
+ sub "я" "ya"
233
+ sub "а" "a"
234
+ sub "б" "b"
235
+ sub "в" "w"
236
+ sub "г" "g"
237
+ sub "д" "d"
238
+ sub "е" "e"
239
+ sub "ё" "ë"
240
+ sub "ж" "zh"
241
+ sub "з" "z"
242
+ sub "и" "i"
243
+ sub "й" "y"
244
+ sub "к" "k"
245
+ sub "л" "l"
246
+ sub "м" "m"
247
+ sub "н" "n"
248
+ sub "о" "o"
249
+ sub "п" "p"
250
+ sub "р" "r"
251
+ sub "с" "s"
252
+ sub "т" "t"
253
+ sub "у" "u"
254
+ sub "ф" "f"
255
+ sub "х" "x"
256
+ sub "ц" "ts"
257
+ sub "ч" "ch"
258
+ sub "ш" "sh"
259
+ sub "э" "e"
260
+ }
261
+
262
+ }
263
+
264
+ }
@@ -0,0 +1,242 @@
1
+ system "BGN-PCGN:chv-Cyrl:Latn:2011" {
2
+
3
+ metadata {
4
+ authority_id bgnpcgn
5
+ id 2011
6
+ language iso-639-2:chv
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name Romanization of Chuvash (2011)
10
+ url https://www.gov.uk/government/organisations/permanent-committee-on-geographical-names
11
+ creation_date 2011
12
+ confirmation_date 2017-10
13
+ description {
14
+ The BGN/PCGN system for Chuvash is designed for use in romanizing names written in the
15
+ Chuvash Cyrillic alphabet. Chuvash is an official language within Chuvashiya, one of the
16
+ republics of the Russian Federation.
17
+ }
18
+
19
+ notes {
20
+ note "The character е should be romanized ye initially, after the vowel characters а, е, ё, и, о, у, ы, э, ю, and я, and after й, ъ, and ь. In all other instances, it should be romanized e."
21
+ note "The character ё should be romanized yë initially, after the vowel characters а, е, ё, и, о, у, ы, э, ю, and я, and after й, ъ, and ь. In all other instances, it should be romanized ё. Often the diaeresis is not shown in Cyrillic, and in this case, the character should be romanized as ë/yë, as outlined above, if known to be relevant, or otherwise e/ye as described in the first note."
22
+ note "The source document presents the letter Ҫ/ҫ with the codepoints U+00C7/U+00E7 (Latin C with cedilla) in its text layer; the standard Chuvash Cyrillic codepoints are U+04AA/U+04AB. This map accepts both pairs and romanizes them ś."
23
+ note "An inventory of letter-diacritic combinations, with their Unicode encoding, in addition to the unmodified letters of the basic Roman script is:"
24
+ note "Ă (U+0102) ă (U+0103) Ë (U+00CB) ë (U+00EB) Ĕ (U+0114) ĕ (U+0115) Ś (U+015A) ś (U+015B) Ü (U+00DC) ü (U+00FC) Ė (U+0116) ė (U+0117)"
25
+ note "The Romanization columns show only lowercase forms but, when romanizing, uppercase and lowercase Roman letters as appropriate should be used."
26
+ }
27
+ }
28
+
29
+ tests {
30
+ # every table row, upper and lower
31
+ "А" -> "A"
32
+ "а" -> "a"
33
+ "Ӑ" -> "Ă"
34
+ "ӑ" -> "ă"
35
+ "Б" -> "B"
36
+ "б" -> "b"
37
+ "В" -> "V"
38
+ "в" -> "v"
39
+ "Г" -> "G"
40
+ "г" -> "g"
41
+ "Д" -> "D"
42
+ "д" -> "d"
43
+ "Е" -> "Ye"
44
+ "е" -> "ye"
45
+ "Ё" -> "Yë"
46
+ "ё" -> "yë"
47
+ "Ӗ" -> "Ĕ"
48
+ "ӗ" -> "ĕ"
49
+ "Ж" -> "Zh"
50
+ "ж" -> "zh"
51
+ "З" -> "Z"
52
+ "з" -> "z"
53
+ "И" -> "I"
54
+ "и" -> "i"
55
+ "Й" -> "Y"
56
+ "й" -> "y"
57
+ "К" -> "K"
58
+ "к" -> "k"
59
+ "Л" -> "L"
60
+ "л" -> "l"
61
+ "М" -> "M"
62
+ "м" -> "m"
63
+ "Н" -> "N"
64
+ "н" -> "n"
65
+ "О" -> "O"
66
+ "о" -> "o"
67
+ "П" -> "P"
68
+ "п" -> "p"
69
+ "Р" -> "R"
70
+ "р" -> "r"
71
+ "С" -> "S"
72
+ "с" -> "s"
73
+ "Ç" -> "Ś"
74
+ "ç" -> "ś"
75
+ "Ҫ" -> "Ś"
76
+ "ҫ" -> "ś"
77
+ "Т" -> "T"
78
+ "т" -> "t"
79
+ "У" -> "U"
80
+ "у" -> "u"
81
+ "Ӳ" -> "Ü"
82
+ "ӳ" -> "ü"
83
+ "Ф" -> "F"
84
+ "ф" -> "f"
85
+ "Х" -> "Kh"
86
+ "х" -> "kh"
87
+ "Ц" -> "Ts"
88
+ "ц" -> "ts"
89
+ "Ч" -> "Ch"
90
+ "ч" -> "ch"
91
+ "Ш" -> "Sh"
92
+ "ш" -> "sh"
93
+ "Щ" -> "Shch"
94
+ "щ" -> "shch"
95
+ "Ъ" -> "”"
96
+ "ъ" -> "”"
97
+ "Ы" -> "Y"
98
+ "ы" -> "y"
99
+ "Ь" -> "’"
100
+ "ь" -> "’"
101
+ "Э" -> "Ė"
102
+ "э" -> "ė"
103
+ "Ю" -> "Yu"
104
+ "ю" -> "yu"
105
+ "Я" -> "Ya"
106
+ "я" -> "ya"
107
+ # notes 1-2: ye/yë contexts; ӑ is not in the vowel set
108
+ "бе" -> "be"
109
+ "ае" -> "aye"
110
+ "йе" -> "yye"
111
+ "ъе" -> "”ye"
112
+ "ье" -> "’ye"
113
+ "ӑе" -> "ăe"
114
+ "йё" -> "yyë"
115
+ "бё" -> "bë"
116
+ }
117
+
118
+ stage main {
119
+
120
+ # RULES
121
+ # notes 1-2: е and ё initially, after the listed vowels, and after й, ъ, ь
122
+ sub {
123
+ from boundary + "Е"
124
+ to "Ye"
125
+ }
126
+ sub {
127
+ from boundary + "е"
128
+ to "ye"
129
+ }
130
+ sub {
131
+ from "Е"
132
+ to "Ye"
133
+ before any("АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь")
134
+ }
135
+ sub {
136
+ from "е"
137
+ to "ye"
138
+ before any("АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь")
139
+ }
140
+ sub {
141
+ from boundary + "Ё"
142
+ to "Yë"
143
+ }
144
+ sub {
145
+ from boundary + "ё"
146
+ to "yë"
147
+ }
148
+ sub {
149
+ from "Ё"
150
+ to "Yë"
151
+ before any("АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь")
152
+ }
153
+ sub {
154
+ from "ё"
155
+ to "yë"
156
+ before any("АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь")
157
+ }
158
+
159
+ # CHARACTERS
160
+ parallel {
161
+ sub "Щ" "Shch"
162
+ sub "Ӳ" "Ü"
163
+ sub "Ӗ" "Ĕ"
164
+ sub "Ӑ" "Ă"
165
+ sub "Ҫ" "Ś"
166
+ sub "Ç" "Ś"
167
+ sub "Ъ" "”"
168
+ sub "Ы" "Y"
169
+ sub "Ь" "’"
170
+ sub "Э" "Ė"
171
+ sub "Ю" "Yu"
172
+ sub "Я" "Ya"
173
+ sub "А" "A"
174
+ sub "Б" "B"
175
+ sub "В" "V"
176
+ sub "Г" "G"
177
+ sub "Д" "D"
178
+ sub "Е" "E"
179
+ sub "Ё" "Ë"
180
+ sub "Ж" "Zh"
181
+ sub "З" "Z"
182
+ sub "И" "I"
183
+ sub "Й" "Y"
184
+ sub "К" "K"
185
+ sub "Л" "L"
186
+ sub "М" "M"
187
+ sub "Н" "N"
188
+ sub "О" "O"
189
+ sub "П" "P"
190
+ sub "Р" "R"
191
+ sub "С" "S"
192
+ sub "Т" "T"
193
+ sub "У" "U"
194
+ sub "Ф" "F"
195
+ sub "Х" "Kh"
196
+ sub "Ц" "Ts"
197
+ sub "Ч" "Ch"
198
+ sub "Ш" "Sh"
199
+
200
+ sub "щ" "shch"
201
+ sub "ӳ" "ü"
202
+ sub "ӗ" "ĕ"
203
+ sub "ӑ" "ă"
204
+ sub "ҫ" "ś"
205
+ sub "ç" "ś"
206
+ sub "ъ" "”"
207
+ sub "ы" "y"
208
+ sub "ь" "’"
209
+ sub "э" "ė"
210
+ sub "ю" "yu"
211
+ sub "я" "ya"
212
+ sub "а" "a"
213
+ sub "б" "b"
214
+ sub "в" "v"
215
+ sub "г" "g"
216
+ sub "д" "d"
217
+ sub "е" "e"
218
+ sub "ё" "ë"
219
+ sub "ж" "zh"
220
+ sub "з" "z"
221
+ sub "и" "i"
222
+ sub "й" "y"
223
+ sub "к" "k"
224
+ sub "л" "l"
225
+ sub "м" "m"
226
+ sub "н" "n"
227
+ sub "о" "o"
228
+ sub "п" "p"
229
+ sub "р" "r"
230
+ sub "с" "s"
231
+ sub "т" "t"
232
+ sub "у" "u"
233
+ sub "ф" "f"
234
+ sub "х" "kh"
235
+ sub "ц" "ts"
236
+ sub "ч" "ch"
237
+ sub "ш" "sh"
238
+ }
239
+
240
+ }
241
+
242
+ }
@@ -0,0 +1,179 @@
1
+ system "BGN-PCGN:cv-Cyrl:Latn:2011" {
2
+
3
+ metadata {
4
+ authority_id bgnpcgn
5
+ id 2011
6
+ language iso-639-1:cv
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name Romanization of Chuvash (BGN/PCGN 2011 System)
10
+ url https://geonames.nga.mil/gns/html/Romanization/ROMANIZATION%20OF%20CHUVASH.pdf
11
+ creation_date 2011
12
+ confirmation_date 2017-10
13
+ description { The BGN/PCGN system for Chuvash is designed for use in romanizing names written
14
+ in the Chuvash Cyrillic alphabet. Chuvash is an official language within Chuvashiya, one of
15
+ the republics of the Russian Federation.
16
+ }
17
+
18
+ notes {
19
+ note "The character e should be romanized ye initially, after the vowel characters a, e, ё, и, о, у, ы, э, ю, and я, and after й, ъ, and ь. In all other instances, it should be romanized e."
20
+ note "The character ё should be romanized yë initially, after the vowel characters a, e, ё, и, о, у, ы, э, ю, and я, and after й, ъ, and ь. In all other instances, it should be romanized ё. Often the dieresis is not shown in Cyrillic, and in this case, the character should be romanized as ‘ë’/‘yë’, as outlined above, if known to be relevant, or otherwise ‘e’/‘ye’ as described in note 1."
21
+ note "An inventory of letter-diacritic combinations, with their Unicode encoding, in addition to the unmodified letters of the basic Roman script is:\n\nĂ (U+0102) ă (U+0103)\nË (U+00CB) ë (U+00EB)\nĔ (U+0114) ĕ (U+0115)\nŚ (U+015A) ś (U+015B)\nÜ (U+00DC) ü (U+00FC)\nĖ (U+0116) ė (U+0117)"
22
+ note "The Romanization columns show only lowercase forms but, when romanizing, uppercase and lowercase Roman letters as appropriate should be used."
23
+ note "The source table renders the Cyrillic letter ҫ (U+04AA, U+04AB) with the glyphs of Latin ç (U+00C7, U+00E7); this implementation maps from the Cyrillic codepoints."
24
+ }
25
+ }
26
+
27
+ tests {
28
+ "Чӑвашла" -> "Chăvashla"
29
+ "Шупашкар" -> "Shupashkar"
30
+ "Ҫӗнӗ Шупашкар" -> "Śĕnĕ Shupashkar"
31
+ "ҫын" -> "śyn"
32
+ "ӗмӗр" -> "ĕmĕr"
33
+ "шыв" -> "shyv"
34
+ "хӗвел" -> "khĕvel"
35
+ "ҫул" -> "śul"
36
+ "сӑмах" -> "sămakh"
37
+ "ӳсентӑран" -> "üsentăran"
38
+ "кӳлĕ" -> "külĕ"
39
+ "иҫҫе" -> "iśśe"
40
+ "пулес" -> "pules"
41
+ "Етӗрне" -> "Yetĕrne"
42
+ "проект" -> "proyekt"
43
+ "Ӗпхӳ" -> "Ĕpkhü"
44
+ "йывӑҫ" -> "yyvăś"
45
+ "Вырӑс" -> "Vyrăs"
46
+ "музей" -> "muzey"
47
+ "театр" -> "teatr"
48
+ }
49
+
50
+ aliases {
51
+ cv_extvowel = any("АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь")
52
+ }
53
+
54
+ stage main {
55
+
56
+ # RULES
57
+ # note[1]: ye initially, after the vowel characters and after й, ъ, and ь
58
+ sub {
59
+ from "\u0415"
60
+ to "YЕ"
61
+ before cv_extvowel
62
+ }
63
+ sub {
64
+ from "\u0415"
65
+ to "Yе"
66
+ before boundary
67
+ }
68
+ sub {
69
+ from "\u0435"
70
+ to "yе"
71
+ before cv_extvowel
72
+ }
73
+ sub {
74
+ from "\u0435"
75
+ to "yе"
76
+ before boundary
77
+ }
78
+
79
+ # note[2]: yë initially, after the vowel characters and after й, ъ, and ь
80
+ sub {
81
+ from "\u0401"
82
+ to "Yë"
83
+ before cv_extvowel
84
+ }
85
+ sub {
86
+ from "\u0401"
87
+ to "Yë"
88
+ before boundary
89
+ }
90
+ sub {
91
+ from "\u0451"
92
+ to "yë"
93
+ before cv_extvowel
94
+ }
95
+ sub {
96
+ from "\u0451"
97
+ to "yë"
98
+ before boundary
99
+ }
100
+
101
+ # CHARACTERS
102
+ parallel {
103
+ sub "А" "A"
104
+ sub "а" "a"
105
+ sub "Ӑ" "Ă"
106
+ sub "ӑ" "ă"
107
+ sub "Б" "B"
108
+ sub "б" "b"
109
+ sub "В" "V"
110
+ sub "в" "v"
111
+ sub "Г" "G"
112
+ sub "г" "g"
113
+ sub "Д" "D"
114
+ sub "д" "d"
115
+ sub "Е" "E"
116
+ sub "е" "e"
117
+ sub "Ё" "Ë"
118
+ sub "ё" "ë"
119
+ sub "Ӗ" "Ĕ"
120
+ sub "ӗ" "ĕ"
121
+ sub "Ж" "Zh"
122
+ sub "ж" "zh"
123
+ sub "З" "Z"
124
+ sub "з" "z"
125
+ sub "И" "I"
126
+ sub "и" "i"
127
+ sub "Й" "Y"
128
+ sub "й" "y"
129
+ sub "К" "K"
130
+ sub "к" "k"
131
+ sub "Л" "L"
132
+ sub "л" "l"
133
+ sub "М" "M"
134
+ sub "м" "m"
135
+ sub "Н" "N"
136
+ sub "н" "n"
137
+ sub "О" "O"
138
+ sub "о" "o"
139
+ sub "П" "P"
140
+ sub "п" "p"
141
+ sub "Р" "R"
142
+ sub "р" "r"
143
+ sub "С" "S"
144
+ sub "с" "s"
145
+ sub "Ҫ" "Ś"
146
+ sub "ҫ" "ś"
147
+ sub "Т" "T"
148
+ sub "т" "t"
149
+ sub "У" "U"
150
+ sub "у" "u"
151
+ sub "Ӳ" "Ü"
152
+ sub "ӳ" "ü"
153
+ sub "Ф" "F"
154
+ sub "ф" "f"
155
+ sub "Х" "Kh"
156
+ sub "х" "kh"
157
+ sub "Ц" "Ts"
158
+ sub "ц" "ts"
159
+ sub "Ч" "Ch"
160
+ sub "ч" "ch"
161
+ sub "Ш" "Sh"
162
+ sub "ш" "sh"
163
+ sub "Щ" "Shch"
164
+ sub "щ" "shch"
165
+ sub "Ъ" "\u201D"
166
+ sub "ъ" "\u201D"
167
+ sub "Ы" "Y"
168
+ sub "ы" "y"
169
+ sub "Ь" "\u2019"
170
+ sub "ь" "\u2019"
171
+ sub "Э" "Ė"
172
+ sub "э" "ė"
173
+ sub "Ю" "Yu"
174
+ sub "ю" "yu"
175
+ sub "Я" "Ya"
176
+ sub "я" "ya"
177
+ }
178
+ }
179
+ }
@@ -25,6 +25,7 @@ tests {
25
25
  }
26
26
 
27
27
  dependency "posix"
28
+ dependency "var-kor"
28
29
 
29
30
  stage main {
30
31