cyrillic 0.2.0 → 0.4.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.
data/lib/cyrillic/iso9.rb CHANGED
@@ -1,261 +1,266 @@
1
- module Iso9
1
+ # frozen_string_literal: true
2
2
 
3
- CHARACTER_TABLE = {
4
- "А" => "A",
5
- "Ӓ" => "Ä",
6
- "Ӓ̄" => "Ạ̈",
7
- "Ӑ" => "Ă",
8
- "А̄" => "Ā",
9
- "Ӕ" => "Æ",
10
- "А́" => "Á",
11
- "А̊" => "Å",
12
- "Б" => "B",
13
- "В" => "V",
14
- "Г" => "G",
15
- "Ѓ" => "Ǵ",
16
- "Ғ" => "Ġ",
17
- "Ҕ" => "Ğ",
18
- "Һ" => "",
19
- "Д" => "D",
20
- "Ђ" => "Đ",
21
- "Е" => "E",
22
- "Ӗ" => "Ĕ",
23
- "Ё" => "Ë",
24
- "Є" => "Ê",
25
- "Ж" => "Ž",
26
- "Җ" => "Ž̦",
27
- "Ӝ" => "",
28
- "Ӂ" => "",
29
- "З" => "Z",
30
- "Ӟ" => "Z̈",
31
- "Ӡ" => "Ź",
32
- "Ѕ" => "",
33
- "И" => "I",
34
- "Ӣ" => "Ī",
35
- "И́" => "Í",
36
- "Ӥ" => "Î",
37
- "Й" => "J",
38
- "І" => "Ì",
39
- "Ї" => "Ï",
40
- "І̄" => "Ǐ",
41
- "Ј" => "",
42
- "Ј̵" => "",
43
- "К" => "K",
44
- "Ќ" => "",
45
- "Ӄ" => "",
46
- "Ҝ" => "K̂",
47
- "Ҡ" => "Ǩ",
48
- "Ҟ" => "",
49
- "Қ" => "K̦",
50
- "К̨" => "",
51
- "Ԛ" => "Q",
52
- "Л" => "L",
53
- "Љ" => "",
54
- "Ԡ" => "",
55
- "М" => "M",
56
- "Н" => "N",
57
- "Њ" => "",
58
- "Ң" => "",
59
- "Ӊ" => "",
60
- "Ҥ" => "",
61
- "Ԋ" => "Ǹ",
62
- "Ԣ" => "Ń",
63
- "Ӈ" => "Ň",
64
- "Н̄" => "",
65
- "О" => "O",
66
- "Ӧ" => "Ö",
67
- "Ө" => "Ô",
68
- "Ӫ" => "Ő",
69
- "Ӧ̄" => "Ọ̈",
70
- "Ҩ" => "Ò",
71
- "О́" => "Ó",
72
- "О̄" => "Ō",
73
- "Œ" => "Œ",
74
- "П" => "P",
75
- "Ҧ" => "",
76
- "Ԥ" => "",
77
- "Р" => "R",
78
- "С" => "S",
79
- "Ҫ" => "Ș",
80
- "С̀" => "",
81
- "Т" => "T",
82
- "Ћ" => "Ć",
83
- "Ԏ" => "T̀",
84
- "Т̌" => "Ť",
85
- "Ҭ" => "Ț",
86
- "У" => "U",
87
- "Ӱ" => "Ü",
88
- "Ӯ" => "Ū",
89
- "Ў" => "Ŭ",
90
- "Ӳ" => "Ű",
91
- "У́" => "Ú",
92
- "Ӱ̄" => "Ụ̈",
93
- "Ү" => "Ù",
94
- "Ұ" => "",
95
- "Ӱ̄" => "Ụ̄",
96
- "Ԝ" => "W",
97
- "Ф" => "F",
98
- "Х" => "H",
99
- "Ҳ" => "",
100
- "Ц" => "C",
101
- "Ҵ" => "",
102
- "Џ" => "",
103
- "Ч" => "Č",
104
- "Ҷ" => "",
105
- "Ӌ" => "",
106
- "Ӵ" => "C̈",
107
- "Ҹ" => "Ĉ",
108
- "Ч̀" => "C̀",
109
- "Ҽ" => "",
110
- "Ҿ" => "C̨̆",
111
- "Ш" => "Š",
112
- "Щ" => "Ŝ",
113
- "Ъ" => "ʺ",
114
- "Ы" => "Y",
115
- "Ӹ" => "Ÿ",
116
- "Ы̄" => "Ȳ",
117
- "Ь" => "ʹ",
118
- "Э" => "È",
119
- "Ә" => "",
120
- "Ӛ" => "À",
121
- "Ю" => "Û",
122
- "Ю̄" => "Û̄",
123
- "Я" => "Â",
124
- "Ґ" => "",
125
- "Ѣ" => "Ě",
126
- "Ѫ" => "Ǎ",
127
- "Ѳ" => "",
128
- "Ѵ" => "",
129
- "Ӏ" => "",
130
- "ʼ" => "`",
131
- "ˮ" => "¨",
3
+ module Cyrillic
4
+ # ISO 9:1995 international standard transliteration.
5
+ module Iso9
6
+ CHARACTER_TABLE = {
7
+ "А" => "A",
8
+ "Ӓ" => "Ä",
9
+ "Ӓ̄" => "Ạ̈",
10
+ "Ӑ" => "Ă",
11
+ "А̄" => "Ā",
12
+ "Ӕ" => "Æ",
13
+ "А́" => "Á",
14
+ "А̊" => "Å",
15
+ "Б" => "B",
16
+ "В" => "V",
17
+ "Г" => "G",
18
+ "Ѓ" => "Ǵ",
19
+ "Ғ" => "Ġ",
20
+ "Ҕ" => "Ğ",
21
+ "Һ" => "",
22
+ "Д" => "D",
23
+ "Ђ" => "Đ",
24
+ "Е" => "E",
25
+ "Ӗ" => "Ĕ",
26
+ "Ё" => "Ë",
27
+ "Є" => "Ê",
28
+ "Ж" => "Ž",
29
+ "Җ" => "Ž̦",
30
+ "Ӝ" => "Z̄",
31
+ "Ӂ" => "",
32
+ "З" => "Z",
33
+ "Ӟ" => "",
34
+ "Ӡ" => "Ź",
35
+ "Ѕ" => "",
36
+ "И" => "I",
37
+ "Ӣ" => "Ī",
38
+ "И́" => "Í",
39
+ "Ӥ" => "Î",
40
+ "Й" => "J",
41
+ "І" => "Ì",
42
+ "Ї" => "Ï",
43
+ "І̄" => "Ǐ",
44
+ "Ј" => "",
45
+ "Ј̵" => "",
46
+ "К" => "K",
47
+ "Ќ" => "",
48
+ "Ӄ" => "",
49
+ "Ҝ" => "K̂",
50
+ "Ҡ" => "Ǩ",
51
+ "Ҟ" => "",
52
+ "Қ" => "",
53
+ "К̨" => "",
54
+ "Ԛ" => "Q",
55
+ "Л" => "L",
56
+ "Љ" => "",
57
+ "Ԡ" => "",
58
+ "М" => "M",
59
+ "Н" => "N",
60
+ "Њ" => "",
61
+ "Ң" => "",
62
+ "Ӊ" => "",
63
+ "Ҥ" => "",
64
+ "Ԋ" => "Ǹ",
65
+ "Ԣ" => "Ń",
66
+ "Ӈ" => "Ň",
67
+ "Н̄" => "",
68
+ "О" => "O",
69
+ "Ӧ" => "Ö",
70
+ "Ө" => "Ô",
71
+ "Ӫ" => "Ő",
72
+ "Ӧ̄" => "Ọ̈",
73
+ "Ҩ" => "Ò",
74
+ "О́" => "Ó",
75
+ "О̄" => "Ō",
76
+ "Œ" => "Œ",
77
+ "П" => "P",
78
+ "Ҧ" => "",
79
+ "Ԥ" => "",
80
+ "Р" => "R",
81
+ "С" => "S",
82
+ "Ҫ" => "Ș",
83
+ "С̀" => "S̀",
84
+ "Т" => "T",
85
+ "Ћ" => "Ć",
86
+ "Ԏ" => "",
87
+ "Т̌" => "Ť",
88
+ "Ҭ" => "Ț",
89
+ "У" => "U",
90
+ "Ӱ" => "Ü",
91
+ "Ӯ" => "Ū",
92
+ "Ў" => "Ŭ",
93
+ "Ӳ" => "Ű",
94
+ "У́" => "Ú",
95
+ "Ү" => "Ù",
96
+ "Ұ" => "",
97
+ "Ӱ̄" => "Ụ̄",
98
+ "Ԝ" => "W",
99
+ "Ф" => "F",
100
+ "Х" => "H",
101
+ "Ҳ" => "",
102
+ "Ц" => "C",
103
+ "Ҵ" => "",
104
+ "Џ" => "",
105
+ "Ч" => "Č",
106
+ "Ҷ" => "C̦",
107
+ "Ӌ" => "",
108
+ "Ӵ" => "C̈",
109
+ "Ҹ" => "Ĉ",
110
+ "Ч̀" => "C̀",
111
+ "Ҽ" => "",
112
+ "Ҿ" => "C̨̆",
113
+ "Ш" => "Š",
114
+ "Щ" => "Ŝ",
115
+ "Ъ" => "ʺ",
116
+ "Ы" => "Y",
117
+ "Ӹ" => "Ÿ",
118
+ "Ы̄" => "Ȳ",
119
+ "Ь" => "ʹ",
120
+ "Э" => "È",
121
+ "Ә" => "",
122
+ "Ӛ" => "À",
123
+ "Ю" => "Û",
124
+ "Ю̄" => "Û̄",
125
+ "Я" => "Â",
126
+ "Ґ" => "",
127
+ "Ѣ" => "Ě",
128
+ "Ѫ" => "Ǎ",
129
+ "Ѳ" => "",
130
+ "Ѵ" => "",
131
+ "Ӏ" => "",
132
+ "ʼ" => "`",
133
+ "ˮ" => "¨",
132
134
 
133
- "а" => "a",
134
- "ӓ" => "ä",
135
- "ӓ̄" => "ạ̈",
136
- "ӑ" => "ă",
137
- "а̄" => "ā",
138
- "ӕ" => "æ",
139
- "а́" => "á",
140
- "а̊" => "å",
141
- "б" => "b",
142
- "в" => "v",
143
- "г" => "g",
144
- "ѓ" => "ǵ",
145
- "ғ" => "ġ",
146
- "ҕ" => "ğ",
147
- "һ" => "ḥ",
148
- "д" => "d",
149
- "ђ" => "đ",
150
- "е" => "e",
151
- "ӗ" => "ĕ",
152
- "ё" => "ë",
153
- "є" => "ê",
154
- "ж" => "ž",
155
- "җ" => "ž̦",
156
- "ӝ" => "z̄",
157
- "ӂ" => "z̆",
158
- "з" => "z",
159
- "ӟ" => "z̈",
160
- "ӡ" => "ź",
161
- "ѕ" => "ẑ",
162
- "и" => "i",
163
- "ӣ" => "ī",
164
- "и́" => "í",
165
- "ӥ" => "î",
166
- "й" => "j",
167
- "і" => "ì",
168
- "ї" => "ï",
169
- "і̄" => "ǐ",
170
- "ј" => "ǰ",
171
- "ј̵" => "j́",
172
- "к" => "k",
173
- "ќ" => "ḱ",
174
- "ӄ" => "ḳ",
175
- "ҝ" => "k̂",
176
- "ҡ" => "ǩ",
177
- "ҟ" => "k̄",
178
- "қ" => "k̦",
179
- "к̨" => "k̀",
180
- "ԛ" => "q",
181
- "л" => "l",
182
- "љ" => "l̂",
183
- "ԡ" => "l̦",
184
- "м" => "m",
185
- "н" => "n",
186
- "њ" => "n̂",
187
- "ң" => "n̦",
188
- "ӊ" => "ṇ",
189
- "ҥ" => "ṅ",
190
- "ԋ" => "ǹ",
191
- "ԣ" => "ń",
192
- "ӈ" => "ň",
193
- "н̄" => "n̄",
194
- "о" => "o",
195
- "ӧ" => "ö",
196
- "ө" => "ô",
197
- "ӫ" => "ő",
198
- "ӧ̄" => "ọ̈",
199
- "ҩ" => "ò",
200
- "о́" => "ó",
201
- "о̄" => "ō",
202
- "œ" => "œ",
203
- "п" => "p",
204
- "ҧ" => "ṕ",
205
- "ԥ" => "p̀",
206
- "р" => "r",
207
- "с" => "s",
208
- "ҫ" => "ș",
209
- "с̀" => "s̀",
210
- "т" => "t",
211
- "ћ" => "ć",
212
- "ԏ" => "t̀",
213
- "т̌" => "ť",
214
- "ҭ" => "ț",
215
- "у" => "u",
216
- "ӱ" => "ü",
217
- "ӯ" => "ū",
218
- "ў" => "ŭ",
219
- "ӳ" => "ű",
220
- "у́" => "ú",
221
- "ӱ̄" => "ụ̈",
222
- "ү" => "ù",
223
- "ұ" => "",
224
- "ӱ̄" => "ụ̄",
225
- "ԝ" => "w",
226
- "ф" => "f",
227
- "х" => "h",
228
- "ҳ" => "",
229
- "ц" => "c",
230
- "ҵ" => "",
231
- "џ" => "",
232
- "ч" => "č",
233
- "ҷ" => "c̦",
234
- "ӌ" => "c̣",
235
- "ӵ" => "",
236
- "ҹ" => "ĉ",
237
- "ч̀" => "c̀",
238
- "ҽ" => "c̆",
239
- "ҿ" => "c̨̆",
240
- "ш" => "š",
241
- "щ" => "ŝ",
242
- "ъ" => "ʺ",
243
- "ы" => "y",
244
- "ӹ" => "ÿ",
245
- "ы̄" => "ȳ",
246
- "ь" => "ʹ",
247
- "э" => "è",
248
- "ә" => "",
249
- "ӛ" => "à",
250
- "ю" => "û",
251
- "ю̄" => "û̄",
252
- "я" => "â",
253
- "ґ" => "",
254
- "ѣ" => "ě",
255
- "ѫ" => "ǎ",
256
- "ѳ" => "",
257
- "ѵ" => "",
258
- "ӏ" => "‡"
259
- }
135
+ "а" => "a",
136
+ "ӓ" => "ä",
137
+ "ӓ̄" => "ạ̈",
138
+ "ӑ" => "ă",
139
+ "а̄" => "ā",
140
+ "ӕ" => "æ",
141
+ "а́" => "á",
142
+ "а̊" => "å",
143
+ "б" => "b",
144
+ "в" => "v",
145
+ "г" => "g",
146
+ "ѓ" => "ǵ",
147
+ "ғ" => "ġ",
148
+ "ҕ" => "ğ",
149
+ "һ" => "ḥ",
150
+ "д" => "d",
151
+ "ђ" => "đ",
152
+ "е" => "e",
153
+ "ӗ" => "ĕ",
154
+ "ё" => "ë",
155
+ "є" => "ê",
156
+ "ж" => "ž",
157
+ "җ" => "ž̦",
158
+ "ӝ" => "z̄",
159
+ "ӂ" => "z̆",
160
+ "з" => "z",
161
+ "ӟ" => "z̈",
162
+ "ӡ" => "ź",
163
+ "ѕ" => "ẑ",
164
+ "и" => "i",
165
+ "ӣ" => "ī",
166
+ "и́" => "í",
167
+ "ӥ" => "î",
168
+ "й" => "j",
169
+ "і" => "ì",
170
+ "ї" => "ï",
171
+ "і̄" => "ǐ",
172
+ "ј" => "ǰ",
173
+ "ј̵" => "j́",
174
+ "к" => "k",
175
+ "ќ" => "ḱ",
176
+ "ӄ" => "ḳ",
177
+ "ҝ" => "k̂",
178
+ "ҡ" => "ǩ",
179
+ "ҟ" => "k̄",
180
+ "қ" => "k̦",
181
+ "к̨" => "k̀",
182
+ "ԛ" => "q",
183
+ "л" => "l",
184
+ "љ" => "l̂",
185
+ "ԡ" => "l̦",
186
+ "м" => "m",
187
+ "н" => "n",
188
+ "њ" => "n̂",
189
+ "ң" => "n̦",
190
+ "ӊ" => "ṇ",
191
+ "ҥ" => "ṅ",
192
+ "ԋ" => "ǹ",
193
+ "ԣ" => "ń",
194
+ "ӈ" => "ň",
195
+ "н̄" => "n̄",
196
+ "о" => "o",
197
+ "ӧ" => "ö",
198
+ "ө" => "ô",
199
+ "ӫ" => "ő",
200
+ "ӧ̄" => "ọ̈",
201
+ "ҩ" => "ò",
202
+ "о́" => "ó",
203
+ "о̄" => "ō",
204
+ "œ" => "œ",
205
+ "п" => "p",
206
+ "ҧ" => "ṕ",
207
+ "ԥ" => "p̀",
208
+ "р" => "r",
209
+ "с" => "s",
210
+ "ҫ" => "ș",
211
+ "с̀" => "s̀",
212
+ "т" => "t",
213
+ "ћ" => "ć",
214
+ "ԏ" => "t̀",
215
+ "т̌" => "ť",
216
+ "ҭ" => "ț",
217
+ "у" => "u",
218
+ "ӱ" => "ü",
219
+ "ӯ" => "ū",
220
+ "ў" => "ŭ",
221
+ "ӳ" => "ű",
222
+ "у́" => "ú",
223
+ "ү" => "ù",
224
+ "ұ" => "",
225
+ "ӱ̄" => "ụ̄",
226
+ "ԝ" => "w",
227
+ "ф" => "f",
228
+ "х" => "h",
229
+ "ҳ" => "h̦",
230
+ "ц" => "c",
231
+ "ҵ" => "c̄",
232
+ "џ" => "",
233
+ "ч" => "č",
234
+ "ҷ" => "",
235
+ "ӌ" => "c̣",
236
+ "ӵ" => "c̈",
237
+ "ҹ" => "ĉ",
238
+ "ч̀" => "",
239
+ "ҽ" => "c̆",
240
+ "ҿ" => "c̨̆",
241
+ "ш" => "š",
242
+ "щ" => "ŝ",
243
+ "ъ" => "ʺ",
244
+ "ы" => "y",
245
+ "ӹ" => "ÿ",
246
+ "ы̄" => "ȳ",
247
+ "ь" => "ʹ",
248
+ "э" => "è",
249
+ "ә" => "",
250
+ "ӛ" => "à",
251
+ "ю" => "û",
252
+ "ю̄" => "û̄",
253
+ "я" => "â",
254
+ "ґ" => "",
255
+ "ѣ" => "ě",
256
+ "ѫ" => "ǎ",
257
+ "ѳ" => "",
258
+ "ѵ" => "",
259
+ "ӏ" => ""
260
+ }.freeze
260
261
 
