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
@@ -0,0 +1,76 @@
1
+ system "DIN:yrk-Cyrl:Latn:1460-2-2011" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 1460-2-2011-41
6
+ language iso-639-3:yrk
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name "DIN 1460-2:2011-10, Tabelle 1 row 41: Nenzisch ((S))"
10
+ url https://www.beuth.de/de/norm/din-1460-2/134564104
11
+ creation_date 2011
12
+ adoption_date
13
+ description {
14
+ DIN 1460-2:2011-10, Romanization of Cyrillic alphabets of
15
+ non-Slavic languages, Tabelle 1, language row 41
16
+ (Nenzisch). The table assigns each Cyrillic letter of the
17
+ language's alphabet a Latin letter or letter group; the column
18
+ order follows DIN 1460:1982 (Slavic). Extracted mechanically from
19
+ the standard's text layer; the mapping rows below are the table's
20
+ own cells.
21
+ }
22
+
23
+ notes {
24
+ note "Extraction provenance: the PDF's text layer carries the full
25
+ grid; columns were anchored on the per-page position-number row and
26
+ each cell matched by x-coordinate to its Cyrillic header letter.
27
+ Position 13's header glyph is PUA (U+E519) in the text layer and
28
+ was visually identified at 10x as h with comma below (U+0068 + U+0322), the plain-h counterpart of position 12's hooktop-h symbol."
29
+ }
30
+ }
31
+
32
+ tests {
33
+ "a" -> "a"
34
+ "б" -> "b"
35
+ "в" -> "v"
36
+ "г" -> "g"
37
+ }
38
+
39
+ stage main {
40
+ parallel {
41
+ sub "a" "a"
42
+ sub "б" "b"
43
+ sub "в" "v"
44
+ sub "г" "g"
45
+ sub "д" "d"
46
+ sub "е" "e"
47
+ sub "ё" "ё"
48
+ sub "ж" "ž"
49
+ sub "з" "z"
50
+ sub "и" "i"
51
+ sub "й" "j"
52
+ sub "к" "k"
53
+ sub "л" "l"
54
+ sub "м" "m"
55
+ sub "н" "n"
56
+ sub "ң" "n"
57
+ sub "о" "o"
58
+ sub "п" "p"
59
+ sub "р" "r"
60
+ sub "с" "s"
61
+ sub "т" "t"
62
+ sub "у" "u"
63
+ sub "ф" "f"
64
+ sub "х" "h"
65
+ sub "ц" "c"
66
+ sub "ч" "č"
67
+ sub "ш" "š"
68
+ sub "щ" "śč"
69
+ sub "ъ" "q"
70
+ sub "ы" "y"
71
+ sub "ь" "ĭ"
72
+ sub "э" "ė"
73
+ sub "э̇" "é"
74
+ }
75
+ }
76
+ }
@@ -22,6 +22,15 @@ metadata {
22
22
  This document defines the transliteration mappings used to produce
23
23
  this transcription or transliteration.
24
24
  }
25
+
26
+ notes {
27
+ note "Diffed against ICAO Doc 9303 Part 3 Amd 1 (16/09/16), Section 6.B: the rows for Ќ, Ъ, Ѵ and Ғ were missing and were added with their source values. U+2019 right single quotation mark is now dropped alongside the ASCII apostrophe per Section 4.6 (apostrophes shall be omitted in the MRZ)."
28
+ note "Divergences corrected against the same source: the lowercase rows for у, ю, ў and ѫ were emptied or truncated (to nothing and to i); the source gives У to U, Ю to IU, Ў to U and Ѫ to U regardless of case, so the lowercase rows now mirror their uppercase rows."
29
+ note "Belarusian exceptions applied per the source: Ё renders IO and Г renders H."
30
+ note "The map carries a row for Ѓ (U+0403) to G, which has no row in the Amd 1 Section 6.B table (the table has Ғ, U+0492, to G); kept as a practical extension."
31
+ note "Soft sign Ь has no row in the Amd 1 Section 6.B table and is left unmapped."
32
+ note "The Amd 1 table prints row 04BA Һ (Cyrillic shha) as C; the map follows the source as printed, though C rather than H may be a source-side erratum."
33
+ }
25
34
  }
