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,78 @@
1
+ system "DIN:dng-Cyrl:Latn:1460-2-2011" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 1460-2-2011-12
6
+ language iso-639-3:dng
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name "DIN 1460-2:2011-10, Tabelle 1 row 12: Dunganisch ((St))"
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 12
16
+ (Dunganisch). 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 "ж̢" "ǧ"
50
+ sub "з" "z"
51
+ sub "и" "i"
52
+ sub "й" "j"
53
+ sub "к" "k"
54
+ sub "л" "l"
55
+ sub "м" "m"
56
+ sub "н" "n"
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 "ү" "ü"
66
+ sub "ф" "f"
67
+ sub "х" "h"
68
+ sub "ц" "c"
69
+ sub "ч" "č"
70
+ sub "ш" "š"
71
+ sub "щ" "šč"
72
+ sub "ъ" "\""
73
+ sub "ы" "y"
74
+ sub "ь" "'"
75
+ sub "э" "ė"
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,79 @@
1
+ system "DIN:ess-Cyrl:Latn:1460-2-2011-s14" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 1460-2-2011-14
6
+ language iso-639-3:ess
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name "DIN 1460-2:2011-10, Tabelle 1 row 14: Eskimo (Asiatic (Siberian) Eskimo, Central Siberian Yupik) (Paleo-Asiatic)"
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 14
16
+ (Eskimo (Asiatic (Siberian) Eskimo, Central Siberian Yupik)). 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. Dialect qualifier: Asiatic (Siberian) Eskimo, Central Siberian Yupik; the id carries the table's language number as the corpus table-suffix convention requires for shared ISO codes."
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 "ң" "n"
59
+ sub "о" "o"
60
+ sub "п" "p"
61
+ sub "р" "r"
62
+ sub "с" "s"
63
+ sub "т" "t"
64
+ sub "у" "u"
65
+ sub "ў" "ŭ"
66
+ sub "ф" "f"
67
+ sub "х" "h"
68
+ sub "ҳ" "ḩ"
69
+ sub "ц" "c"
70
+ sub "ч" "č"
71
+ sub "ш" "š"
72
+ sub "щ" "śč"
73
+ sub "ъ" "q"
74
+ sub "ы" "y"
75
+ sub "ь" "ĭ"
76
+ sub "э" "ė"
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,77 @@
1
+ system "DIN:eve-Cyrl:Latn:1460-2-2011" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 1460-2-2011-15
6
+ language iso-639-3:eve
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name "DIN 1460-2:2011-10, Tabelle 1 row 15: Ewenisch ((Tg))"
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 15
16
+ (Ewenisch). 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 "ӧ" "ö"
59
+ sub "ө" "ó"
60
+ sub "п" "p"
61
+ sub "р" "r"
62
+ sub "с" "s"
63
+ sub "т" "t"
64
+ sub "у" "u"
65
+ sub "ф" "f"
66
+ sub "х" "h"
67
+ sub "ц" "c"
68
+ sub "ч" "č"
69
+ sub "ш" "š"
70
+ sub "щ" "šč"
71
+ sub "ъ" "\""
72
+ sub "ы" "y"
73
+ sub "ь" "'"
74
+ sub "э" "ė"
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,75 @@
1
+ system "DIN:evn-Cyrl:Latn:1460-2-2011" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 1460-2-2011-16
6
+ language iso-639-3:evn
7
+ source_script Cyrl
8
+ destination_script Latn
9
+ name "DIN 1460-2:2011-10, Tabelle 1 row 16: Ewenkisch ((Tg))"
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 16
16
+ (Ewenkisch). 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 "ъ" "\""
70
+ sub "ы" "y"
71
+ sub "ь" "'"
72
+ sub "э" "ė"
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,337 @@
1
+ system "DIN:fas-Arab:Latn:31635-2011" {
2
+
3
+ metadata {
4
+ authority_id din
5
+ id 31635-2011-8
6
+ language iso-639-2:fas
7
+ source_script Arab
8
+ destination_script Latn
9
+ name "DIN 31635:2011-07 section 8: Transliteration des Persischen (Farsi, Dari)"
10
+ url https://www.din.de
11
+ creation_date 2011
12
+ confirmation_date 2011-07
13
+ description { DIN 31635:2011-07, section 8: transliteration of Persian (Farsi,
14
+ Dari). Section 8.1 states the norm is historically strongly tied to
15
+ the Arabic transliteration of section 6 (shipped as
16
+ din-ara-Arab-Latn-31635-2011); Tabelle 2 (rows 1-22, transliteration
17
+ guidance) and Tabelle 3 (the 32-row letter table) are encoded here.
18
+ The Persian letters pe gaf che zhe and the Persian kaf and yeh are
19
+ included; the yeh is accepted in its Arabic (064A), Persian (06CC)
20
+ and alif-maqsura (0649) forms.
21
+ }
22
+
23
+ notes {
24
+ note "Letter table (Tabelle 3): the 32 rows render as in section 6
25
+ where identical; Tabelle 2 row 8 renders the hamza with ʾ wherever
26
+ present in the Vorlage (آئین -> āʾīn) and Tabelle 3 row 1 gives
27
+ hamza/alif as ʾ / a-macron, so the hamza renders ʾ word-initially
28
+ too; only the alif keeps the word-initial omission of section 6
29
+ (footnote 1 of row 1, the norm ties the Persian section to the
30
+ Arabic one). Waw renders w as consonant by
31
+ default and u-macron over vocalized input (row 10: short-vowel u
32
+ and long-vowel u-macron readings are pronunciation/vocalization
33
+ facts); yeh renders y by default and i-macron over vocalized input
34
+ (rows 8-9, 32). The yeh is accepted as 064A, 06CC and 0649."
35
+ note "Row 13 (alif-i maqsura) renders a-macron as in Arabic, and
36
+ row 32 assigns y / i-macron to the same codepoint in Persian -ie
37
+ endings; the two readings of one letter are lexical (the norm's own
38
+ examples give both Muṣṭafā with a-macron and zībāʾī ending in
39
+ i-macron) and are recorded here: this map renders the maqsura
40
+ a-macron by default, the i-macron reading arising over vocalized
41
+ input. Rows 8-9 (hamza and yeh variants of the ezāfe/yā-i maṣdarī)
42
+ follow the same vocalization dependence."
43
+ note "Row 15-16 (hā-i muḫtafī): the word-final non-aspirated he is
44
+ the sign of the final vowel and its h falls — this map renders the
45
+ word-final he as a (the stated default; the i reading is lexical).
46
+ The aspirated he (mah, māh) is lexically determined and cannot be
47
+ separated mechanically; the aspiration reading is recorded here,
48
+ and row 16's h applies wherever the he is not word-final. The
49
+ zero-width non-joiner is dropped. Row 11's silent waw after kha is
50
+ kept, and the row's Beispiel is encoded verbatim (خواهر ->
51
+ ḫwāhar): the pronounced short vowel of the -har syllable is not
52
+ orthographically decidable from the bare skeleton, so the attested
53
+ word is recorded as the lexical fact the Beispiel states."
54
+ note "Rows 12, 17-22 (the wa particle, ra, the copula ast, the
55
+ ba-/bi- preposition, compound and verbal affix orthography) are
56
+ word-division and morphological conventions of the transcription
57
+ record; the letter-level map passes the characters through and the
58
+ conventions are not mechanically decidable from the skeleton. Row
59
+ 14: tanwin is rendered an (the accusative form is the only one
60
+ Persian uses). Rows 18-19: ra and the elided-alif copula (-st)
61
+ require word identity and are recorded here. The ta marbuta of
62
+ section 6 has no row in the Persian table and is not encoded."
63
+ }
64
+ }
65
+
66
+ tests {
67
+ # every table row (Tabelle 3)
68
+ "ء" -> "ʾ"
69
+ "ب" -> "b"
70
+ "پ" -> "p"
71
+ "ت" -> "t"
72
+ "ث" -> "ṯ"
73
+ "ج" -> "ǧ"
74
+ "چ" -> "č"
75
+ "ح" -> "ḥ"
76
+ "خ" -> "ḫ"
77
+ "د" -> "d"
78
+ "ذ" -> "ḏ"
79
+ "ر" -> "r"
80
+ "ز" -> "z"
81
+ "ژ" -> "ž"
82
+ "س" -> "s"
83
+ "ش" -> "š"
84
+ "ص" -> "ṣ"
85
+ "ض" -> "ḍ"
86
+ "ط" -> "ṭ"
87
+ "ظ" -> "ẓ"
88
+ "ع" -> "ʿ"
89
+ "غ" -> "ġ"
90
+ "ف" -> "f"
91
+ "ق" -> "q"
92
+ "ک" -> "k"
93
+ "گ" -> "g"
94
+ "ل" -> "l"
95
+ "م" -> "m"
96
+ "ن" -> "n"
97
+ "هم" -> "hm"
98
+ "ھم" -> "hm"
99
+ "و" -> "w"
100
+ "ی" -> "y"
101
+ # vocalized readings
102
+ "بَ" -> "ba"
103
+ "بِ" -> "bi"
104
+ "بُ" -> "bu"
105
+ "وُ" -> "ū"
106
+ "یِ" -> "ī"
107
+ "يِ" -> "ī"
108
+ # merges and defaults
109
+ "مَردان" -> "mardān"
110
+ "خواهر" -> "ḫwāhar"
111
+ "گُفته" -> "gufta"
112
+ "نامه‌ها" -> "nāmahā"
113
+ "باصَفا" -> "bāṣafā"
114
+ # hamza and madda
115
+ "آ" -> "ā"
116
+ "آباد" -> "ābād"
117
+ "مَسئله" -> "masʾla" # letter-level: rows 8 (hamza -> ʾ) and 15 (final he -> a); the pronounced masʾala carries an unwritten short vowel, a vocalization fact like rows 10/15, not decidable from the skeleton
118
+ }
119
+
120
+ stage main {
121
+
122
+ # Tabelle 2 row 11 Beispiel, encoded verbatim: the silent waw after
123
+ # kha is kept AND the norm's own example renders the aspirated he of
124
+ # the -har syllable with its pronounced short vowel (ḫwāhar). The
125
+ # short vowel is not orthographically decidable from the bare
126
+ # skeleton (خ‌وا‌ه‌ر yields ḫwāhr mechanically), so the attested word
127
+ # is recorded here as the lexical fact the Beispiel states.
128
+ sub "خواهر" "ḫwāhar"
129
+
130
+ # sukun is never transliterated (carried over from section 6)
131
+ sub {
132
+ from "ْ"
133
+ to ""
134
+ }
135
+ # mark-order normalization: shadda before vowel sign
136
+ sub {
137
+ from "َّ"
138
+ to "َّ"
139
+ }
140
+ sub {
141
+ from "ِّ"
142
+ to "ِّ"
143
+ }
144
+ sub {
145
+ from "ُّ"
146
+ to "ُّ"
147
+ }
148
+
149
+ # long vowels: short-vowel sign plus lengthening letter merge
150
+ sub {
151
+ from "َا"
152
+ to "ā"
153
+ }
154
+ sub {
155
+ from "ِی"
156
+ to "ī"
157
+ }
158
+ sub {
159
+ from "ِي"
160
+ to "ī"
161
+ }
162
+ sub {
163
+ from "ِى"
164
+ to "ī"
165
+ }
166
+ sub {
167
+ from "ُو"
168
+ to "ū"
169
+ }
170
+ # diphthongs
171
+ sub {
172
+ from "َو"
173
+ to "aw"
174
+ }
175
+ sub {
176
+ from "َی"
177
+ to "ay"
178
+ }
179
+ sub {
180
+ from "َي"
181
+ to "ay"
182
+ }
183
+
184
+ # row 15: the word-final he is the sign of the final vowel a; its h
185
+ # falls (the aspirated and i readings are lexical, see notes). The he
186
+ # is non-final before the ZWNJ of compounds like نامه‌ها.
187
+ sub {
188
+ from "ه"
189
+ to "a"
190
+ after boundary
191
+ }
192
+ sub {
193
+ from "ه‌"
194
+ to "a"
195
+ }
196
+ sub {
197
+ from "ھ"
198
+ to "a"
199
+ after boundary
200
+ }
201
+ # the zero-width non-joiner itself is not transliterated
202
+ sub {
203
+ from "‌"
204
+ to ""
205
+ }
206
+
207
+ # madda: a-macron word-initially, ʾ plus a-macron internally
208
+ sub {
209
+ from boundary + "آ"
210
+ to "ā"
211
+ }
212
+ sub {
213
+ from "آ"
214
+ to "ʾā"
215
+ }
216
+
217
+ # alif word-initially is not rendered (footnote 1 of Tabelle 3 row 1,
218
+ # carrying over section 6); hamza renders ʾ wherever present
219
+ sub {
220
+ from boundary + "ا"
221
+ to ""
222
+ }
223
+ sub {
224
+ from boundary + "أ"
225
+ to ""
226
+ }
227
+ sub {
228
+ from boundary + "إ"
229
+ to ""
230
+ }
231
+ sub {
232
+ from boundary + "ؤ"
233
+ to ""
234
+ }
235
+ sub {
236
+ from boundary + "ئ"
237
+ to ""
238
+ }
239
+
240
+ # CHARACTERS
241
+ parallel {
242
+ sub "بّ" "bb"
243
+ sub "پّ" "pp"
244
+ sub "تّ" "tt"
245
+ sub "ثّ" "ṯṯ"
246
+ sub "جّ" "ǧǧ"
247
+ sub "چّ" "čč"
248
+ sub "حّ" "ḥḥ"
249
+ sub "خّ" "ḫḫ"
250
+ sub "دّ" "dd"
251
+ sub "ذّ" "ḏḏ"
252
+ sub "رّ" "rr"
253
+ sub "زّ" "zz"
254
+ sub "ژّ" "žž"
255
+ sub "سّ" "ss"
256
+ sub "شّ" "šš"
257
+ sub "صّ" "ṣṣ"
258
+ sub "ضّ" "ḍḍ"
259
+ sub "طّ" "ṭṭ"
260
+ sub "ظّ" "ẓẓ"
261
+ sub "عّ" "ʿʿ"
262
+ sub "غّ" "ġġ"
263
+ sub "فّ" "ff"
264
+ sub "قّ" "qq"
265
+ sub "کّ" "kk"
266
+ sub "گّ" "gg"
267
+ sub "لّ" "ll"
268
+ sub "مّ" "mm"
269
+ sub "نّ" "nn"
270
+ sub "هّ" "hh"
271
+ sub "وّ" "ww"
272
+ sub "يّ" "yy"
273
+ sub "یّ" "yy"
274
+ sub "وُ" "ū"
275
+ sub "يِ" "ī"
276
+ sub "یِ" "ī"
277
+ sub "أَ" "ʾa"
278
+ sub "إِ" "ʾi"
279
+ sub "ؤُ" "ʾu"
280
+ sub "ئِ" "ʾi"
281
+ sub "ئُ" "ʾu"
282
+ sub "ئَ" "ʾa"
283
+ sub "أُ" "ʾu"
284
+ sub "ء" "ʾ"
285
+ sub "أ" "ʾ"
286
+ sub "إ" "ʾ"
287
+ sub "ؤ" "ʾ"
288
+ sub "ئ" "ʾ"
289
+ sub "پ" "p"
290
+ sub "چ" "č"
291
+ sub "ژ" "ž"
292
+ sub "گ" "g"
293
+ sub "ا" "ā"
294
+ sub "ب" "b"
295
+ sub "ت" "t"
296
+ sub "ث" "ṯ"
297
+ sub "ج" "ǧ"
298
+ sub "ح" "ḥ"
299
+ sub "خ" "ḫ"
300
+ sub "د" "d"
301
+ sub "ذ" "ḏ"
302
+ sub "ر" "r"
303
+ sub "ز" "z"
304
+ sub "س" "s"
305
+ sub "ش" "š"
306
+ sub "ص" "ṣ"
307
+ sub "ض" "ḍ"
308
+ sub "ط" "ṭ"
309
+ sub "ظ" "ẓ"
310
+ sub "ع" "ʿ"
311
+ sub "غ" "ġ"
312
+ sub "ف" "f"
313
+ sub "ق" "q"
314
+ sub "ک" "k"
315
+ sub "ك" "k"
316
+ sub "ل" "l"
317
+ sub "م" "m"
318
+ sub "ن" "n"
319
+ sub "ه" "h"
320
+ sub "ھ" "h"
321
+ sub "و" "w"
322
+ sub "ي" "y"
323
+ sub "ی" "y"
324
+ sub "ى" "ā"
325
+ sub "َ" "a"
326
+ sub "ِ" "i"
327
+ sub "ُ" "u"
328
+ sub "ً" "an"
329
+ sub "ٌ" ""
330
+ sub "ٍ" ""
331
+ sub "ّ" ""
332
+ sub "ٰ" "ā"
333
+ }
334
+
335
+ }
336
+
337
+ }