262
+ REGEXP = Regexp.union(CHARACTER_TABLE.keys).freeze
263
+ end
261
264
  end
265
+
266
+ Iso9 = Cyrillic::Iso9 unless defined?(Iso9)
@@ -1,8 +1,14 @@
1
- module Mongolian
1
+ # frozen_string_literal: true
2
2
 
3
- k = %w(А Б В Г Д Е Ё Ж З И Й К Л М Н О Ө П Р С Т У Ү Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ё ж з и й к л м н о ө п р с т у ү ф х ц ч ш щ ъ ы ь э ю я)
4
- v = %w(A B V G D Ye Yo J Z I I K L M N O O P R S T U U F Kh Ts Ch Sh Sh I Y I E Yu Ya a b v g d ye yo j z i i k l m n o o p r s t u u f kh ts ch sh sh i y i e yu ya)
5
-
6
- CHARACTER_TABLE = Hash[k.zip(v)]
3
+ module Cyrillic
4
+ # Mongolian Cyrillic standard (MNS 5217:2012) romanization.
5
+ module Mongolian
6
+ k = %w[А Б В Г Д Е Ё Ж З И Й К Л М Н О Ө П Р С Т У Ү Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ё ж з и й к л м н о ө п р с т у ү ф х ц ч ш щ ъ ы ь э ю я].freeze
7
+ v = %w[A B V G D Ye Yo J Z I I K L M N O O P R S T U U F Kh Ts Ch Sh Sh I Y I E Yu Ya a b v g d ye yo j z i i k l m n o o p r s t u u f kh ts ch sh sh i y i e yu ya].freeze
7
8
 