26
35
 
27
36
  tests {
@@ -33,6 +42,25 @@ tests {
33
42
  "Ігар" -> "Ihar"
34
43
  "Палто Алена" -> "Palto Alena"
35
44
  "Мікалай" -> "Mikalai"
45
+ "Магілёў" -> "Mahiliou"
46
+ "Гродна" -> "Hrodna"
47
+ "Ё" -> "IO"
48
+ "ё" -> "io"
49
+ "Г" -> "H"
50
+ "г" -> "h"
51
+ "Ў" -> "U"
52
+ "ў" -> "u"
53
+ "у" -> "u"
54
+ "Ю" -> "IU"
55
+ "ю" -> "iu"
56
+ "Ъ" -> "IE"
57
+ "ъ" -> "ie"
58
+ "Ѵ" -> "Y"
59
+ "ѷ" -> "y"
60
+ "Ғ" -> "G"
61
+ "ғ" -> "g"
62
+ "Ќ" -> "K"
63
+ "ќ" -> "k"
36
64
  }
37
65
 
38
66
  # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
@@ -41,6 +69,7 @@ stage main {
41
69
  # CHARACTERS
42
70
  parallel {
43
71
  sub "'" ""
72
+ sub "’" ""
44
73
  sub "А" "A"
45
74
  sub "Б" "B"
46
75
  sub "Д" "D"
@@ -52,6 +81,7 @@ stage main {
52
81
  sub "И" "I"
53
82
  sub "Й" "I"
54
83
  sub "К" "K"
84
+ sub "Ќ" "K"
55
85
  sub "Л" "L"
56
86
  sub "М" "M"
57
87
  sub "Н" "N"
@@ -70,11 +100,14 @@ stage main {
70
100
  sub "Х" "KH"
71
101
  sub "Ш" "SH"
72
102
  sub "Щ" "SHCH"
103
+ sub "Ъ" "IE"
73
104
  sub "Ц" "TS"
74
105
  sub "Ж" "ZH"
75
106
  sub "Ґ" "G"
107
+ sub "Ғ" "G"
76
108
  sub "Ў" "U"
77
109
  sub "Ѫ" "U"
110
+ sub "Ѵ" "Y"
78
111
  sub "Ђ" "D"
79
112
  sub "Ѕ" "DZ"
80
113
  sub "Ј" "J"
@@ -106,21 +139,24 @@ stage main {
106
139
  sub "р" "r"
107
140
  sub "с" "s"
108
141
  sub "т" "t"
109
- sub "у" ""
142
+ sub "у" "u"
110
143
  sub "в" "v"
111
144
  sub "ы" "y"
112
145
  sub "з" "z"
113
146
  sub "ч" "ch"
114
147
  sub "я" "ia"
115
- sub "ю" "i"
148
+ sub "ю" "iu"
116
149
  sub "х" "kh"
117
150
  sub "ш" "sh"
118
151
  sub "щ" "shch"
152
+ sub "ъ" "ie"
119
153
  sub "ц" "ts"
120
154
  sub "ж" "zh"
121
155
  sub "ґ" "g"
122
- sub "ў" ""
123
- sub "ѫ" ""
156
+ sub "ғ" "g"
157
+ sub "ў" "u"
158
+ sub "ѫ" "u"
159
+ sub "ѷ" "y"
124
160
  sub "ђ" "d"
125
161
  sub "ѕ" "dz"
126
162
  sub "ј" "j"
@@ -132,6 +168,7 @@ stage main {
132
168
  sub "ї" "i"
133
169
  sub "ѓ" "g"
134
170
  sub "і" "i"
171
+ sub "ќ" "k"
135
172
  }
136
173
 
137
174
  }
@@ -22,9 +22,30 @@ metadata {
22
22
  This document defines the transliteration mappings used to produce
23
23
  this transcription or transliteration.
24
24
  }
25
+
26
+ notes {
27
+ note "Diffed against ICAO Doc 9303 Part 3 Amd 1 (16/09/16), Section 6.B: the rows for І, Ќ, Ъ, Ѵ and Ғ were missing and were added with their source values. U+2019 right single quotation mark is now dropped alongside the ASCII apostrophe per Section 4.6 (apostrophes shall be omitted in the MRZ)."
28
+ note "Divergences corrected against the same source: the lowercase rows for у, ю, ў and ѫ were emptied or truncated (to nothing and to i); the source gives У to U, Ю to IU, Ў to U and Ѫ to U regardless of case, so the lowercase rows now mirror their uppercase rows. A duplicated apostrophe row was removed."
29
+ note "Bulgarian exception applied per the source: Щ renders SHT. Note that Ъ renders IE per the source table even though it is a vowel in Bulgarian."
30
+ note "The map carries a row for Ѓ (U+0403) to G, which has no row in the Amd 1 Section 6.B table (the table has Ғ, U+0492, to G); kept as a practical extension."
31
+ note "Soft sign Ь has no row in the Amd 1 Section 6.B table and is left unmapped."
32
+ note "The Amd 1 table prints row 04BA Һ (Cyrillic shha) as C; the map follows the source as printed, though C rather than H may be a source-side erratum."
33
+ }
25
34
  }
26
35
 
27
36
  tests {
37
+ "Щ" -> "SHT"
38
+ "щ" -> "sht"
39
+ "Ъ" -> "IE"
40
+ "ъ" -> "ie"
41
+ "у" -> "u"
42
+ "Ю" -> "IU"
43
+ "ю" -> "iu"
44
+ "Ѵ" -> "Y"
45
+ "ѷ" -> "y"
46
+ "Ғ" -> "G"
47
+ "ғ" -> "g"
48
+ "България" -> "Bielgariia"
28
49
  }
29
50
 
30
51
  # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
@@ -33,6 +54,7 @@ stage main {
33
54
  # CHARACTERS
34
55
  parallel {
35
56
  sub "'" ""
57
+ sub "’" ""
36
58
  sub "А" "A"
37
59
  sub "Б" "B"
38
60
  sub "Д" "D"
@@ -44,6 +66,7 @@ stage main {
44
66
  sub "И" "I"
45
67
  sub "Й" "I"
46
68
  sub "К" "K"
69
+ sub "Ќ" "K"
47
70
  sub "Л" "L"
48
71
  sub "М" "M"
49
72
  sub "Н" "N"
@@ -62,11 +85,14 @@ stage main {
62
85
  sub "Х" "KH"
63
86
  sub "Ш" "SH"
64
87
  sub "Щ" "SHT"
88
+ sub "Ъ" "IE"
65
89
  sub "Ц" "TS"
66
90
  sub "Ж" "ZH"
67
91
  sub "Ґ" "G"
92
+ sub "Ғ" "G"
68
93
  sub "Ў" "U"
69
94
  sub "Ѫ" "U"
95
+ sub "Ѵ" "Y"
70
96
  sub "Ђ" "D"
71
97
  sub "Ѕ" "DZ"
72
98
  sub "Ј" "J"
@@ -76,8 +102,8 @@ stage main {
76
102
  sub "Џ" "DZ"
77
103
  sub "Є" "IE"
78
104
  sub "Ї" "I"
105
+ sub "І" "I"
79
106
  sub "Ѓ" "G"
80
- sub "'" ""
81
107
 
82
108
  sub "а" "a"
83
109
  sub "б" "b"
@@ -90,6 +116,7 @@ stage main {
90
116
  sub "и" "i"
91
117
  sub "й" "i"
92
118
  sub "к" "k"
119
+ sub "ќ" "k"
93
120
  sub "л" "l"
94
121
  sub "м" "m"
95
122
  sub "н" "n"
@@ -98,21 +125,24 @@ stage main {
98
125
  sub "р" "r"
99
126
  sub "с" "s"
100
127
  sub "т" "t"
101
- sub "у" ""
128
+ sub "у" "u"
102
129
  sub "в" "v"
103
130
  sub "ы" "y"
104
131
  sub "з" "z"
105
132
  sub "ч" "ch"
106
133
  sub "я" "ia"
107
- sub "ю" "i"
134
+ sub "ю" "iu"
108
135
  sub "х" "kh"
109
136
  sub "ш" "sh"
110
137
  sub "щ" "sht"
138
+ sub "ъ" "ie"
111
139
  sub "ц" "ts"
112
140
  sub "ж" "zh"
113
141
  sub "ґ" "g"
114
- sub "ў" ""
115
- sub "ѫ" ""
142
+ sub "ғ" "g"
143
+ sub "ў" "u"
144
+ sub "ѫ" "u"
145
+ sub "ѷ" "y"
116
146
  sub "ђ" "d"
117
147
  sub "ѕ" "dz"
118
148
  sub "ј" "j"
@@ -122,6 +152,7 @@ stage main {
122
152
  sub "џ" "dz"
123
153
  sub "є" "ie"
124
154
  sub "ї" "i"
155
+ sub "і" "i"
125
156
  sub "ѓ" "g"
126
157
  }
127
158
 
@@ -22,9 +22,28 @@ metadata {
22
22
  This document defines the transliteration mappings used to produce
23
23
  this transcription or transliteration.
24
24
  }
25
+
26
+ notes {
27
+ note "Diffed against ICAO Doc 9303 Part 3 Amd 1 (16/09/16), Section 6.C (Transliteration of Arabic Script)."
28
+ note "Divergence corrected against the source: teh marbuta was rendered P, which is the value of peh; the source's row 0629 renders teh marbuta XTA. The other divergences corrected: the vowel-sign rows fathatan, dammatan, kasratan, fatha, damma, kasra and sukun were rendered F, N, K, A, U, I and O, but the source marks all of them (and tatwheel and superscript alef) as Not encoded; they now drop from the output instead of injecting Latin letters."
29
+ note "NOT ENCODED -- teh marbuta word-final variant. Source footnote 1: XTA is used generally except if teh marbuta occurs at the end of the name component, in which case XAH is used. This positional rule needs an after-boundary constraint, which the current Ruby ISC runtime drops (Interscript::Isc::NodeAdapter reads constraint :value while the DocumentBuilder emits :item), so it would silently never fire; once fixed, encode it as sub { from \"ة\" to \"XAH\" after boundary } before the parallel block."
30
+ note "NOT ENCODED -- shadda (U+0651). Source footnote 2: shadda denotes doubling, the Latin character or sequence is repeated (e.g. abbas with shadda becomes EBBAS). Doubling the previous output is not expressible as a parallel substitution, so shadda is left unmapped rather than guessed."
31
+ note "The four further Not encoded rows of the source table (069C, 06A2, 06A7, 06A8) are likewise left unmapped."
32
+ }
25
33
  }
26
34
 
27
35
  tests {
36
+ "ة" -> "XTA"
37
+ "پ" -> "P"
38
+ "چ" -> "XC"
39
+ "ژ" -> "XJ"
40
+ "گ" -> "XGG"
41
+ "ک" -> "XKK"
42
+ "ی" -> "XYA"
43
+ "َ" -> ""
44
+ "ْ" -> ""
45
+ "ـ" -> ""
46
+ "پاکستان" -> "PAXKKSTAN"
28
47
  }
29
48
 
30
49
  # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
@@ -42,7 +61,7 @@ stage main {
42
61
  sub "ئ" "XI"
43
62
  sub "ا" "A"
44
63
  sub "ب" "B"
45
- sub "ة" "P"
64
+ sub "ة" "XTA"
46
65
  sub "ت" "T"
47
66
  sub "ث" "XTH"
48
67
  sub "ج" "J"
@@ -60,6 +79,7 @@ stage main {
60
79
  sub "ظ" "XZZ"
61
80
  sub "ع" "E"
62
81
  sub "غ" "G"
82
+ sub "ـ" ""
63
83
  sub "ف" "F"
64
84
  sub "ق" "Q"
65
85
  sub "ك" "K"
@@ -70,13 +90,13 @@ stage main {
70
90
  sub "و" "W"
71
91
  sub "ى" "XAY"
72
92
  sub "ي" "Y"
73
- sub "ً" "F"
74
- sub "ٌ" "N"
75
- sub "ٍ" "K"
76
- sub "َ" "A"
77
- sub "ُ" "U"
78
- sub "ِ" "I"
79
- sub "ْ" "O"
93
+ sub "ً" ""
94
+ sub "ٌ" ""
95
+ sub "ٍ" ""
96
+ sub "َ" ""
97
+ sub "ُ" ""
98
+ sub "ِ" ""
99
+ sub "ْ" ""
80
100
  sub "ٰ" ""
81
101
  sub "ٱ" "XXA"
82
102
  sub "ٹ" "XXT"
@@ -22,6 +22,11 @@ metadata {
22
22
  This document defines the transliteration mappings used to produce
23
23
  this transcription or transliteration.
24
24
  }
25
+
26
+ notes {
27
+ note "NOT DIFFABLE against ICAO Doc 9303 Part 3 Amd 1 (16/09/16): its Section 6 (Transliterations Recommended for Use by States) provides tables only for the Latin, Cyrillic and Arabic families of languages; there is no Hebrew table in that source, and no Appendix covering Hebrew."
28
+ note "The mapping in this file follows the Wikipedia Romanization of Hebrew (see the comment above the stage), not any ICAO Doc 9303 table in hand; its attribution to Doc 9303 is unverified. No values were changed in the WO09 diff because no ICAO Hebrew source was available to diff against."
29
+ }
25
30
  }
26
31
 
27
32
  tests {
@@ -22,9 +22,41 @@ metadata {
22
22
  This document defines the transliteration mappings used to produce
23
23
  this transcription or transliteration.
24
24
  }
25
+
26
+ notes {
27
+ note "Diffed against ICAO Doc 9303 Part 3 Amd 1 (16/09/16), Section 6.B: the rows for І, Ќ, Ъ, Ѵ and Ғ were missing and were added with their source values; for Ғ the source's Macedonian exception GJ applies. U+2019 right single quotation mark is now dropped alongside the ASCII apostrophe per Section 4.6 (apostrophes shall be omitted in the MRZ)."
28
+ note "Divergences corrected against the same source: К was rendered KJ (and к kj), but the source renders К to K unconditionally and gives KJ only for Ќ (row 040C: K except in the language spoken in the former Yugoslav Republic of Macedonia = KJ); К now renders K and the missing Ќ/ќ rows render KJ/kj. The lowercase rows for у, ю, ў and ѫ were emptied or truncated; the source gives У to U, Ю to IU, Ў to U and Ѫ to U regardless of case."
29
+ note "Macedonian exceptions applied per the source: Х renders H, Ц renders C, Ќ renders KJ, Џ renders DJ, Ғ renders GJ."
30
+ note "The map carries a row for Ѓ (U+0403) to GJ, which has no row of its own in the Amd 1 Section 6.B table; it mirrors the source's Macedonian exception for Ғ (U+0492) applied to the Macedonian letter actually in use. Ғ itself is encoded GJ per the source."
31
+ note "Soft sign Ь has no row in the Amd 1 Section 6.B table and is left unmapped."
32
+ note "The Amd 1 table prints row 04BA Һ (Cyrillic shha) as C; the map follows the source as printed, though C rather than H may be a source-side erratum."
33
+ }
25
34
  }
26
35
 
27
36
  tests {
37
+ "К" -> "K"
38
+ "к" -> "k"
39
+ "Ќ" -> "KJ"
40
+ "ќ" -> "kj"
41
+ "Џ" -> "DJ"
42
+ "џ" -> "dj"
43
+ "Х" -> "H"
44
+ "х" -> "h"
45
+ "Ц" -> "C"
46
+ "ц" -> "c"
47
+ "Ѓ" -> "GJ"
48
+ "ѓ" -> "gj"
49
+ "Ѕ" -> "DZ"
50
+ "ѕ" -> "dz"
51
+ "Ъ" -> "IE"
52
+ "ъ" -> "ie"
53
+ "Ѵ" -> "Y"
54
+ "ѷ" -> "y"
55
+ "Ғ" -> "GJ"
56
+ "ғ" -> "gj"
57
+ "у" -> "u"
58
+ "ю" -> "iu"
59
+ "Скопје" -> "Skopje"
28
60
  }
29
61
 
30
62
  # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
@@ -33,6 +65,7 @@ stage main {
33
65
  # CHARACTERS
34
66
  parallel {
35
67
  sub "'" ""
68
+ sub "’" ""
36
69
  sub "А" "A"
37
70
  sub "Б" "B"
38
71
  sub "Д" "D"
@@ -43,7 +76,8 @@ stage main {
43
76
  sub "Г" "G"
44
77
  sub "И" "I"
45
78
  sub "Й" "I"
46
- sub "К" "KJ"
79
+ sub "К" "K"
80
+ sub "Ќ" "KJ"
47
81
  sub "Л" "L"
48
82
  sub "М" "M"
49
83
  sub "Н" "N"
@@ -62,11 +96,14 @@ stage main {
62
96
  sub "Х" "H"
63
97
  sub "Ш" "SH"
64
98
  sub "Щ" "SHCH"
99
+ sub "Ъ" "IE"
65
100
  sub "Ц" "C"
66
101
  sub "Ж" "ZH"
67
102
  sub "Ґ" "G"
103
+ sub "Ғ" "GJ"
68
104
  sub "Ў" "U"
69
105
  sub "Ѫ" "U"
106
+ sub "Ѵ" "Y"
70
107
  sub "Ђ" "D"
71
108
  sub "Ѕ" "DZ"
72
109
  sub "Ј" "J"
@@ -76,6 +113,7 @@ stage main {
76
113
  sub "Џ" "DJ"
77
114
  sub "Є" "IE"
78
115
  sub "Ї" "I"
116
+ sub "І" "I"
79
117
  sub "Ѓ" "GJ"
80
118
 
81
119
  sub "а" "a"
@@ -88,7 +126,8 @@ stage main {
88
126
  sub "г" "g"
89
127
  sub "и" "i"
90
128
  sub "й" "i"
91
- sub "к" "kj"
129
+ sub "к" "k"
130
+ sub "ќ" "kj"
92
131
  sub "л" "l"
93
132
  sub "м" "m"
94
133
  sub "н" "n"
@@ -97,21 +136,24 @@ stage main {
97
136
  sub "р" "r"
98
137
  sub "с" "s"
99
138
  sub "т" "t"
100
- sub "у" ""
139
+ sub "у" "u"
101
140
  sub "в" "v"
102
141
  sub "ы" "y"
103
142
  sub "з" "z"
104
143
  sub "ч" "ch"
105
144
  sub "я" "ia"
106
- sub "ю" "i"
145
+ sub "ю" "iu"
107
146
  sub "х" "h"
108
147
  sub "ш" "sh"
109
148
  sub "щ" "shch"
149
+ sub "ъ" "ie"
110
150
  sub "ц" "c"
111
151
  sub "ж" "zh"
112
152
  sub "ґ" "g"
113
- sub "ў" ""
114
- sub "ѫ" ""
153
+ sub "ғ" "gj"
154
+ sub "ў" "u"
155
+ sub "ѫ" "u"
156
+ sub "ѷ" "y"
115
157
  sub "ђ" "d"
116
158
  sub "ѕ" "dz"
117
159
  sub "ј" "j"
@@ -121,6 +163,7 @@ stage main {
121
163
  sub "џ" "dj"
122
164
  sub "є" "ie"
123
165
  sub "ї" "i"
166
+ sub "і" "i"
124
167
  sub "ѓ" "gj"
125
168
  }
126
169