interscript 0.1.5 → 2.1.0a8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +29 -0
  5. data/LICENSE.adoc +31 -0
  6. data/README.md +3 -0
  7. data/Rakefile +53 -0
  8. data/bin/console +14 -0
  9. data/bin/interscript +3 -39
  10. data/bin/maps_analyze_staging +168 -0
  11. data/bin/maps_debug_compilers +58 -0
  12. data/bin/maps_debug_ordering +88 -0
  13. data/bin/maps_debug_ruby_compile +24 -0
  14. data/bin/maps_debug_step_by_step +44 -0
  15. data/bin/maps_optimize_order +112 -0
  16. data/bin/maps_v1_analyze_regexps +45 -0
  17. data/bin/maps_v1_to_v2 +426 -0
  18. data/exe/interscript +6 -0
  19. data/interscript.gemspec +31 -0
  20. data/lib/interscript.rb +81 -123
  21. data/lib/interscript/command.rb +5 -5
  22. data/lib/interscript/compiler.rb +22 -0
  23. data/lib/interscript/compiler/javascript.rb +292 -0
  24. data/lib/interscript/compiler/ruby.rb +262 -0
  25. data/lib/interscript/dsl.rb +67 -0
  26. data/lib/interscript/dsl/aliases.rb +23 -0
  27. data/lib/interscript/dsl/document.rb +46 -0
  28. data/lib/interscript/dsl/group.rb +45 -0
  29. data/lib/interscript/dsl/group/parallel.rb +6 -0
  30. data/lib/interscript/dsl/items.rb +89 -0
  31. data/lib/interscript/dsl/metadata.rb +26 -0
  32. data/lib/interscript/dsl/stage.rb +6 -0
  33. data/lib/interscript/dsl/symbol_mm.rb +11 -0
  34. data/lib/interscript/dsl/tests.rb +12 -0
  35. data/lib/interscript/interpreter.rb +251 -0
  36. data/lib/interscript/node.rb +25 -0
  37. data/lib/interscript/node/alias_def.rb +15 -0
  38. data/lib/interscript/node/dependency.rb +13 -0
  39. data/lib/interscript/node/document.rb +45 -0
  40. data/lib/interscript/node/group.rb +34 -0
  41. data/lib/interscript/node/group/parallel.rb +9 -0
  42. data/lib/interscript/node/group/sequential.rb +2 -0
  43. data/lib/interscript/node/item.rb +52 -0
  44. data/lib/interscript/node/item/alias.rb +42 -0
  45. data/lib/interscript/node/item/any.rb +61 -0
  46. data/lib/interscript/node/item/capture.rb +50 -0
  47. data/lib/interscript/node/item/group.rb +51 -0
  48. data/lib/interscript/node/item/repeat.rb +40 -0
  49. data/lib/interscript/node/item/stage.rb +23 -0
  50. data/lib/interscript/node/item/string.rb +51 -0
  51. data/lib/interscript/node/metadata.rb +18 -0
  52. data/lib/interscript/node/rule.rb +6 -0
  53. data/lib/interscript/node/rule/funcall.rb +18 -0
  54. data/lib/interscript/node/rule/run.rb +15 -0
  55. data/lib/interscript/node/rule/sub.rb +65 -0
  56. data/lib/interscript/node/stage.rb +19 -0
  57. data/lib/interscript/node/tests.rb +15 -0
  58. data/lib/interscript/stdlib.rb +211 -0
  59. data/lib/interscript/utils/regexp_converter.rb +283 -0
  60. data/lib/interscript/version.rb +1 -1
  61. data/requirements.txt +1 -0
  62. metadata +73 -311
  63. data/README.adoc +0 -298
  64. data/bin/rspec +0 -29
  65. data/lib/__pycache__/g2pwrapper.cpython-38.pyc +0 -0
  66. data/lib/g2pwrapper.py +0 -34
  67. data/lib/interscript-opal.rb +0 -2
  68. data/lib/interscript/fs.rb +0 -69
  69. data/lib/interscript/mapping.rb +0 -142
  70. data/lib/interscript/opal.rb +0 -23
  71. data/lib/interscript/opal/maps.js.erb +0 -7
  72. data/lib/interscript/opal_map_translate.rb +0 -12
  73. data/lib/model-7 +0 -0
  74. data/lib/tha-pt-b-7 +0 -0
  75. data/maps/acadsin-zho-Hani-Latn-2002.yaml +0 -38912
  76. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -141
  77. data/maps/alalc-bel-cyrl-latn-1997.yaml +0 -125
  78. data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
  79. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -94
  80. data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -625
  81. data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -628
  82. data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -112
  83. data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -146
  84. data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -94
  85. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
  86. data/maps/alalc-mkd-cyrl-latn-1997.yaml +0 -114
  87. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -222
  88. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
  89. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -114
  90. data/maps/alalc-srp-cyrl-latn-2013.yaml +0 -135
  91. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -141
  92. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
  93. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
  94. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -175
  95. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
  96. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -294
  97. data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -31
  98. data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
  99. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
  100. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
  101. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
  102. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -104
  103. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -184
  104. data/maps/bgnpcgn-bel-cyrl-latn-1979.yaml +0 -285
  105. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -115
  106. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -38
  107. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -702
  108. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -20
  109. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
  110. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -127
  111. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -43
  112. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
  113. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
  114. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
  115. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -159
  116. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
  117. data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +0 -93
  118. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -314
  119. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -166
  120. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -163
  121. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -208
  122. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +0 -7456
  123. data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -168
  124. data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
  125. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -685
  126. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -681
  127. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -20
  128. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -32
  129. data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -89
  130. data/maps/gki-bel-cyrl-latn-1992.yaml +0 -33
  131. data/maps/gki-bel-cyrl-latn-2000.yaml +0 -201
  132. data/maps/gost-rus-cyrl-latn-16876-71-1983.yaml +0 -186
  133. data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
  134. data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -141
  135. data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -122
  136. data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
  137. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
  138. data/maps/icao-per-Arab-Latn-9303.yaml +0 -104
  139. data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -118
  140. data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
  141. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -120
  142. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -610
  143. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -41
  144. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -62
  145. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -272
  146. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
  147. data/maps/kp-kor-Hang-Latn-2002.yaml +0 -901
  148. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
  149. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
  150. data/maps/moct-kor-Hang-Latn-2000.yaml +0 -803
  151. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
  152. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
  153. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
  154. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -110
  155. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
  156. data/maps/nil-kor-Hang-Hang-jamo.yaml +0 -11193
  157. data/maps/odni-aze-Cyrl-Latn-2015.yaml +0 -144
  158. data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
  159. data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
  160. data/maps/odni-kat-Geor-Latn-2015.yaml +0 -88
  161. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +0 -148
  162. data/maps/odni-kir-Cyrl-Latn-2015.yaml +0 -136
  163. data/maps/odni-mkd-cyrl-latn-2015.yaml +0 -122
  164. data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
  165. data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
  166. data/maps/odni-tat-Cyrl-Latn-2015.yaml +0 -142
  167. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +0 -148
  168. data/maps/odni-uig-Cyrl-Latn-2015.yaml +0 -138
  169. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -157
  170. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -167
  171. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
  172. data/maps/royin-tha-Thai-Latn-1968.yaml +0 -179
  173. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
  174. data/maps/royin-tha-Thai-Latn-1999.yaml +0 -76
  175. data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24759
  176. data/maps/ses-ara-arab-latn-1930.yaml +0 -275
  177. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
  178. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -193
  179. data/maps/un-ara-Arab-Latn-1971.yaml +0 -127
  180. data/maps/un-ara-Arab-Latn-1972.yaml +0 -152
  181. data/maps/un-ara-Arab-Latn-2017.yaml +0 -383
  182. data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
  183. data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
  184. data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -32
  185. data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -20
  186. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +0 -780
  187. data/maps/un-mon-Mong-Latn-2013.yaml +0 -93
  188. data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
  189. data/maps/un-ukr-cyrl-latn-1998.yaml +0 -30
  190. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
  191. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
  192. data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
  193. data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
  194. data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -37
  195. data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
  196. data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
  197. data/maps/var-zho-Hani-Latn-1979.yaml +0 -38908
  198. data/spec/interscript/mapping_spec.rb +0 -42
  199. data/spec/interscript_spec.rb +0 -26
  200. data/spec/spec_helper.rb +0 -3
