interscript-maps 2.5.2 → 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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +76 -5
  3. data/interscript-maps.gemspec +1 -1
  4. data/maps/alalc-ban-Bali-Latn-2025.isc +610 -0
  5. data/maps/alalc-bod-Tibt-Latn-2015.isc +2249 -0
  6. data/maps/alalc-btk-Batk-Latn-2012.isc +330 -0
  7. data/maps/alalc-cjm-Cham-Latn-2015.isc +18189 -0
  8. data/maps/alalc-jav-Java-Latn-2012.isc +3963 -0
  9. data/maps/alalc-khm-Khmr-Latn-2013.isc +3569 -0
  10. data/maps/alalc-lao-Laoo-Latn-2012.isc +2176 -0
  11. data/maps/alalc-lep-Lepc-Latn-2012.isc +10241 -0
  12. data/maps/alalc-lif-Limb-Latn-2011.isc +267 -0
  13. data/maps/alalc-mni-Mtei-Latn-2022.isc +289 -0
  14. data/maps/alalc-mya-Mymr-Latn-2011.isc +2723 -0
  15. data/maps/alalc-sat-Olck-Latn-2017.isc +77 -0
  16. data/maps/alalc-shn-Shan-Latn-2012.isc +906 -0
  17. data/maps/alalc-tha-Thai-Latn-2011.isc +1830 -0
  18. data/maps/bgnpcgn-ady-Cyrl-Latn-2012.isc +333 -0
  19. data/maps/bgnpcgn-av-Cyrl-Latn-2011.isc +181 -0
  20. data/maps/bgnpcgn-ava-Cyrl-Latn-2011.isc +264 -0
  21. data/maps/bgnpcgn-chv-Cyrl-Latn-2011.isc +242 -0
  22. data/maps/bgnpcgn-cv-Cyrl-Latn-2011.isc +179 -0
  23. data/maps/bgnpcgn-dzo-Tibt-Latn-2010.isc +523 -0
  24. data/maps/bgnpcgn-iu-Cans-Latn-2013.isc +280 -0
  25. data/maps/bgnpcgn-kbd-Cyrl-Latn-2011.isc +295 -0
  26. data/maps/bgnpcgn-krc-Cyrl-Latn-2008.isc +218 -0
  27. data/maps/bgnpcgn-kur-Arab-Latn-2007.isc +4 -1
  28. data/maps/bgnpcgn-os-Cyrl-Latn-2009.isc +187 -0
  29. data/maps/bgnpcgn-oss-Cyrl-Latn-2009.isc +259 -0
  30. data/maps/bgnpcgn-sah-Cyrl-Latn-2012.isc +257 -0
  31. data/maps/bgnpcgn-syc-Syrc-Latn-2011.isc +94 -0
  32. data/maps/bgnpcgn-syr-Syrc-Latn-2011.isc +118 -0
  33. data/maps/bgnpcgn-tha-Thai-Latn-2002.isc +595 -0
  34. data/maps/bgnpcgn-udm-Cyrl-Latn-2011.isc +225 -0
  35. data/maps/bsi-bel-Cyrl-Latn-1958.isc +148 -0
  36. data/maps/bsi-bul-Cyrl-Latn-1958.isc +137 -0
  37. data/maps/bsi-chu-Cyrl-Latn-1958.isc +226 -0
  38. data/maps/bsi-ell-Grek-Latn-1958.isc +445 -0
  39. data/maps/bsi-kor-Kore-Latn-6505-1982-t8.isc +2757 -0
  40. data/maps/bsi-kor-Kore-Latn-6505-1982.isc +11327 -0
  41. data/maps/bsi-mkd-Cyrl-Latn-1958.isc +140 -0
  42. data/maps/bsi-ron-Cyrl-Latn-1958.isc +244 -0
  43. data/maps/bsi-rus-Cyrl-Latn-1958.isc +199 -0
  44. data/maps/bsi-srp-Cyrl-Latn-1958.isc +134 -0
  45. data/maps/bsi-ukr-Cyrl-Latn-1958.isc +129 -0
  46. data/maps/din-ab-Cyrl-Latn-1460-2-2011.isc +83 -0
  47. data/maps/din-abq-Cyrl-Latn-1460-2-2011.isc +66 -0
  48. data/maps/din-ady-Cyrl-Latn-1460-2-2011.isc +73 -0
  49. data/maps/din-ara-Arab-Latn-31635-2011.isc +402 -0
  50. data/maps/din-atv-Cyrl-Latn-1460-2-2011.isc +80 -0
  51. data/maps/din-av-Cyrl-Latn-1460-2-2011.isc +74 -0
  52. data/maps/din-az-Cyrl-Latn-1460-2-2011.isc +80 -0
  53. data/maps/din-ba-Cyrl-Latn-1460-2-2011.isc +82 -0
  54. data/maps/din-bxr-Cyrl-Latn-1460-2-2011.isc +77 -0
  55. data/maps/din-ce-Cyrl-Latn-1460-2-2011.isc +81 -0
  56. data/maps/din-cjs-Cyrl-Latn-1460-2-2011.isc +79 -0
  57. data/maps/din-ckt-Cyrl-Latn-1460-2-2011.isc +73 -0
  58. data/maps/din-crh-Cyrl-Latn-1460-2-2011.isc +74 -0
  59. data/maps/din-cv-Cyrl-Latn-1460-2-2011.isc +87 -0
  60. data/maps/din-dar-Cyrl-Latn-1460-2-2011.isc +74 -0
  61. data/maps/din-dng-Cyrl-Latn-1460-2-2011.isc +78 -0
  62. data/maps/din-ess-Cyrl-Latn-1460-2-2011-s14.isc +79 -0
  63. data/maps/din-eve-Cyrl-Latn-1460-2-2011.isc +77 -0
  64. data/maps/din-evn-Cyrl-Latn-1460-2-2011.isc +75 -0
  65. data/maps/din-fas-Arab-Latn-31635-2011.isc +337 -0
  66. data/maps/din-gag-Cyrl-Latn-1460-2-2011.isc +78 -0
  67. data/maps/din-gld-Cyrl-Latn-1460-2-2011.isc +74 -0
  68. data/maps/din-heb-Hebr-Latn-31636-2018.isc +355 -0
  69. data/maps/din-hye-Armn-Latn-32706-2010.isc +197 -0
  70. data/maps/din-inh-Cyrl-Latn-1460-2-2011.isc +74 -0
  71. data/maps/din-jpn-Hrkt-Latn-32708-2014.isc +1316 -0
  72. data/maps/din-kaa-Cyrl-Latn-1460-2-2011.isc +81 -0
  73. data/maps/din-kbd-Cyrl-Latn-1460-2-2011.isc +74 -0
  74. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s25.isc +78 -0
  75. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s36.isc +75 -0
  76. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s48.isc +75 -0
  77. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s50.isc +81 -0
  78. data/maps/din-kca-Cyrl-Latn-1460-2-2011-s62.isc +81 -0
  79. data/maps/din-khk-Cyrl-Latn-1460-2-2011.isc +76 -0
  80. data/maps/din-kjh-Cyrl-Latn-1460-2-2011.isc +88 -0
  81. data/maps/din-kk-Cyrl-Latn-1460-2-2011.isc +82 -0
  82. data/maps/din-koi-Cyrl-Latn-1460-2-2011.isc +78 -0
  83. data/maps/din-kpy-Cyrl-Latn-1460-2-2011.isc +76 -0
  84. data/maps/din-krc-Cyrl-Latn-1460-2-2011-s23.isc +83 -0
  85. data/maps/din-krc-Cyrl-Latn-1460-2-2011-s7.isc +75 -0
  86. data/maps/din-ku-Cyrl-Latn-1460-2-2011-s32.isc +77 -0
  87. data/maps/din-kum-Cyrl-Latn-1460-2-2011.isc +78 -0
  88. data/maps/din-kur-Arab-Latn-31635-2011.isc +196 -0
  89. data/maps/din-kv-Cyrl-Latn-1460-2-2011.isc +78 -0
  90. data/maps/din-ky-Cyrl-Latn-1460-2-2011.isc +77 -0
  91. data/maps/din-lbe-Cyrl-Latn-1460-2-2011.isc +66 -0
  92. data/maps/din-lez-Cyrl-Latn-1460-2-2011.isc +74 -0
  93. data/maps/din-mdf-Cyrl-Latn-1460-2-2011.isc +78 -0
  94. data/maps/din-mhr-Cyrl-Latn-1460-2-2011.isc +79 -0
  95. data/maps/din-mns-Cyrl-Latn-1460-2-2011.isc +76 -0
  96. data/maps/din-mrj-Cyrl-Latn-1460-2-2011.isc +79 -0
  97. data/maps/din-myv-Cyrl-Latn-1460-2-2011.isc +74 -0
  98. data/maps/din-niv-Cyrl-Latn-1460-2-2011.isc +80 -0
  99. data/maps/din-nog-Cyrl-Latn-1460-2-2011.isc +74 -0
  100. data/maps/din-os-Cyrl-Latn-1460-2-2011.isc +89 -0
  101. data/maps/din-ro-Cyrl-Latn-1460-2-2011-s38.isc +72 -0
  102. data/maps/din-sah-Cyrl-Latn-1460-2-2011.isc +89 -0
  103. data/maps/din-sel-Cyrl-Latn-1460-2-2011.isc +80 -0
  104. data/maps/din-tab-Cyrl-Latn-1460-2-2011.isc +74 -0
  105. data/maps/din-tg-Cyrl-Latn-1460-2-2011.isc +83 -0
  106. data/maps/din-tk-Cyrl-Latn-1460-2-2011.isc +78 -0
  107. data/maps/din-tt-Cyrl-Latn-1460-2-2011.isc +53 -0
  108. data/maps/din-tyv-Cyrl-Latn-1460-2-2011.isc +77 -0
  109. data/maps/din-udm-Cyrl-Latn-1460-2-2011.isc +79 -0
  110. data/maps/din-ug-Cyrl-Latn-1460-2-2011.isc +81 -0
  111. data/maps/din-urd-Arab-Latn-31635-2011.isc +300 -0
  112. data/maps/din-uz-Cyrl-Latn-1460-2-2011.isc +76 -0
  113. data/maps/din-xal-Cyrl-Latn-1460-2-2011.isc +82 -0
  114. data/maps/din-yid-Hebr-Latn-31636-2018.isc +208 -0
  115. data/maps/din-yrk-Cyrl-Latn-1460-2-2011.isc +76 -0
  116. data/maps/icao-bel-Cyrl-Latn-9303.isc +41 -4
  117. data/maps/icao-bul-Cyrl-Latn-9303.isc +36 -5
  118. data/maps/icao-fas-Arab-Latn-9303.isc +28 -8
  119. data/maps/icao-heb-Hebr-Latn-9303.isc +5 -0
  120. data/maps/icao-mkd-Cyrl-Latn-9303.isc +49 -6
  121. data/maps/icao-mul-Latn-Latn-2015.isc +256 -0
  122. data/maps/icao-rus-Cyrl-Latn-9303.isc +29 -0
  123. data/maps/icao-srp-Cyrl-Latn-9303.isc +53 -4
  124. data/maps/icao-ukr-Cyrl-Latn-9303.isc +53 -7
  125. data/maps/iso-rus-Cyrl-Latn-9-1995.isc +14 -4
  126. data/maps/odni-kur-Arab-Latn-2011.isc +280 -0
  127. data/maps/odni-prs-Arab-Latn-2004.isc +0 -1
  128. data/maps/odni-zho-Hani-Latn-2015.isc +457 -0
  129. data/maps/royin-tha-Thai-Latn-1999.isc +60 -0
  130. data/maps/un-amh-Ethi-Latn-2016.isc +3 -0
  131. data/maps/un-ara-Arab-Latn-1971.isc +2 -0
  132. data/maps/un-ara-Arab-Latn-1972.isc +4 -0
  133. data/maps/un-ara-Arab-Latn-2017.isc +129 -15
  134. data/maps/un-asm-Beng-Latn-1972.isc +9 -1
  135. data/maps/un-bel-Cyrl-Latn-2007.isc +17 -0
  136. data/maps/un-ben-Beng-Latn-2016.isc +4422 -128
  137. data/maps/un-bul-Cyrl-Latn-1977.isc +49 -34
  138. data/maps/un-ell-Grek-Latn-1987-phonetic.isc +1 -0
  139. data/maps/un-ell-Grek-Latn-1987-tl.isc +8 -0
  140. data/maps/un-ell-Grek-Latn-1987-ts.isc +1 -0
  141. data/maps/un-guj-Gujr-Latn-1972.isc +2 -0
  142. data/maps/un-hin-Deva-Latn-2016.isc +6 -0
  143. data/maps/un-kan-Kana-Latn-2016.isc +2 -0
  144. data/maps/un-mal-Mlym-Latn-1972.isc +8 -2
  145. data/maps/un-mar-Deva-Latn-2016.isc +10 -9
  146. data/maps/un-mkd-Cyrl-Latn-1977.isc +11 -0
  147. data/maps/un-mon-Mong-Latn-general-2013.isc +3 -0
  148. data/maps/un-mon-Mong-Latn-phonetic-2013.isc +3 -0
  149. data/maps/un-nep-Deva-Latn-1972.isc +2 -0
  150. data/maps/un-nep-Deva-Latn-2013.isc +2 -0
  151. data/maps/un-ori-Orya-Latn-1972.isc +16 -6
  152. data/maps/un-pan-Guru-Latn-1972.isc +2 -0
  153. data/maps/un-prs-Arab-Latn-1967.isc +2 -6
  154. data/maps/un-rus-Cyrl-Latn-1987.isc +8 -4
  155. data/maps/un-sin-Sinh-Latn-1972.isc +4 -0
  156. data/maps/un-srp-Cyrl-Latn-1997.isc +9 -1
  157. data/maps/un-tam-Taml-Latn-1972.isc +2 -0
  158. data/maps/un-tel-Telu-Latn-1972.isc +2 -0
  159. data/maps/un-ukr-Cyrl-Latn-1998.isc +2 -0
  160. data/maps/un-ukr-Cyrl-Latn-2012.isc +7 -1
  161. data/maps/un-urd-Arab-Latn-1972.isc +9 -3
  162. data/maps/var-kor-Hang-Latn-mr-1939.isc +3 -3
  163. metadata +116 -1