9
+ CHARACTER_TABLE = k.zip(v).to_h.freeze
10
+ REGEXP = Regexp.union(CHARACTER_TABLE.keys).freeze
11
+ end
8
12
  end
13
+
14
+ Mongolian = Cyrillic::Mongolian unless defined?(Mongolian)
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cyrillic
4
+ # Serbian Cyrillic to Gaj's Latin transliteration (Vukovica to Gajica).
5
+ module Serbian
6
+ k = %w[
7
+ А Б В Г Д Ђ Е Ж З И Ј К Л Љ М Н Њ О П Р С Т Ћ У Ф Х Ц Ч Џ Ш
8
+ а б в г д ђ е ж з и ј к л љ м н њ о п р с т ћ у ф х ц ч џ ш
9
+ ].freeze
10
+
11
+ v = %w[
12
+ A B V G D Đ E Ž Z I J K L Lj M N Nj O P R S T Ć U F H C Č Dž Š
13
+ a b v g d đ e ž z i j k l lj m n nj o p r s t ć u f h c č dž š
14
+ ].freeze
15
+
16
+ CHARACTER_TABLE = k.zip(v).to_h.freeze
17
+ REGEXP = Regexp.union(CHARACTER_TABLE.keys).freeze
18
+ end
19
+ end
20
+
21
+ Serbian = Cyrillic::Serbian unless defined?(Serbian)