@@ -1,190 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 2013
4
- language: mkd
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Makedonian Romanization, BGN/PCGN 2013 System
8
- url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/811514/ROMANIZATION_OF_MACEDONIAN.pdf
9
- creation_date: 2013
10
- description: |
11
- Macedonian was officially established as a written language in Yugoslavia during
12
- World War II and is now the official language of North Macedonia.
13
- This romanization system replaces the BGN/PCGN 1981 agreement and adheres
14
- to the most widely-accepted standardization of Macedonian orthography.
15
-
16
- notes:
17
- - The Macedonian Cyrillic lowercase italic Д may sometimes be seen as g.
18
- There is no specific Unicode encoding for this variant form so a comparable character
19
- has been used here for illustrative purposes.
20
- - The Macedonian Cyrillic lowercase italic Ѓ may sometimes be seen as ī.
21
- There is no specific Unicode encoding for this variant form so a comparable character
22
- has been used here for illustrative purposes.
23
- - The Macedonian Cyrillic lowercase italic П may sometimes be seen as ū.
24
- There is no specific Unicode encoding for this variant form so a comparable character
25
- has been used here for illustrative purposes.
26
- - The Macedonian Cyrillic lowercase italic Т may sometimes be seen as w̄.
27
- There is no specific Unicode encoding for this variant form so a comparable character
28
- has been used here for illustrative purposes.
29
- - |
30
- An inventory of letter-diacritic combinations, with their Unicode encoding,
31
- in addition to the unmodified letters of the basic Roman script is:
32
- | Ǵ (U+01F4) | ǵ (U+01F5) |
33
- | Ž (U+017D) | ž (U+017E) |
34
- | Dz (U+01F2)* | dz (U+01F3)* |
35
- | Lj (U+01C8)* | lj (U+01C9)* |
36
- | Nj (U+01CB)* | nj(U+01CC)* |
37
- | Ḱ (U+IE30) | ḱ (U+IE31) |
38
- | Č (U+010C) | č (U+010D) |
39
- | Dž (U+01C5)* | dž (U+01C6)* |
40
- | Š (U+0160) | š (U+0161) |
41
- * Note that these characters can also be reproduced with individual letters (e.g. l+j).
42
- - The Romanization column shows only lowercase forms but, when romanizing,
43
- uppercase and lowercase Roman letters as appropriate should be used.
44
-
45
- tests:
46
- - source: Ѓенови Ливаѓе
47
- expected: Ǵenovi Livaǵe
48
- - source: ЛУЃЕ луѓе
49
- expected: LUǴE luǵe
50
- - source: ЅВЕЗДА ѕвезда Ѕвезда
51
- expected: DZVEZDA dzvezda Dzvezda
52
- - source: Јабежица
53
- expected: Jabežica
54
- - source: Љиќен и Бард
55
- expected: Ljiḱen i Bard
56
- - source: Ќамилов Чукар
57
- expected: Ḱamilov Čukar
58
- - source: Џавидин Кајнак
59
- expected: Džavidin Kajnak
60
- - source: Џамалџи
61
- expected: Džamaldži
62
- - source: Џибра Гури и Зи
63
- expected: Džibra Guri i Zi
64
- - source: Абазова Куќарица
65
- expected: Abazova Kuḱarica
66
- - source: Баба Анѓина Маала
67
- expected: Baba Anǵina Maala
68
- - source: Ваљановец
69
- expected: Valjanovec
70
- - source: Галал Једи Дереш
71
- expected: Galal Jedi Dereš
72
- - source: Дванаесет Клајнци
73
- expected: Dvanaeset Klajnci
74
- - source: Електродистрибуција Струга
75
- expected: Elektrodistribucija Struga
76
- - source: Железничка Станица Рајко Жинзифов
77
- expected: Železnička Stanica Rajko Žinzifov
78
- - source: Заедничко Речиште
79
- expected: Zaedničko Rečište
80
- - source: Испраена Плоча
81
- expected: Ispraena Ploča
82
- - source: Казнено-Поправна Установа Идризово
83
- expected: Kazneno-Popravna Ustanova Idrizovo
84
- - source: Лази и Зејнелит
85
- expected: Lazi i Zejnelit
86
- - source: Мавровско Езеро
87
- expected: Mavrovsko Ezero
88
- - source: Национален Парк Галичица
89
- expected: Nacionalen Park Galičica
90
- - source: Одморалиште Свети Стефан
91
- expected: Odmoralište Sveti Stefan
92
- - source: Планинарски Дом Караџица
93
- expected: Planinarski Dom Karadžica
94
- - source: Раса е Лисењит
95
- expected: Rasa e Lisenjit
96
- - source: Скочивирска Клисура
97
- expected: Skočivirska Klisura
98
- - source: Термо-електроцентрала Неготино
99
- expected: Termo-elektrocentrala Negotino
100
- - source: Узуновско Бресје
101
- expected: Uzunovsko Bresje
102
- - source: Фабрика Југохром
103
- expected: Fabrika Jugohrom
104
- - source: Хидроелектрана Сапунџица
105
- expected: Hidroelektrana Sapundžica
106
- - source: Цветковско Рамниште
107
- expected: Cvetkovsko Ramnište
108
- - source: Чалтанова Пештера
109
- expected: Čaltanova Peštera
110
- - source: Шкемби Вишнејц
111
- expected: Škembi Višnejc
112
-
113
- map:
114
- postrules:
115
- # DZ
116
- - pattern: "((?<=[[:upper:]])Dz(?=[[:upper:]])?|(?<=[[:upper:]])?Dz(?=[[:upper:]]))"
117
- result: "DZ"
118
- #LJ
119
- - pattern: "((?<=[[:upper:]])Lj(?=[[:upper:]])?|(?<=[[:upper:]])?Lj(?=[[:upper:]]))"
120
- result: "LJ"
121
- #NJ
122
- - pattern: "((?<=[[:upper:]])Nj(?=[[:upper:]])?|(?<=[[:upper:]])?Nj(?=[[:upper:]]))"
123
- result: "NJ"
124
- #DŽ
125
- - pattern: "((?<=[[:upper:]])Dž(?=[[:upper:]])?|(?<=[[:upper:]])?Dž(?=[[:upper:]]))"
126
- result: "DŽ"
127
-
128
- characters:
129
- "\u0410": "A"
130
- "\u0411": "B"
131
- "\u0412": "V"
132
- "\u0413": "G"
133
- "\u0414": "D"
134
- "\u0403": "\u01F4" # Ǵ
135
- "\u0415": "E"
136
- "\u0416": "\u005a\u030c" # Ž
137
- "\u0417": "Z"
138
- "\u0405": "Dz"
139
- "\u0418": "I"
140
- "\u0408": "J"
141
- "\u041A": "K"
142
- "\u041B": "L"
143
- "\u0409": "Lj"
144
- "\u041C": "M"
145
- "\u041D": "N"
146
- "\u040A": "Nj"
147
- "\u041E": "O"
148
- "\u041F": "P"
149
- "\u0420": "R"
150
- "\u0421": "S"
151
- "\u0422": "T"
152
- "\u040C": "\u004b\u0301" # Ḱ
153
- "\u0423": "U"
154
- "\u0424": "F"
155
- "\u0425": "H"
156
- "\u0426": "C"
157
- "\u0427": "\u0043\u030c" # Č
158
- "\u040F": "D\u007a\u030c" # Dž
159
- "\u0428": "\u0053\u030c" # Š
160
- "\u0430": "a"
161
- "\u0431": "b"
162
- "\u0432": "v"
163
- "\u0433": "g"
164
- "\u0434": "d"
165
- "\u0453": "\u01F5" # ǵ
166
- "\u0435": "e"
167
- "\u0436": "\u007a\u030c" # ž
168
- "\u0437": "z"
169
- "\u0455": "dz"
170
- "\u0438": "i"
171
- "\u0458": "j"
172
- "\u043A": "k"
173
- "\u043B": "l"
174
- "\u0459": "lj"
175
- "\u043C": "m"
176
- "\u043D": "n"
177
- "\u045A": "nj"
178
- "\u043E": "o"
179
- "\u043F": "p"
180
- "\u0440": "r"
181
- "\u0441": "s"
182
- "\u0442": "t"
183
- "\u045C": "\u1E31" # ḱ
184
- "\u0443": "u"
185
- "\u0444": "f"
186
- "\u0445": "h"
187
- "\u0446": "c"
188
- "\u0447": "\u0063\u030c" # č
189
- "\u045F": "d\u007a\u030c" # dž
190
- "\u0448": "\u0073\u030c" # š
@@ -1,93 +0,0 @@
1
- ---
2
- # TODO: This system is not complete/usable yet!
3
- # TODO: Add tests from PDF
4
- authority_id: bgnpcgn
5
- id: 1956
6
- language: per
7
- source_script: Arab
8
- destination_script: Latn
9
- name: BGN/PCGN 1956 System
10
- url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/320079/Arabic_Romanization.pdf
11
- creation_date: 1947
12
- confirmation_date: 2019-06
13
- description: |
14
- This System was adopted by the BGN in 1946 and by the PCGN in 1956
15
- and is applied in the systematic romanization of geographic names in
16
- Bahrain, Egypt, Iraq, Jordan, Kuwait, Libya, Oman, Qatar, Saudi Arabia,
17
- Syria, the United Arab Emirates, and Yemen.
18
-
19
- Uniform results in the romanization of Arabic are difficult to
20
- obtain, since vowel points and diacritical marks are generally omitted
21
- from both manual and machine writing. It follows that for correct
22
- identification of the words which appear in any particular name,
23
- knowledge of its standard Arabic- script spelling including proper
24
- pointing, and recognition of dialectal and idiosyncratic deviations are
25
- essential.
26
-
27
- In order to bring about uniformity in the Roman-script spelling of
28
- geographic names in Arabic- language areas, the system is based insofar
29
- as possible on fully pointed modern standard Arabic. In the interest of
30
- clarity, vowel pointing has been applied to the examples below. Arabic
31
- is written from right to left, and does not make a distinction between
32
- upper and lower case.
33
-
34
- notes:
35
- - The symbol ◌ represents any Arabic consonant character.
36
- - "Hamzah (ء) is written in Arabic in association with most instances of initial alif, except those which belong to the definite article al or which bear a maddah (see note 11). Hamzah is written above the alif if the accompanying short vowel is a fatḩah (َأ) or ḑammah (ُأ) and below the alif if the accompanying short vowel is a kasrah (ِإ). When the purpose is to indicate the presence of a glottal stop, hamzah is written over medial and final alif (أ), wāw (ؤ) and yā’ without dots (ئ). Hamzah following kasrah (◌ِ ) is written (ئ). Almost always the yā’ is in the initial or medial form and the dots are omitted: example: (بئر). Hamzah following ḑammah (◌ُ )is written (ؤ). Hamzah following a long vowel is written without a bearer and is positioned on the line of print like a regular character. The romanization of hamzah (’) should always be carefully distinguished from that of ‘ayn (‘)."
37
- - Alif as such is not romanized when it is a bearer of hamzah, but see fatḩah alif (ا◌َ ) and alif maddah .in the vowel table. See also note 2 and 11 above ) آ (
38
- - "In certain endings, an original tā’ (ت) is written (ة), i.e., like hā’ with two dots, and is known as tā marbūţah. It is romanized h, except in the construct form, where it is romanized t instead. Example: hamzah,hamzatalqaţ‘.Theendingfatḩahhā’ (ه◌َ)mayberomanizeda·hwhenthecharacterhā’ .5 is not silent. Example: Muntaza·h. See also note )ه("
39
- - Occasionally, the character sequences ـدهـ ,ـتـهـ, ـكـهـ and سهـ occur. They may be romanized k·h, t·h, d·h, and s·h in order to differentiate those romanizations from the digraphs kh, th, dh, and sh. See also note 4.
40
- - Where special considerations are paramount, the sub-dot ( ִ ) may be used in place of the cedilla.
41
- - The character yā’ (in final form but without dots) preceded by the vowel point fatḩah is a combination known as alif maqşūrah. See character 7 in the vowel table.
42
- - "The classical Arabic grammatical endings written with the nunation symbols (tanwīn) may be romanized, when necessary, by an, in, un. In modern Arabic, these endings have become silent and should not be romanized: classical alifun modern alif."
43
- - Doubled consonant sounds are represented in Arabic script by placing a shaddah (◌ّ ) over a consonant character. In romanization the letter should be doubled. However, the combination of the consonant character yā’ with a shaddah preceded by a kasrah (ــــِّيــ) is romanized īy rather than iyy. e.g., (ـــِّيـة) is romanized (īyah) and not (iyyah). When the definite article (al) precedes a word beginning with one of the “sun letters” t, th, d, dh, r, z, s, sh, ş, ḑ, ţ, z̧ , l, or n – the l is assimilated in pronunciation and romanization, thus yielding tt, thth, etc., in romanization. Example, An Nīl, not Al Nīl.
44
- - Hamzat al waşl (ٱ), which is utilized only in the pointing of classical Arabic, is romanized ’ as illustrated in the classical form of its name hamzatu’l waşli.
45
- - Since maddah (آ), which is placed over alif (ا), nearly always occurs in word-initial position, no .)◌َا( as well as for fatḩah alif )آ( confusion results from the use of ā for alif maddah
46
- - The ligatures لا and لـا represent lām- alif, and should be romanized lā.
47
-
48
- special_rules:
49
- # TODO: These are not used
50
- - Initial definite articles and prepositions should be capitalized and hyphens should not be used to connect parts of names, e.g., Ash Shāriqah and Tall al Laḩm.
51
- - If any evidence is found for the use of the definite article in a name, the article should be used in the name chosen.
52
- - The Arabic word for God should be written Allāh (الله).
53
- - Names which consist of noun phrases should be written as separate words. The definite article within such names should be romanized al, not ul, e.g., ‘Abd Allāh, ‘Abd ar Raḩmān, Dhū al Faqār.
54
- - The Arabic word ِبنshould be romanized Bin rather than Ibn whenever written without alif, that is between two proper nouns, e.g., ‘Umar Bin al Khaţţāb.
55
- - The Turkish word Paşa should be romanized from Arabic script as Bāshā. The Turkish word Bey should be romanized as Bey in Egyptian names, no matter how it is written in Arabic-language sources, but in other Arabic areas it should be romanized as Bak where written بك and as Bayk .بيك when written
56
- - The modern colloquial word Sīdī should be give precedence over the classical form Sayyidī. This does not preclude the spelling Sayyidī if the latter is indicated by the Arabic script or other evidence – for instance, if the yā’ is written with a shaddah (◌ّ ).
57
- - The colloquial word Bū should not be changed to the standard form Abū.
58
- - The colloquial word for water, written مية on Arabic maps, should be romanized Mayyat.
59
- - Place names of Aramaic origin in Syria often contain initial consonant clusters consisting of b plus another consonant such as l or h. In romanization, the clusters bl, bh, etc., should be so represented.
60
- - In names containing the Arabic word for back, ridge, or hill, appearing as either ظهر or ضهر in Arabic sources, the word should be romanized to reflect the particular Arabic spelling shown.
61
- map:
62
- characters:
63
- '\u0627' : 'a'
64
- '\u0628' : 'b'
65
- '\u067e' : 'p'
66
- '\u062a' : 't'
67
- '\u062b' : 's'
68
- '\u062c' : 'j'
69
- '\u062d' : 'h'
70
- '\u0686' : 'ch'
71
- '\u062e' : 'kh'
72
- '\u062f' : 'd'
73
- '\u0630' : 'z'
74
- '\u0631' : 'r'
75
- '\u0632' : 'z'
76
- '\u0633' : 's'
77
- '\u0634' : 'sh'
78
- '\u0635' : 's'
79
- '\u0636' : 'z'
80
- '\u0637' : 't'
81
- '\u0638' : 'z'
82
- '\u0639' : '\u2018'
83
- '\u063a' : 'gh'
84
- '\u0641' : 'f'
85
- '\u0642' : 'q'
86
- '\u0643' : 'k'
87
- '\u0644' : 'l'
88
- '\u0645' : 'm'
89
- '\u0646' : 'n'
90
- '\u0647' : 'h'
91
- '\u0648' : 'v'
92
- '\u0649' : 'y'
93
-
@@ -1,314 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 1947
4
- language: rus
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ROMANIZATION OF RUSSIAN, BGN/PCGN 1947 System
8
- url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/807920/ROMANIZATION_OF_RUSSIAN.pdf
9
- creation_date: 1947
10
- confirmation_date: 2019-06
11
- description: |
12
- The BGN/PCGN system for Russian was adopted by the BGN in 1944 and by the
13
- PCGN in 1947 for use in romanizing names written in the Russian Cyrillic
14
- alphabet.
15
-
16
- notes:
17
- - The character e should be romanized ye initially, after the vowel
18
- characters a, e, ё, и, о, у, ы, э, ю, and я, and after й, ъ, and ь. In
19
- all other instances, it should be romanized e.
20
-
21
- - The character ё is not considered a separate character of the
22
- Russian alphabet and the dieresis is generally not shown. When the
23
- dieresis is shown, the character should be romanized yë initially,
24
- after the vowel characters a, e, ё, и, о, у, ы, э, ю, and я, and after
25
- й, ъ, and ь. In all other instances, it should be romanized ё. When the
26
- dieresis is not shown, the character may still be romanized in the
27
- preceding manner or, alternatively, in accordance with note 1.
28
-
29
- - |
30
- Unusual Russian character sequences occurring primarily in
31
- non-Russian-language names may be romanized as shown below in order to
32
- provide differentiation from regularly- occurring digraphs and
33
- character sequences.
34
- й before а, у, ы, or э у·
35
- ы before а, у, ы, or э у·
36
- ы after any vowel character ·у
37
- э after any consonant character except й ·е
38
- TC t·s шч sh·ch
39
-
40
- - Unicode values are shown with the uppercase Cyrillic character first,
41
- followed by the lowercase character.
42
-
43
- - |
44
- An inventory of letter-diacritic combinations, with their Unicode
45
- encoding, in addition to the unmodified letters of the basic Roman
46
- script is:
47
- All apostrophes appearing in romanization are U+2019 Ë (U+00CB)
48
- ë (U+00EB)
49
- - The Romanization column shows only lowercase forms but, when
50
- romanizing, uppercase and lowercase Roman letters as appropriate should
51
- be used.
52
-
53
- tests:
54
- - source: |
55
- Выборы депутатов Государственной Думы Федерального Собрания Российской Федерации седьмого созыва
56
- Дата голосования: 18.09.2016
57
-
58
- Наименование Избирательной комиссии: ЦИК России
59
-
60
- Сводная таблица результатов выборов по федеральному избирательному округу
61
-
62
-
63
- Число избирателей, внесенных в список избирателей на момент окончания голосования
64
- Число избирательных бюллетеней, полученных участковой избирательной комиссией
65
- Число избирательных бюллетеней, выданных избирателям, проголосовавшим досрочно
66
- Число избирательных бюллетеней, выданных в помещении для голосования в день голосования
67
- Число избирательных бюллетеней, выданных вне помещения для голосования в день голосования
68
- Число погашенных избирательных бюллетеней
69
- Число избирательных бюллетеней, содержащихся в переносных ящиках для голосования
70
- Число избирательных бюллетеней, содержащихся в стационарных ящиках для голосования
71
- Число недействительных избирательных бюллетеней
72
- Число действительных избирательных бюллетеней
73
- Число открепительных удостоверений, полученных участковой избирательной комиссией
74
- Число открепительных удостоверений, выданных на избирательном участке до дня голосования
75
- Число избирателей, проголосовавших по открепительным удостоверениям на избирательном участке
76
- Число погашенных неиспользованных открепительных удостоверений
77
- Число открепительных удостоверений, выданных избирателям территориальной избирательной комиссией
78
- Число утраченных открепительных удостоверений
79
- Число утраченных избирательных бюллетеней
80
- Число избирательных бюллетеней, не учтенных при получении
81
- 1. ВСЕРОССИЙСКАЯ ПОЛИТИЧЕСКАЯ ПАРТИЯ "РОДИНА"
82
- 2. Политическая партия КОММУНИСТИЧЕСКАЯ ПАРТИЯ КОММУНИСТЫ РОССИИ
83
- 3. Политическая партия "Российская партия пенсионеров за справедливость"
84
- 4. Всероссийская политическая партия "ЕДИНАЯ РОССИЯ"
85
- 5. Политическая партия "Российская экологическая партия "Зеленые"
86
- 6. Политическая партия "Гражданская Платформа"
87
- 7. Политическая партия ЛДПР - Либерально-демократическая партия России
88
- 8. Политическая партия "Партия народной свободы" (ПАРНАС)
89
- 9. Всероссийская политическая партия "ПАРТИЯ РОСТА"
90
- 10. Общественная организация Всероссийская политическая партия "Гражданская Сила"
91
- 11. Политическая партия "Российская объединенная демократическая партия "ЯБЛОКО"
92
- 12. Политическая партия "КОММУНИСТИЧЕСКАЯ ПАРТИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ"
93
- 13. Политическая партия "ПАТРИОТЫ РОССИИ"
94
- 14. Политическая партия СПРАВЕДЛИВАЯ РОССИЯ
95
-
96
- Данные окружных избирательных комиссий о числе открепительных удостоверений
97
-
98
-
99
- Число открепительных удостоверений, полученных окружной избирательной комиссией
100
- Число открепительных удостоверений, выданных территориальным избирательным комиссиям
101
- Число неиспользованных открепительных удостоверений, погашенных окружной избирательной комиссией
102
- Число открепительных удостоверений, утраченных в окружной избирательной комиссии
103
-
104
- expected: |
105
- Vybory deputatov Gosudarstvennoy Dumy Federal’nogo Sobraniya Rossiyskoy Federatsii sed’mogo sozyva
106
- Data golosovaniya: 18.09.2016
107
-
108
- Naimenovaniye Izbiratel’noy komissii: TSIK Rossii
109
-
110
- Svodnaya tablitsa rezul’tatov vyborov po federal’nomu izbiratel’nomu okrugu
111
-
112
-
113
- Chislo izbirateley, vnesennykh v spisok izbirateley na moment okonchaniya golosovaniya
114
- Chislo izbiratel’nykh byulleteney, poluchennykh uchastkovoy izbiratel’noy komissiyey
115
- Chislo izbiratel’nykh byulleteney, vydannykh izbiratelyam, progolosovavshim dosrochno
116
- Chislo izbiratel’nykh byulleteney, vydannykh v pomeshchenii dlya golosovaniya v den’ golosovaniya
117
- Chislo izbiratel’nykh byulleteney, vydannykh vne pomeshcheniya dlya golosovaniya v den’ golosovaniya
118
- Chislo pogashennykh izbiratel’nykh byulleteney
119
- Chislo izbiratel’nykh byulleteney, soderzhashchikhsya v perenosnykh yashchikakh dlya golosovaniya
120
- Chislo izbiratel’nykh byulleteney, soderzhashchikhsya v statsionarnykh yashchikakh dlya golosovaniya
121
- Chislo nedeystvitel’nykh izbiratel’nykh byulleteney
122
- Chislo deystvitel’nykh izbiratel’nykh byulleteney
123
- Chislo otkrepitel’nykh udostovereniy, poluchennykh uchastkovoy izbiratel’noy komissiyey
124
- Chislo otkrepitel’nykh udostovereniy, vydannykh na izbiratel’nom uchastke do dnya golosovaniya
125
- Chislo izbirateley, progolosovavshikh po otkrepitel’nym udostovereniyam na izbiratel’nom uchastke
126
- Chislo pogashennykh neispol’zovannykh otkrepitel’nykh udostovereniy
127
- Chislo otkrepitel’nykh udostovereniy, vydannykh izbiratelyam territorial’noy izbiratel’noy komissiyey
128
- Chislo utrachennykh otkrepitel’nykh udostovereniy
129
- Chislo utrachennykh izbiratel’nykh byulleteney
130
- Chislo izbiratel’nykh byulleteney, ne uchtennykh pri poluchenii
131
- 1. VSEROSSIYSKAYA POLITICHESKAYA PARTIYA "RODINA"
132
- 2. Politicheskaya partiya KOMMUNISTICHESKAYA PARTIYA KOMMUNISTY ROSSII
133
- 3. Politicheskaya partiya "Rossiyskaya partiya pensionerov za spravedlivost’"
134
- 4. Vserossiyskaya politicheskaya partiya "YEDINAYA ROSSIYA"
135
- 5. Politicheskaya partiya "Rossiyskaya ekologicheskaya partiya "Zelenyye"
136
- 6. Politicheskaya partiya "Grazhdanskaya Platforma"
137
- 7. Politicheskaya partiya LDPR - Liberal’no-demokraticheskaya partiya Rossii
138
- 8. Politicheskaya partiya "Partiya narodnoy svobody" (PARNAS)
139
- 9. Vserossiyskaya politicheskaya partiya "PARTIYA ROSTA"
140
- 10. Obshchestvennaya organizatsiya Vserossiyskaya politicheskaya partiya "Grazhdanskaya Sila"
141
- 11. Politicheskaya partiya "Rossiyskaya ob"yedinennaya demokraticheskaya partiya "YABLOKO"
142
- 12. Politicheskaya partiya "KOMMUNISTICHESKAYA PARTIYA ROSSIYSKOY FEDERATSII"
143
- 13. Politicheskaya partiya "PATRIOTY ROSSII"
144
- 14. Politicheskaya partiya SPRAVEDLIVAYA ROSSIYA
145
-
146
- Dannyye okruzhnykh izbiratel’nykh komissiy o chisle otkrepitel’nykh udostovereniy
147
-
148
-
149
- Chislo otkrepitel’nykh udostovereniy, poluchennykh okruzhnoy izbiratel’noy komissiyey
150
- Chislo otkrepitel’nykh udostovereniy, vydannykh territorial’nym izbiratel’nym komissiyam
151
- Chislo neispol’zovannykh otkrepitel’nykh udostovereniy, pogashennykh okruzhnoy izbiratel’noy komissiyey
152
- Chislo otkrepitel’nykh udostovereniy, utrachennykh v okruzhnoy izbiratel’noy komissii
153
- - source: ДЛИННОЕ ПОКРЫВАЛО
154
- expected: DLINNOYE POKRYVALO
155
- - source: Еловая шишка
156
- expected: Yelovaya shishka
157
- - source: ЕЛОВАЯ ШИШКА
158
- expected: YELOVAYA SHISHKA
159
- - source: Длинное покрывало
160
- expected: Dlinnoye pokryvalo
161
- - source: В лесу еловые шишки
162
- expected: V lesu yelovyye shishki
163
- - source: OН ВИДЕЛ ЕЁ В ПЕРВЫЙ РАЗ
164
- expected: ON VIDEL YEYË V PERVYY RAZ
165
- - source: Ёж колючий
166
- expected: Yëzh kolyuchiy
167
- - source: ЁЖ КОЛЮЧИЙ
168
- expected: YËZH KOLYUCHIY
169
- - source: Он видел её в первый раз
170
- expected: On videl yeyë v pervyy raz
171
- - source: У ёжа колючки
172
- expected: U yëzha kolyuchki
173
- - source: ЙА Йа йа
174
- expected: Y·A Y·a y·a
175
- - source: ЫУ Ыу ыу
176
- expected: Y·U Y·u y·u
177
- - source: ОЫ Оы оы
178
- expected: O·Y O·y o·y
179
- - source: ОЫУ Оыу оыу
180
- expected: O·Y·U O·y·u o·y·u
181
- - source: СЭ Сэ сэ
182
- expected: S·E S·e s·e
183
- - source: ТС тс Тс тС
184
- expected: T·S t·s T·s t·S
185
- - source: ШЧ шч Шч шЧ
186
- expected: SH·CH sh·ch Sh·ch sh·Ch
187
-
188
- map:
189
- rules:
190
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0401 # Ё after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
191
- result: "Y\u00eb"
192
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0451 # ё after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
193
- result: "y\u00eb"
194
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0415 # Е after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
195
- result: "Y\u0415"
196
- - pattern: \b\u0415 # Е initially
197
- result: "Y\u0435"
198
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0435 # е after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
199
- result: "y\u0435"
200
- - pattern: \b\u0435 # е initially
201
- result: "y\u0435"
202
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0401 # Ё after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
203
- result: "Y\u00eb"
204
- - pattern: \b\u0401
205
- result: "Y\u00eb"
206
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0451 # ё after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
207
- result: "y\u00eb"
208
- - pattern: \b\u0451
209
- result: "y\u00eb"
210
- - pattern: \u0419(?=[АаУуЫыЭэ]) # Й before а, у, ы, or э
211
- result: "Y\u00b7"
212
- - pattern: \u0439(?=[АаУуЫыЭэ]) # й before а, у, ы, or э
213
- result: "y\u00b7"
214
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯя])\u042b(?=[АаУуЫыЭэ]) # Ы after any vowel character and before а, у, ы, or э
215
- result: "\u00b7Y\u00b7"
216
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯя])\u044b(?=[АаУуЫыЭэ]) # ы after any vowel character and before а, у, ы, or э
217
- result: "\u00b7y\u00b7"
218
- - pattern: \u042b(?=[АаУуЫыЭэ]) # Ы before а, у, ы, or э
219
- result: "Ы\u00b7"
220
- - pattern: \u044b(?=[АаУуЫыЭэ]) # ы before а, у, ы, or э
221
- result: "ы\u00b7"
222
- - pattern: (?<=[Оо])\u042b # Ы after о
223
- result: "\u00b7Y"
224
- - pattern: (?<=[Оо])\u044b # ы after о
225
- result: "\u00b7y"
226
- - pattern: \b\u0401
227
- result: "Y\u00eb"
228
- - pattern: \b\u0451
229
- result: "y\u00eb"
230
- - pattern: (?<=[БбВвГгДдЖжЗзКкЛлМмНнПпРрСсТтФфХхЦцЧчШшЩщ])\u042d # Э after any consonant character except й
231
- result: "\u00b7E"
232
- - pattern: (?<=[БбВвГгДдЖжЗзКкЛлМмНнПпРрСсТтФфХхЦцЧчШшЩщ])\u044d # э after any consonant character except й
233
- result: "\u00b7e"
234
- - pattern: (Т|т)(С|с) # тс => t·s
235
- result: "\\1\u00b7\\2"
236
- - pattern: (Ш|ш)(Ч|ч) # шч => sh·ch
237
- result: "\\1\u00b7\\2"
238
-
239
- postrules:
240
-
241
- #YE
242
- - pattern: "((?<=[[:upper:]])Ye(?=[[:upper:]])?|(?<=[[:upper:]])?Ye(?=[[:upper:]]))"
243
- result: "YE"
244
- #YË
245
- - pattern: "((?<=[[:upper:]])Yë(?=[[:upper:]])?|(?<=[[:upper:]])?Yë(?=[[:upper:]]))"
246
- result: "YË"
247
-
248
- characters:
249
- "\u0410": "A"
250
- "\u0411": "B"
251
- "\u0412": "V"
252
- "\u0413": "G"
253
- "\u0414": "D"
254
- "\u0415": "E"
255
- "\u0401": "\u00cb" # Ё
256
- "\u0416": "Zh"
257
- "\u0417": "Z"
258
- "\u0418": "I"
259
- "\u0419": "Y"
260
- "\u041a": "K"
261
- "\u041b": "L"
262
- "\u041c": "M"
263
- "\u041d": "N"
264
- "\u041e": "O"
265
- "\u041f": "P"
266
- "\u0420": "R"
267
- "\u0421": "S"
268
- "\u0422": "T"
269
- "\u0423": "U"
270
- "\u0424": "F"
271
- "\u0425": "Kh"
272
- "\u0426": "Ts"
273
- "\u0427": "Ch"
274
- "\u0428": "Sh"
275
- "\u0429": "Shch"
276
- "\u042a": "\"" # Ъ
277
- "\u042b": "Y"
278
- "\u042c": "\u2019" # Ь => ’
279
- "\u042d": "E"
280
- "\u042e": "Yu"
281
- "\u042f": "Ya"
282
- "\u0430": "a"
283
- "\u0431": "b"
284
- "\u0432": "v"
285
- "\u0433": "g"
286
- "\u0434": "d"
287
- "\u0435": "e"
288
- "\u0451": "\u00eb" # ё
289
- "\u0436": "zh"
290
- "\u0437": "z"
291
- "\u0438": "i"
292
- "\u0439": "y"
293
- "\u043a": "k"
294
- "\u043b": "l"
295
- "\u043c": "m"
296
- "\u043d": "n"
297
- "\u043e": "o"
298
- "\u043f": "p"
299
- "\u0440": "r"
300
- "\u0441": "s"
301
- "\u0442": "t"
302
- "\u0443": "u"
303
- "\u0444": "f"
304
- "\u0445": "kh"
305
- "\u0446": "ts"
306
- "\u0447": "ch"
307
- "\u0448": "sh"
308
- "\u0449": "shch"
309
- "\u044a": "\"" # ъ
310
- "\u044b": "y"
311
- "\u044c": "\u2019" # ь => ’
312
- "\u044d": "e"
313
- "\u044e": "yu"
314
- "\u044f": "ya"