@@ -66,6 +66,9 @@ metadata {
66
66
  }
67
67
 
68
68
  tests {
69
+ "بِيَا" -> "Biyā"
70
+ "مَدِينَة" -> "Madīnah"
71
+ "الْمَدِينَة" -> "Al Madīnah"
69
72
  # Examples taken from:
70
73
  # https://unstats.un.org/unsd/geoinfo/geonames/
71
74
  "مِصر" -> "Mis̱r"
@@ -87,6 +90,12 @@ tests {
87
90
  "الرِيَاض" -> "Ar Riyāḏ"
88
91
  }
89
92
 
93
+ aliases {
94
+ # every character of the Arabic block U+0600..U+06FF (letters, harakat,
95
+ # marks) — used by the ta' marboota lookbehind chains below
96
+ arab_block = any('؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚؐؑؒؓؔؕؖؗ؛؜؝؞؟ؠءآأؤإئابةتثجحخدذرزسشصضطظعغػؼؽؾؿـفقكلمنهوىيًٌٍَُِّْٕٖٜٟٓٔٗ٘ٙٚٛٝٞ٠١٢٣٤٥٦٧٨٩٪٫٬٭ٮٯٰٱٲٳٴٵٶٷٸٹٺٻټٽپٿڀځڂڃڄڅچڇڈډڊڋڌڍڎڏڐڑڒړڔڕږڗژڙښڛڜڝڞڟڠڡڢڣڤڥڦڧڨکڪګڬڭڮگڰڱڲڳڴڵڶڷڸڹںڻڼڽھڿۀہۂۃۄۅۆۇۈۉۊۋیۍێۏېۑےۓ۔ەۖۗۘۙۚۛۜ۝۞ۣ۟۠ۡۢۤۥۦۧۨ۩۪ۭ۫۬ۮۯ۰۱۲۳۴۵۶۷۸۹ۺۻۼ۽۾ۿ')
97
+ }
98
+
90
99
  stage main {
91
100
  # CHARACTERS
92
101
  parallel {
@@ -120,6 +129,7 @@ stage main {
120
129
 
121
130
  sub "\u0650\u064a" "ī"
122
131
  sub "\u0650\u064a\u0651\u064e" "īy"
132
+ sub "\u0650\u064a\u064e\u0627" "iyā"
123
133
  sub {
124
134
  from "\u0650\u064a"
125
135
  to "iy"
@@ -193,72 +203,176 @@ stage main {
193
203
  to "an n"
194
204
  }
195
205
 
196
- # TODO: shorten this fragment
197
- # ta' marboota
198
- sub "\u0629" "at"
206
+ # ta' marboota (footnote C: romanized h, except in the construct form
207
+ # of feminine nouns, where it is romanized t; a preceding fatha already
208
+ # carries its own "a"):
209
+ # word-final: ah (fatha+ah when vocalized)
210
+ sub {
211
+ from "\u064e\u0629" + line_end
212
+ to "ah"
213
+ }
199
214
  sub {
200
215
  from "\u0629" + line_end
201
216
  to "ah"
217
+ }
218
+ sub {
219
+ from "\u064e\u0629"
220
+ to "ah"
221
+ before "\u0627\u0644" + arab_block + arab_block
202
222
  }
203
223
  sub {
204
224
  from "\u0629"
205
225
  to "ah"
206
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
226
+ before "\u0627\u0644" + arab_block + arab_block
227
+ }
228
+ sub {
229
+ from "\u064e\u0629"
230
+ to "ah"
231
+ before "\u0627\u0644" + arab_block + arab_block + arab_block
207
232
  }
208
233
  sub {
209
234
  from "\u0629"
210
235
  to "ah"
211
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
236
+ before "\u0627\u0644" + arab_block + arab_block + arab_block
237
+ }
238
+ sub {
239
+ from "\u064e\u0629"
240
+ to "ah"
241
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block
212
242
  }
213
243
  sub {
214
244
  from "\u0629"
215
245
  to "ah"
216
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
246
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block
247
+ }
248
+ sub {
249
+ from "\u064e\u0629"
250
+ to "ah"
251
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block
217
252
  }
218
253
  sub {
219
254
  from "\u0629"
220
255
  to "ah"
221
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
256
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block
257
+ }
258
+ sub {
259
+ from "\u064e\u0629"
260
+ to "ah"
261
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
222
262
  }
223
263
  sub {
224
264
  from "\u0629"
225
265
  to "ah"
226
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
266
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
267
+ }
268
+ sub {
269
+ from "\u064e\u0629"
270
+ to "ah"
271
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
227
272
  }
228
273
  sub {
229
274
  from "\u0629"
230
275
  to "ah"
231
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
276
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
277
+ }
278
+ sub {
279
+ from "\u064e\u0629"
280
+ to "ah"
281
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
232
282
  }
233
283
  sub {
234
284
  from "\u0629"
235
285
  to "ah"
236
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
286
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
287
+ }
288
+ sub {
289
+ from "\u064e\u0629"
290
+ to "ah"
291
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
237
292
  }
238
293
  sub {
239
294
  from "\u0629"
240
295
  to "ah"
241
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
296
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
297
+ }
298
+ sub {
299
+ from "\u064e\u0629"
300
+ to "ah"
301
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
242
302
  }
243
303
  sub {
244
304
  from "\u0629"
245
305
  to "ah"
246
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
306
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
307
+ }
308
+ sub {
309
+ from "\u064e\u0629"
310
+ to "ah"
311
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
247
312
  }
248
313
  sub {
249
314
  from "\u0629"
250
315
  to "ah"
251
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
316
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
317
+ }
318
+ sub {
319
+ from "\u064e\u0629"
320
+ to "ah"
321
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
252
322
  }
253
323
  sub {
254
324
  from "\u0629"
255
325
  to "ah"
256
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
326
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
327
+ }
328
+ sub {
329
+ from "\u064e\u0629"
330
+ to "ah"
331
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
257
332
  }
258
333
  sub {
259
334
  from "\u0629"
260
335
  to "ah"
261
- before boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
336
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
337
+ }
338
+ sub {
339
+ from "\u064e\u0629"
340
+ to "ah"
341
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
342
+ }
343
+ sub {
344
+ from "\u0629"
345
+ to "ah"
346
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
347
+ }
348
+ sub {
349
+ from "\u064e\u0629"
350
+ to "ah"
351
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
352
+ }
353
+ sub {
354
+ from "\u0629"
355
+ to "ah"
356
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
357
+ }
358
+ sub {
359
+ from "\u064e\u0629"
360
+ to "ah"
361
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
362
+ }
363
+ sub {
364
+ from "\u0629"
365
+ to "ah"
366
+ before "\u0627\u0644" + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block + arab_block
367
+ }
368
+ # construct form (default):
369
+ sub {
370
+ from "\u064e\u0629"
371
+ to "at"
372
+ }
373
+ sub {
374
+ from "\u0629"
375
+ to "at"
262
376
  }
263
377
 
264
378
  # shadda
@@ -38,10 +38,18 @@ metadata {
38
38
  note " ৃ Exceptions: হৃ hṛ."
39
39
  note " ্‌ Pronunciation without a vowel; special form: ৎ t."
40
40
  note " Dotted variants of the characters: ড় ṙa; ঢ় ṙha; য় ya."
41
+ note "Diffed against the UN Romanization of Assamese for Geographical Names table\n as published in the WGRS Report on the Current Status of UN Romanization Systems\n for Geographical Names, version 4.0 (February 2013) (eki.ee/wgrs/rom1_as.htm;\n also unstats wgrr4assamese): all 11 independent vowels, 11 vowel signs, 3 other\n symbols, 34 consonants and the dotted variants verified. The ligature section\n is shared with Bengali (rom1_bn)."
42
+
43
+ note "Fixed against the source: the decomposed dotted variant ঢ় (U+09A2 U+09BC)\n rendered ya; source footnote A gives ṙha for ঢ় (corrected)."
41
44
  }
45
+
42
46
  }
43
47
 
44
48
  tests {
49
+ "ঢ়" -> "ṙha"
50
+ "ড়" -> "ṙa"
51
+ "য়" -> "ya"
52
+ "ৱ" -> "va"
45
53
  "অসমীয়া কবিতা" -> "asamīyā kabitā"
46
54
  "কবিৰ আজি জন্মদিন" -> "kabira āji janmadina"
47
55
  "বেৰুটত এমাহৰ পাছতে পুনৰ ভয়ংকৰ অগ্নিকাণ্ড" -> "beruṭata emāhara pāchhate punara bhayaṁkara agnikāṇḍa"
@@ -338,7 +346,7 @@ stage main {
338
346
  sub "য়" "ya"
339
347
  sub "য়" "ya"
340
348
  sub "ড়" "ṙa"
341
- sub "ঢ়" "ya"
349
+ sub "ঢ়" "ṙha"
342
350
  }
343
351
 
344
352
  compose
@@ -20,6 +20,13 @@ metadata {
20
20
  approved by the Decree of the Council of Ministers of the Republic of Belarus dated July 29, 2006
21
21
  No. 958 "Issues of the State Committee on Property of the Republic of Belarus"
22
22
  }
23
+ notes {
24
+ note "Diffed against the Romanization of Belarusian for Geographical Names\n table as published in the WGRS Report on the Current Status of UN Romanization\n Systems for Geographical Names, version 4.0 (February 2013)\n (eki.ee/wgrs/rom1_be.htm; also unstats wgrr4belarusian): all 33 rows verified.\n The map's edition claim (national system adopted 11 June 2007, State Committee\n on Property resolution No. 38; presented as E/CONF.98/CRP.21) is the same table\n the UN approved in 2012 (X/6); no newer edition exists in the reference library."
25
+
26
+ note "The apostrophe of row 28, printed ’ (U+2019), is not romanized; the map\n now deletes U+2019 alongside the ASCII apostrophe (U+0027)."
27
+
28
+ note "Ь is romanized with a combining acute on the preceding letter only in the\n six combinations listed in the source footnote (дзь→dź, зь→ź, ль→ĺ, нь→ń,\n сь→ś, ць→ć), encoded by the dependency's digraph rows; an ь outside these\n combinations has no source equivalent and is dropped."
29
+ }
23
30
  }
24
31
 
25
32
  tests {
@@ -69,6 +76,11 @@ tests {
69
76
  "Баяры" -> "Bajary"
70
77
  "Валяр'яны" -> "Valiarjany"
71
78
  "Вязынка" -> "Viazynka"
79
+ "Вераб’ёвічы" -> "Vierabjovičy"
80
+ "сь" -> "ś"
81
+ "ль" -> "ĺ"
82
+ "ць" -> "ć"
83
+ "дзь" -> "dź"
72
84
  }
73
85
 
74
86
  dependency "by-bel-Cyrl-Latn-2007" as cyrllatn
@@ -77,5 +89,10 @@ stage main {
77
89
 
78
90
  run map.cyrllatn.stage.main
79
91
 
92
+ parallel {
93
+ # row 28: ’ (U+2019) is not romanized
94
+ sub "’" ""
95
+ }
96
+
80
97
  }
81
98
  }