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,300 @@
1
+ system "DIN:urd-Arab:Latn:31635-2011" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 31635-2011-10
6
+ language iso-639-2:urd
7
+ source_script Arab
8
+ destination_script Latn
9
+ name "DIN 31635:2011-07 section 10: Transliteration von Urdu"
10
+ url https://www.din.de
11
+ creation_date 2011
12
+ confirmation_date 2011-07
13
+ description { DIN 31635:2011-07, section 10: transliteration of Urdu. Tabelle 7
14
+ (the 37-row letter table, including the four retroflex letters,
15
+ the nasal letter and the badi ye) plus the transliteration hints
16
+ 10.1 a-d: the vowel system (short a i u; long a-macron e i-macron
17
+ o u-macron; diphthongs ai au), the dropped word-initial alif
18
+ short-vowel carrier, nasal vowels marked by the following nasal
19
+ letter, and aspiration written as in the original script.
20
+ }
21
+
22
+ notes {
23
+ note "Waw (row 34) renders v as consonant by default — the norm's
24
+ consonantal value is v, not w — and u-macron over vocalized input;
25
+ the o reading is a pronunciation fact of the vowel system and is
26
+ recorded here. Yeh (row 36, given as 064A/0649) renders y by
27
+ default and i-macron over vocalized input; Urdu texts commonly
28
+ write the yeh with the Persian codepoint (06CC), which this map
29
+ accepts as the same letter. The badi ye (row 37) renders e.
30
+ Remark d: aspiration is written as in the original script (bh and
31
+ the like), which follows mechanically from the heh's constant h —
32
+ the aspirate digraphs need no separate rules. Remark b: the
33
+ word-initial alif as a short-vowel carrier is not transliterated;
34
+ remark c: nasal vowels are marked by the following nasal letter,
35
+ whose own value is n-with-below-descender (row 33). The alif's
36
+ long-vowel a-macron and the hamza rules follow section 6 as in the
37
+ Persian and Kurdish columns."
38
+ }
39
+ }
40
+
41
+ tests {
42
+ # every table row (Tabelle 7)
43
+ "ء" -> "" # word-initial hamza is not rendered (remark b)
44
+ "ب" -> "b"
45
+ "پ" -> "p"
46
+ "ت" -> "t"
47
+ "ٹ" -> "ṭ"
48
+ "ث" -> "s̱"
49
+ "ج" -> "j"
50
+ "چ" -> "c"
51
+ "ح" -> "ḥ"
52
+ "خ" -> "ẖ"
53
+ "د" -> "d"
54
+ "ڈ" -> "ḍ"
55
+ "ذ" -> "ẕ"
56
+ "ر" -> "r"
57
+ "ڑ" -> "ṛ"
58
+ "ز" -> "z"
59
+ "ژ" -> "ž"
60
+ "س" -> "s"
61
+ "ش" -> "š"
62
+ "ص" -> "ṣ"
63
+ "ض" -> "z̤"
64
+ "ط" -> "t̤"
65
+ "ظ" -> "ẓ"
66
+ "ع" -> "ʿ"
67
+ "غ" -> "ġ"
68
+ "ف" -> "f"
69
+ "ق" -> "q"
70
+ "ک" -> "k"
71
+ "گ" -> "g"
72
+ "ل" -> "l"
73
+ "م" -> "m"
74
+ "ن" -> "n"
75
+ "ں" -> "ṉ"
76
+ "و" -> "v"
77
+ "ه" -> "h"
78
+ "ھ" -> "h"
79
+ "ی" -> "y"
80
+ "ي" -> "y"
81
+ "ى" -> "y"
82
+ "ے" -> "e"
83
+ # vocalized readings and merges
84
+ "بَ" -> "ba"
85
+ "بِ" -> "bi"
86
+ "بُ" -> "bu"
87
+ "وُ" -> "ū"
88
+ "یِ" -> "ī"
89
+ "بَاب" -> "bāb"
90
+ # remark d: aspiration as in the original script
91
+ "بھ" -> "bh"
92
+ "پھ" -> "ph"
93
+ # remark c: nasal vowel marking
94
+ "وُں" -> "ūṉ"
95
+ # madda and initial omission
96
+ "آ" -> "ā"
97
+ "آب" -> "āb"
98
+ "اُردُو" -> "urdū"
99
+ }
100
+
101
+ stage main {
102
+
103
+ # sukun is never transliterated (carried over from section 6)
104
+ sub {
105
+ from "ْ"
106
+ to ""
107
+ }
108
+ # mark-order normalization: shadda before vowel sign
109
+ sub {
110
+ from "َّ"
111
+ to "َّ"
112
+ }
113
+ sub {
114
+ from "ِّ"
115
+ to "ِّ"
116
+ }
117
+ sub {
118
+ from "ُّ"
119
+ to "ُّ"
120
+ }
121
+
122
+ # long vowels: short-vowel sign plus lengthening letter merge
123
+ sub {
124
+ from "َا"
125
+ to "ā"
126
+ }
127
+ sub {
128
+ from "ِی"
129
+ to "ī"
130
+ }
131
+ sub {
132
+ from "ِي"
133
+ to "ī"
134
+ }
135
+ sub {
136
+ from "ِى"
137
+ to "ī"
138
+ }
139
+ sub {
140
+ from "ُو"
141
+ to "ū"
142
+ }
143
+ # diphthongs
144
+ sub {
145
+ from "َو"
146
+ to "au"
147
+ }
148
+ sub {
149
+ from "َی"
150
+ to "ai"
151
+ }
152
+ sub {
153
+ from "َي"
154
+ to "ai"
155
+ }
156
+
157
+ # madda: a-macron word-initially, ʾ plus a-macron internally
158
+ sub {
159
+ from boundary + "آ"
160
+ to "ā"
161
+ }
162
+ sub {
163
+ from "آ"
164
+ to "ʾā"
165
+ }
166
+
167
+ # remark b: alif and hamza word-initially are not rendered
168
+ sub {
169
+ from boundary + "ا"
170
+ to ""
171
+ }
172
+ sub {
173
+ from boundary + "ء"
174
+ to ""
175
+ }
176
+ sub {
177
+ from boundary + "أ"
178
+ to ""
179
+ }
180
+ sub {
181
+ from boundary + "إ"
182
+ to ""
183
+ }
184
+ sub {
185
+ from boundary + "ؤ"
186
+ to ""
187
+ }
188
+ sub {
189
+ from boundary + "ئ"
190
+ to ""
191
+ }
192
+
193
+ # CHARACTERS
194
+ parallel {
195
+ sub "بّ" "bb"
196
+ sub "پّ" "pp"
197
+ sub "تّ" "tt"
198
+ sub "ٹّ" "ṭṭ"
199
+ sub "ثّ" "s̱s̱"
200
+ sub "جّ" "jj"
201
+ sub "چّ" "cc"
202
+ sub "حّ" "ḥḥ"
203
+ sub "خّ" "ẖẖ"
204
+ sub "دّ" "dd"
205
+ sub "ڈّ" "ḍḍ"
206
+ sub "ذّ" "ẕẕ"
207
+ sub "رّ" "rr"
208
+ sub "ڑّ" "ṛṛ"
209
+ sub "زّ" "zz"
210
+ sub "ژّ" "žž"
211
+ sub "سّ" "ss"
212
+ sub "شّ" "šš"
213
+ sub "صّ" "ṣṣ"
214
+ sub "ضّ" "z̤z̤"
215
+ sub "طّ" "t̤t̤"
216
+ sub "ظّ" "ẓẓ"
217
+ sub "عّ" "ʿʿ"
218
+ sub "غّ" "ġġ"
219
+ sub "فّ" "ff"
220
+ sub "قّ" "qq"
221
+ sub "کّ" "kk"
222
+ sub "گّ" "gg"
223
+ sub "لّ" "ll"
224
+ sub "مّ" "mm"
225
+ sub "نّ" "nn"
226
+ sub "ںّ" "ṉṉ"
227
+ sub "وّ" "vv"
228
+ sub "هّ" "hh"
229
+ sub "ھّ" "hh"
230
+ sub "يّ" "yy"
231
+ sub "یّ" "yy"
232
+ sub "وُ" "ū"
233
+ sub "يِ" "ī"
234
+ sub "یِ" "ī"
235
+ sub "أَ" "ʾa"
236
+ sub "إِ" "ʾi"
237
+ sub "ؤُ" "ʾu"
238
+ sub "ئِ" "ʾi"
239
+ sub "ئُ" "ʾu"
240
+ sub "ئَ" "ʾa"
241
+ sub "أُ" "ʾu"
242
+ sub "ء" "ʾ"
243
+ sub "أ" "ʾ"
244
+ sub "إ" "ʾ"
245
+ sub "ؤ" "ʾ"
246
+ sub "ئ" "ʾ"
247
+ sub "پ" "p"
248
+ sub "ٹ" "ṭ"
249
+ sub "چ" "c"
250
+ sub "ڈ" "ḍ"
251
+ sub "ژ" "ž"
252
+ sub "ڑ" "ṛ"
253
+ sub "گ" "g"
254
+ sub "ں" "ṉ"
255
+ sub "ے" "e"
256
+ sub "ا" "ā"
257
+ sub "ب" "b"
258
+ sub "ت" "t"
259
+ sub "ث" "s̱"
260
+ sub "ج" "j"
261
+ sub "ح" "ḥ"
262
+ sub "خ" "ẖ"
263
+ sub "د" "d"
264
+ sub "ذ" "ẕ"
265
+ sub "ر" "r"
266
+ sub "ز" "z"
267
+ sub "س" "s"
268
+ sub "ش" "š"
269
+ sub "ص" "ṣ"
270
+ sub "ض" "z̤"
271
+ sub "ط" "t̤"
272
+ sub "ظ" "ẓ"
273
+ sub "ع" "ʿ"
274
+ sub "غ" "ġ"
275
+ sub "ف" "f"
276
+ sub "ق" "q"
277
+ sub "ک" "k"
278
+ sub "ك" "k"
279
+ sub "ل" "l"
280
+ sub "م" "m"
281
+ sub "ن" "n"
282
+ sub "و" "v"
283
+ sub "ه" "h"
284
+ sub "ھ" "h"
285
+ sub "ي" "y"
286
+ sub "ی" "y"
287
+ sub "ى" "y"
288
+ sub "َ" "a"
289
+ sub "ِ" "i"
290
+ sub "ُ" "u"
291
+ sub "ً" "an"
292
+ sub "ٌ" ""
293
+ sub "ٍ" ""
294
+ sub "ّ" ""
295
+ sub "ٰ" "ā"
296
+ }
297
+
298
+ }
299
+
300
+ }
@@ -0,0 +1,76 @@
1
+ system "DIN:uz-Cyrl:Latn:1460-2-2011" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 1460-2-2011-61
6
+ language iso-639-3:uz
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name "DIN 1460-2:2011-10, Tabelle 1 row 61: Usbekisch (Turkic)"
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 61
16
+ (Usbekisch). 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 "ғ" "ġ"
46
+ sub "д" "d"
47
+ sub "е" "e"
48
+ sub "ё" "ё"
49
+ sub "ж" "ž"
50
+ sub "з" "z"
51
+ sub "и" "i"
52
+ sub "й" "j"
53
+ sub "к" "k"
54
+ sub "к̢" "k"
55
+ sub "л" "l"
56
+ sub "м" "m"
57
+ sub "н" "n"
58
+ sub "о" "o"
59
+ sub "п" "p"
60
+ sub "р" "r"
61
+ sub "с" "s"
62
+ sub "т" "t"
63
+ sub "у" "u"
64
+ sub "ў" "ŭ"
65
+ sub "ф" "f"
66
+ sub "х" "h"
67
+ sub "ҳ" "ḩ"
68
+ sub "ц" "c"
69
+ sub "ч" "č"
70
+ sub "ш" "š"
71
+ sub "ъ" "\""
72
+ sub "ь" "'"
73
+ sub "э" "ė"
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,82 @@
1
+ system "DIN:xal-Cyrl:Latn:1460-2-2011" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 1460-2-2011-21
6
+ language iso-639-3:xal
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name "DIN 1460-2:2011-10, Tabelle 1 row 21: Kalmückisch (Mongolic)"
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 21
16
+ (Kalmückisch). 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
+ "ä" -> "ä"
35
+ "б" -> "b"
36
+ "в" -> "v"
37
+ }
38
+
39
+ stage main {
40
+ parallel {
41
+ sub "a" "a"
42
+ sub "ä" "ä"
43
+ sub "б" "b"
44
+ sub "в" "v"
45
+ sub "г" "g"
46
+ sub "h" "h"
47
+ sub "д" "d"
48
+ sub "е" "e"
49
+ sub "ё" "ё"
50
+ sub "ж" "ž"
51
+ sub "ж̢" "ǧ"
52
+ sub "з" "z"
53
+ sub "и" "i"
54
+ sub "й" "j"
55
+ sub "к" "k"
56
+ sub "л" "l"
57
+ sub "м" "m"
58
+ sub "н" "n"
59
+ sub "ң" "n"
60
+ sub "о" "o"
61
+ sub "ӧ" "ö"
62
+ sub "ө" "ö"
63
+ sub "п" "p"
64
+ sub "р" "r"
65
+ sub "с" "s"
66
+ sub "т" "t"
67
+ sub "у" "u"
68
+ sub "ӱ" "ü"
69
+ sub "ү" "ü"
70
+ sub "ф" "f"
71
+ sub "х" "h"
72
+ sub "ц" "c"
73
+ sub "ч" "č"
74
+ sub "ш" "š"
75
+ sub "щ" "šč"
76
+ sub "ъ" "\""
77
+ sub "ы" "y"
78
+ sub "ь" "'"
79
+ sub "э" "ė"
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,208 @@
1
+ system "DIN:yid-Hebr:Latn:31636-2018" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 31636-2018
6
+ language iso-639-2:yid
7
+ source_script Hebr
8
+ destination_script Latn
9
+ name "DIN 31636:2018-10 Information und Dokumentation - Umschrift des hebraeischen Alphabets (jiddische Spalte)"
10
+ url https://www.din.de
11
+ creation_date 2018
12
+ confirmation_date 2018-10
13
+ description { Information and documentation -- Romanization of the Hebrew alphabet, Yiddish
14
+ column. 2018-10 edition, replacing DIN 31636:2011-01. This map implements the
15
+ Yiddish column of Table 1 with the Yiddish vowel table (Table 4) and the Yiddish
16
+ notes (section 9) of the norm. The Hebrew column is a separate map.
17
+ }
18
+
19
+ notes {
20
+ note "Consonants (Table 1, Yiddish column): alef is rendered with the right half-ring U+02BE or as the vowel a/o via the vowel spellings; bet with dagesh b, bet v; gimel g; dalet d; he h; vav v with dot below (U+1E7F); double vav (U+05F0) is annotated als Konsonant and shares the row's consonantal rendering; zayin z; het h with dot below (U+1E25); tet t with dot below (U+1E6D); yod y; double yod (U+05F2) is annotated als Konsonant when consonantal, and as a vowel per Table 4 (ay or ey); kaf with dagesh k, khaf kh; lamed l; mem m; nun n; samekh s; ayin e; pe p, fe f; tsadi ts; kof k with dot below (k + U+0323); resh r; shin sh, sin s with acute (U+015B); tav s with grave (U+0073+0300) per section 9(c) - the voiceless-s pronunciation of tav."
21
+ note "Vowels (Table 4): alef with patach (U+FB2A? no - U+05D0+05B7) a; alef with qamats (U+05D0+05B8) a or o - this map renders a, the o-reading is a pronunciation-side determination; ayin e; vav or alef-vav u or o - this map renders u, the norm's own section 9(a) examples use the o-reading (moyre, koyles); vav-yod (U+05F1) or alef-vav-yod oy; yod or alef-yod i; yod-yod (U+05F2) or alef-yod-yod ay or ey, je nach Aussprache - this map renders ay and documents ey as the alternative reading of the same spelling."
22
+ note "Section 9(a): Hebrew words occurring in a Yiddish context are verified for Yiddish pronunciation in Weinreich and then transliterated with Table 1 (Yiddish) and Table 4; Hebrew proper names in a Yiddish context follow the Yiddish pronunciation. The distinction between tav/tet, kof/khaf and khaf/het is made with the underdots, and word-final he is rendered h."
23
+ note "Section 9(c): tav pronounced as voiceless s is rendered with the grave (s + U+0300), e.g. bes (beyt-yod-tav)."
24
+ note "Section 9(d): vowels not written in Old Yiddish may optionally be marked with a stroke above the vowel; this map does not add such marks."
25
+ note "Words whose vowels are not written in the spelling (loshn-koydesh items such as the norm's own mehaber/moyre examples) are an underspecified skeleton: the unwritten vowels are resolved by a vocalization model, after which this map applies (composition, not duplication)."
26
+ note "Capitalization and hyphenation follow the rules given for Hebrew (rule 8i/b); this map outputs lower case."
27
+ }
28
+ }
29
+
30
+ tests {
31
+ # table 1 Yiddish column rows
32
+ "א" -> "ʾ"
33
+ "בּ" -> "b"
34
+ "בּ" -> "b"
35
+ "ב" -> "v"
36
+ "ג" -> "g"
37
+ "ד" -> "d"
38
+ "ה" -> "h"
39
+ "ו" -> "ṿ"
40
+ "װ" -> "ṿ"
41
+ "ז" -> "z"
42
+ "ח" -> "ḥ"
43
+ "ט" -> "ṭ"
44
+ "י" -> "y"
45
+ "כּ" -> "k"
46
+ "כּ" -> "k"
47
+ "כ" -> "kh"
48
+ "ך" -> "kh"
49
+ "ל" -> "l"
50
+ "מ" -> "m"
51
+ "ם" -> "m"
52
+ "נ" -> "n"
53
+ "ן" -> "n"
54
+ "ס" -> "s"
55
+ "ע" -> "e"
56
+ "פּ" -> "p"
57
+ "פּ" -> "p"
58
+ "פ" -> "f"
59
+ "ף" -> "f"
60
+ "צ" -> "ts"
61
+ "ץ" -> "ts"
62
+ "ק" -> "ḳ"
63
+ "ר" -> "r"
64
+ "שׁ" -> "sh"
65
+ "שׁ" -> "sh"
66
+ "שׂ" -> "ś"
67
+ "שׂ" -> "ś"
68
+ "תּ" -> "t"
69
+ "תּ" -> "t"
70
+ "ת" -> "s̀"
71
+ # table 2 rows (geresh-marked, same as Hebrew column)
72
+ "גʹ" -> "gʹ"
73
+ "דʹ" -> "dʹ"
74
+ "זʹ" -> "zʹ"
75
+ "חʹ" -> "ḥʹ"
76
+ "טʹ" -> "ṭʹ"
77
+ "עʹ" -> "ġ"
78
+ "צʹ" -> "tsʹ"
79
+ # table 4 rows
80
+ "אַ" -> "a"
81
+ "אָ" -> "a"
82
+ "ע" -> "e"
83
+ "ױ" -> "oy"
84
+ "אױ" -> "oy"
85
+ "ײ" -> "ay"
86
+ "אײ" -> "ay"
87
+ "אי" -> "i"
88
+ "או" -> "u"
89
+ }
90
+
91
+ stage main {
92
+
93
+ # RULES
94
+ # table 4: the Yiddish vowel spellings are sequences of letters and
95
+ # must be matched before their single letters
96
+ sub {
97
+ from "אַ"
98
+ to "a"
99
+ }
100
+ sub {
101
+ from "אָ"
102
+ to "a"
103
+ }
104
+ sub {
105
+ from "אױ"
106
+ to "oy"
107
+ }
108
+ sub {
109
+ from "או"
110
+ to "u"
111
+ }
112
+ sub {
113
+ from "אי"
114
+ to "i"
115
+ }
116
+ sub {
117
+ from "אײ"
118
+ to "ay"
119
+ }
120
+ sub {
121
+ from "ױ"
122
+ to "oy"
123
+ }
124
+ sub {
125
+ from "ײ"
126
+ to "ay"
127
+ }
128
+
129
+ # sin and shin dots
130
+ sub {
131
+ from "שׂ"
132
+ to "ś"
133
+ }
134
+ sub {
135
+ from "שׁ"
136
+ to "sh"
137
+ }
138
+
139
+ # CHARACTERS
140
+ parallel {
141
+ sub "גʹ" "gʹ"
142
+ sub "דʹ" "dʹ"
143
+ sub "זʹ" "zʹ"
144
+ sub "חʹ" "ḥʹ"
145
+ sub "טʹ" "ṭʹ"
146
+ sub "עʹ" "ġ"
147
+ sub "צʹ" "tsʹ"
148
+ sub "שׂ" "ś"
149
+ sub "שׁ" "sh"
150
+ sub "בּ" "b"
151
+ sub "כּ" "k"
152
+ sub "פּ" "p"
153
+ sub "וּ" "u"
154
+ sub "בּ" "b"
155
+ sub "כּ" "k"
156
+ sub "פּ" "p"
157
+ sub "וּ" "u"
158
+ sub "וֹ" "o"
159
+ sub "שׁ" "sh"
160
+ sub "שׂ" "ś"
161
+ sub "תּ" "t"
162
+ sub "אַ" "a"
163
+ sub "אָ" "a"
164
+ sub "װ" "ṿ"
165
+ sub "ך" "kh"
166
+ sub "כ" "kh"
167
+ sub "ם" "m"
168
+ sub "מ" "m"
169
+ sub "ן" "n"
170
+ sub "נ" "n"
171
+ sub "ף" "f"
172
+ sub "פ" "f"
173
+ sub "ץ" "ts"
174
+ sub "צ" "ts"
175
+ sub "א" "ʾ"
176
+ sub "ב" "v"
177
+ sub "ג" "g"
178
+ sub "ד" "d"
179
+ sub "ה" "h"
180
+ sub "ו" "ṿ"
181
+ sub "ז" "z"
182
+ sub "ח" "ḥ"
183
+ sub "ט" "ṭ"
184
+ sub "י" "y"
185
+ sub "ל" "l"
186
+ sub "ס" "s"
187
+ sub "ע" "e"
188
+ sub "ק" "ḳ"
189
+ sub "ר" "r"
190
+ sub "ש" "sh"
191
+ sub "תּ" "t"
192
+ sub "ת" "s̀"
193
+ sub "ַ" "a"
194
+ sub "ָ" "a"
195
+ sub "ֶ" "e"
196
+ sub "ֵ" "e"
197
+ sub "ִ" "i"
198
+ sub "ֹ" "o"
199
+ sub "ֻ" "u"
200
+ sub "ֲ" "a"
201
+ sub "ֱ" "e"
202
+ sub "ֳ" "o"
203
+ sub "ּ" ""
204
+ }
205
+
206
+ }
207
+
208
+ }