-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlufz-configs.h
348 lines (341 loc) · 44.8 KB
/
lufz-configs.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
#ifndef LUFZ_CONFIGS_H_
#define LUFZ_CONFIGS_H_
#include <map>
#include <string>
#include <vector>
#include "lufz-utf8.h"
namespace lufz {
/**
* For each language, the crossword conventions are taken from the
* "Orthography" section in:
* https://en.wikipedia.org/wiki/Crossword
* For "Brazilian", the addition of "Ã" to vowels is based upon:
* https://github.com/viresh-ratnakar/lufz/issues/1
* Caveats:
* Space (" ") should not be in vowels/consonants/combiners/punctuations.
*/
typedef struct LufzConfigStruct {
std::string name;
std::string language;
int script;
std::map<std::string, std::string> conversions;
std::vector<std::string> vowels;
std::vector<std::string> consonants;
std::set<std::string> combiners;
std::set<std::string> punctuations; /* These are retained. */
std::set<std::string> spaces; /* These are converted into spaces. */
} LufzConfig;
const std::map<std::string, LufzConfig> lufz_configs = {
{"Brazilian", {
.name = "Brazilian",
.language = "pt-br",
.script = LATIN,
.conversions = {
{"’", "'"},
},
.vowels = {"A", "Ã", "E", "I", "O", "U", "Y"},
.consonants = {"B", "C", "Ç", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z"},
.combiners = {},
.punctuations = {"-", "'",},
.spaces = {" ", "\t", "\r", "\n", ".", ",", "!", "?"},
}},
{"English", {
.name = "English",
.language = "en",
.script = LATIN,
.conversions = {},
.vowels = {"A", "E", "I", "O", "U", "Y"},
.consonants = {"B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z"},
.combiners = {},
.punctuations = {"-", "'",},
.spaces = {" ", "\t", "\r", "\n", ".", ",", "!", "?"},
}},
{"French", {
.name = "French",
.language = "fr",
.script = LATIN,
.conversions = {},
.vowels = {"A", "E", "I", "O", "U", "Y"},
.consonants = {"B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z"},
.combiners = {},
.punctuations = {"-", "'",},
.spaces = {" ", "\t", "\r", "\n", ".", ",", "!", "?"},
}},
{"German", {
.name = "German",
.language = "de",
.script = LATIN,
.conversions = {
{"ä", "ae"},
{"Ä", "AE"},
{"ö", "oe"},
{"Ö", "OE"},
{"ü", "ue"},
{"Ü", "UE"},
{"ß", "ss"},
{"ẞ", "SS"},
},
.vowels = {"A", "E", "I", "O", "U", "Y"},
.consonants = {"B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z"},
.combiners = {},
.punctuations = {"-", "'",},
.spaces = {" ", "\t", "\r", "\n", ".", ",", "!", "?"},
}},
{"Hindi", {
.name = "Hindi",
.language = "hi",
.script = DEVANAGARI,
.conversions = {},
.vowels = {"अ", "आ", "इ", "ई", "उ", "ऊ", "ए", "ऐ", "ओ", "औ", "अं", "अः", "ॲ", "ॳ", "ॴ", "ॵ}", "ॐ", "ऑ", "ऒ ",},
.consonants = {
"क", "ख", "ग", "घ", "ङ", "च", "छ", "ज", "झ", "ञ", "ट", "ठ", "ड", "ढ", "ण", "त", "थ", "द", "ध", "न", "ऩ", "प", "फ", "ब", "भ", "म", "य", "र", "ल", "व", "श", "ष", "स", "ह",
"क़", "ख़", "ग़", "ज़", "ड़", "ढ़", "फ़", "य़", "ॠ", "ॡ", "ॹ", "ॺ", "ॻ", "ॼ", "ॾ", "ॿ", "ऱ", "ऋ", "ऌ",
"क्क", "क्ख", "क्ग", "क्घ", "क्ङ", "क्च", "क्छ", "क्ज", "क्झ", "क्ञ", "क्ट", "क्ठ", "क्ड", "क्ढ", "क्ण", "क्त", "क्थ", "क्द", "क्ध", "क्न", "क्प", "क्फ", "क्ब", "क्भ", "क्म", "क्य", "क्र", "क्ल", "क्व", "क्श", "क्ष", "क्स", "क्ह", "क्ळ", "क्क्ष", "क्ज्ञ",
"ख्क", "ख्ख", "ख्ग", "ख्घ", "ख्ङ", "ख्च", "ख्छ", "ख्ज", "ख्झ", "ख्ञ", "ख्ट", "ख्ठ", "ख्ड", "ख्ढ", "ख्ण", "ख्त", "ख्थ", "ख्द", "ख्ध", "ख्न", "ख्प", "ख्फ", "ख्ब", "ख्भ", "ख्म", "ख्य", "ख्र", "ख्ल", "ख्व", "ख्श", "ख्ष", "ख्स", "ख्ह", "ख्ळ", "ख्क्ष", "ख्ज्ञ",
"ग्क", "ग्ख", "ग्ग", "ग्घ", "ग्ङ", "ग्च", "ग्छ", "ग्ज", "ग्झ", "ग्ञ", "ग्ट", "ग्ठ", "ग्ड", "ग्ढ", "ग्ण", "ग्त", "ग्थ", "ग्द", "ग्ध", "ग्न", "ग्प", "ग्फ", "ग्ब", "ग्भ", "ग्म", "ग्य", "ग्र", "ग्ल", "ग्व", "ग्श", "ग्ष", "ग्स", "ग्ह", "ग्ळ", "ग्क्ष", "ग्ज्ञ",
"घ्क", "घ्ख", "घ्ग", "घ्घ", "घ्ङ", "घ्च", "घ्छ", "घ्ज", "घ्झ", "घ्ञ", "घ्ट", "घ्ठ", "घ्ड", "घ्ढ", "घ्ण", "घ्त", "घ्थ", "घ्द", "घ्ध", "घ्न", "घ्प", "घ्फ", "घ्ब", "घ्भ", "घ्म", "घ्य", "घ्र", "घ्ल", "घ्व", "घ्श", "घ्ष", "घ्स", "घ्ह", "घ्ळ", "घ्क्ष", "घ्ज्ञ",
"ङ्क", "ङ्ख", "ङ्ग", "ङ्घ", "ङ्ङ", "ङ्च", "ङ्छ", "ङ्ज", "ङ्झ", "ङ्ञ", "ङ्ट", "ङ्ठ", "ङ्ड", "ङ्ढ", "ङ्ण", "ङ्त", "ङ्थ", "ङ्द", "ङ्ध", "ङ्न", "ङ्प", "ङ्फ", "ङ्ब", "ङ्भ", "ङ्म", "ङ्य", "ङ्र", "ङ्ल", "ङ्व", "ङ्श", "ङ्ष", "ङ्स", "ङ्ह", "ङ्ळ", "ङ्क्ष", "ङ्ज्ञ",
"च्क", "च्ख", "च्ग", "च्घ", "च्ङ", "च्च", "च्छ", "च्ज", "च्झ", "च्ञ", "च्ट", "च्ठ", "च्ड", "च्ढ", "च्ण", "च्त", "च्थ", "च्द", "च्ध", "च्न", "च्प", "च्फ", "च्ब", "च्भ", "च्म", "च्य", "च्र", "च्ल", "च्व", "च्श", "च्ष", "च्स", "च्ह", "च्ळ", "च्क्ष", "च्ज्ञ",
"छ्क", "छ्ख", "छ्ग", "छ्घ", "छ्ङ", "छ्च", "छ्छ", "छ्ज", "छ्झ", "छ्ञ", "छ्ट", "छ्ठ", "छ्ड", "छ्ढ", "छ्ण", "छ्त", "छ्थ", "छ्द", "छ्ध", "छ्न", "छ्प", "छ्फ", "छ्ब", "छ्भ", "छ्म", "छ्य", "छ्र", "छ्ल", "छ्व", "छ्श", "छ्ष", "छ्स", "छ्ह", "छ्ळ", "छ्क्ष", "छ्ज्ञ",
"ज्क", "ज्ख", "ज्ग", "ज्घ", "ज्ङ", "ज्च", "ज्छ", "ज्ज", "ज्झ", "ज्ञ", "ज्ट", "ज्ठ", "ज्ड", "ज्ढ", "ज्ण", "ज्त", "ज्थ", "ज्द", "ज्ध", "ज्न", "ज्प", "ज्फ", "ज्ब", "ज्भ", "ज्म", "ज्य", "ज्र", "ज्ल", "ज्व", "ज्श", "ज्ष", "ज्स", "ज्ह", "ज्ळ", "ज्क्ष", "ज्ज्ञ",
"झ्क", "झ्ख", "झ्ग", "झ्घ", "झ्ङ", "झ्च", "झ्छ", "झ्ज", "झ्झ", "झ्ञ", "झ्ट", "झ्ठ", "झ्ड", "झ्ढ", "झ्ण", "झ्त", "झ्थ", "झ्द", "झ्ध", "झ्न", "झ्प", "झ्फ", "झ्ब", "झ्भ", "झ्म", "झ्य", "झ्र", "झ्ल", "झ्व", "झ्श", "झ्ष", "झ्स", "झ्ह", "झ्ळ", "झ्क्ष", "झ्ज्ञ",
"ञ्क", "ञ्ख", "ञ्ग", "ञ्घ", "ञ्ङ", "ञ्च", "ञ्छ", "ञ्ज", "ञ्झ", "ञ्ञ", "ञ्ट", "ञ्ठ", "ञ्ड", "ञ्ढ", "ञ्ण", "ञ्त", "ञ्थ", "ञ्द", "ञ्ध", "ञ्न", "ञ्प", "ञ्फ", "ञ्ब", "ञ्भ", "ञ्म", "ञ्य", "ञ्र", "ञ्ल", "ञ्व", "ञ्श", "ञ्ष", "ञ्स", "ञ्ह", "ञ्ळ", "ञ्क्ष", "ञ्ज्ञ",
"ट्क", "ट्ख", "ट्ग", "ट्घ", "ट्ङ", "ट्च", "ट्छ", "ट्ज", "ट्झ", "ट्ञ", "ट्ट", "ट्ठ", "ट्ड", "ट्ढ", "ट्ण", "ट्त", "ट्थ", "ट्द", "ट्ध", "ट्न", "ट्प", "ट्फ", "ट्ब", "ट्भ", "ट्म", "ट्य", "ट्र", "ट्ल", "ट्व", "ट्श", "ट्ष", "ट्स", "ट्ह", "ट्ळ", "ट्क्ष", "ट्ज्ञ",
"ठ्क", "ठ्ख", "ठ्ग", "ठ्घ", "ठ्ङ", "ठ्च", "ठ्छ", "ठ्ज", "ठ्झ", "ठ्ञ", "ठ्ट", "ठ्ठ", "ठ्ड", "ठ्ढ", "ठ्ण", "ठ्त", "ठ्थ", "ठ्द", "ठ्ध", "ठ्न", "ठ्प", "ठ्फ", "ठ्ब", "ठ्भ", "ठ्म", "ठ्य", "ठ्र", "ठ्ल", "ठ्व", "ठ्श", "ठ्ष", "ठ्स", "ठ्ह", "ठ्ळ", "ठ्क्ष", "ठ्ज्ञ",
"ड्क", "ड्ख", "ड्ग", "ड्घ", "ड्ङ", "ड्च", "ड्छ", "ड्ज", "ड्झ", "ड्ञ", "ड्ट", "ड्ठ", "ड्ड", "ड्ढ", "ड्ण", "ड्त", "ड्थ", "ड्द", "ड्ध", "ड्न", "ड्प", "ड्फ", "ड्ब", "ड्भ", "ड्म", "ड्य", "ड्र", "ड्ल", "ड्व", "ड्श", "ड्ष", "ड्स", "ड्ह", "ड्ळ", "ड्क्ष", "ड्ज्ञ",
"ढ्क", "ढ्ख", "ढ्ग", "ढ्घ", "ढ्ङ", "ढ्च", "ढ्छ", "ढ्ज", "ढ्झ", "ढ्ञ", "ढ्ट", "ढ्ठ", "ढ्ड", "ढ्ढ", "ढ्ण", "ढ्त", "ढ्थ", "ढ्द", "ढ्ध", "ढ्न", "ढ्प", "ढ्फ", "ढ्ब", "ढ्भ", "ढ्म", "ढ्य", "ढ्र", "ढ्ल", "ढ्व", "ढ्श", "ढ्ष", "ढ्स", "ढ्ह", "ढ्ळ", "ढ्क्ष", "ढ्ज्ञ",
"ण्क", "ण्ख", "ण्ग", "ण्घ", "ण्ङ", "ण्च", "ण्छ", "ण्ज", "ण्झ", "ण्ञ", "ण्ट", "ण्ठ", "ण्ड", "ण्ढ", "ण्ण", "ण्त", "ण्थ", "ण्द", "ण्ध", "ण्न", "ण्प", "ण्फ", "ण्ब", "ण्भ", "ण्म", "ण्य", "ण्र", "ण्ल", "ण्व", "ण्श", "ण्ष", "ण्स", "ण्ह", "ण्ळ", "ण्क्ष", "ण्ज्ञ",
"त्क", "त्ख", "त्ग", "त्घ", "त्ङ", "त्च", "त्छ", "त्ज", "त्झ", "त्ञ", "त्ट", "त्ठ", "त्ड", "त्ढ", "त्ण", "त्त", "त्थ", "त्द", "त्ध", "त्न", "त्प", "त्फ", "त्ब", "त्भ", "त्म", "त्य", "त्र", "त्ल", "त्व", "त्श", "त्ष", "त्स", "त्ह", "त्ळ", "त्क्ष", "त्ज्ञ",
"थ्क", "थ्ख", "थ्ग", "थ्घ", "थ्ङ", "थ्च", "थ्छ", "थ्ज", "थ्झ", "थ्ञ", "थ्ट", "थ्ठ", "थ्ड", "थ्ढ", "थ्ण", "थ्त", "थ्थ", "थ्द", "थ्ध", "थ्न", "थ्प", "थ्फ", "थ्ब", "थ्भ", "थ्म", "थ्य", "थ्र", "थ्ल", "थ्व", "थ्श", "थ्ष", "थ्स", "थ्ह", "थ्ळ", "थ्क्ष", "थ्ज्ञ",
"द्क", "द्ख", "द्ग", "द्घ", "द्ङ", "द्च", "द्छ", "द्ज", "द्झ", "द्ञ", "द्ट", "द्ठ", "द्ड", "द्ढ", "द्ण", "द्त", "द्थ", "द्द", "द्ध", "द्न", "द्प", "द्फ", "द्ब", "द्भ", "द्म", "द्य", "द्र", "द्ल", "द्व", "द्श", "द्ष", "द्स", "द्ह", "द्ळ", "द्क्ष", "द्ज्ञ",
"ध्क", "ध्ख", "ध्ग", "ध्घ", "ध्ङ", "ध्च", "ध्छ", "ध्ज", "ध्झ", "ध्ञ", "ध्ट", "ध्ठ", "ध्ड", "ध्ढ", "ध्ण", "ध्त", "ध्थ", "ध्द", "ध्ध", "ध्न", "ध्प", "ध्फ", "ध्ब", "ध्भ", "ध्म", "ध्य", "ध्र", "ध्ल", "ध्व", "ध्श", "ध्ष", "ध्स", "ध्ह", "ध्ळ", "ध्क्ष", "ध्ज्ञ",
"न्क", "न्ख", "न्ग", "न्घ", "न्ङ", "न्च", "न्छ", "न्ज", "न्झ", "न्ञ", "न्ट", "न्ठ", "न्ड", "न्ढ", "न्ण", "न्त", "न्थ", "न्द", "न्ध", "न्न", "न्प", "न्फ", "न्ब", "न्भ", "न्म", "न्य", "न्र", "न्ल", "न्व", "न्श", "न्ष", "न्स", "न्ह", "न्ळ", "न्क्ष", "न्ज्ञ",
"प्क", "प्ख", "प्ग", "प्घ", "प्ङ", "प्च", "प्छ", "प्ज", "प्झ", "प्ञ", "प्ट", "प्ठ", "प्ड", "प्ढ", "प्ण", "प्त", "प्थ", "प्द", "प्ध", "प्न", "प्प", "प्फ", "प्ब", "प्भ", "प्म", "प्य", "प्र", "प्ल", "प्व", "प्श", "प्ष", "प्स", "प्ह", "प्ळ", "प्क्ष", "प्ज्ञ",
"फ्क", "फ्ख", "फ्ग", "फ्घ", "फ्ङ", "फ्च", "फ्छ", "फ्ज", "फ्झ", "फ्ञ", "फ्ट", "फ्ठ", "फ्ड", "फ्ढ", "फ्ण", "फ्त", "फ्थ", "फ्द", "फ्ध", "फ्न", "फ्प", "फ्फ", "फ्ब", "फ्भ", "फ्म", "फ्य", "फ्र", "फ्ल", "फ्व", "फ्श", "फ्ष", "फ्स", "फ्ह", "फ्ळ", "फ्क्ष", "फ्ज्ञ",
"ब्क", "ब्ख", "ब्ग", "ब्घ", "ब्ङ", "ब्च", "ब्छ", "ब्ज", "ब्झ", "ब्ञ", "ब्ट", "ब्ठ", "ब्ड", "ब्ढ", "ब्ण", "ब्त", "ब्थ", "ब्द", "ब्ध", "ब्न", "ब्प", "ब्फ", "ब्ब", "ब्भ", "ब्म", "ब्य", "ब्र", "ब्ल", "ब्व", "ब्श", "ब्ष", "ब्स", "ब्ह", "ब्ळ", "ब्क्ष", "ब्ज्ञ",
"भ्क", "भ्ख", "भ्ग", "भ्घ", "भ्ङ", "भ्च", "भ्छ", "भ्ज", "भ्झ", "भ्ञ", "भ्ट", "भ्ठ", "भ्ड", "भ्ढ", "भ्ण", "भ्त", "भ्थ", "भ्द", "भ्ध", "भ्न", "भ्प", "भ्फ", "भ्ब", "भ्भ", "भ्म", "भ्य", "भ्र", "भ्ल", "भ्व", "भ्श", "भ्ष", "भ्स", "भ्ह", "भ्ळ", "भ्क्ष", "भ्ज्ञ",
"म्क", "म्ख", "म्ग", "म्घ", "म्ङ", "म्च", "म्छ", "म्ज", "म्झ", "म्ञ", "म्ट", "म्ठ", "म्ड", "म्ढ", "म्ण", "म्त", "म्थ", "म्द", "म्ध", "म्न", "म्प", "म्फ", "म्ब", "म्भ", "म्म", "म्य", "म्र", "म्ल", "म्व", "म्श", "म्ष", "म्स", "म्ह", "म्ळ", "म्क्ष", "म्ज्ञ",
"य्क", "य्ख", "य्ग", "य्घ", "य्ङ", "य्च", "य्छ", "य्ज", "य्झ", "य्ञ", "य्ट", "य्ठ", "य्ड", "य्ढ", "य्ण", "य्त", "य्थ", "य्द", "य्ध", "य्न", "य्प", "य्फ", "य्ब", "य्भ", "य्म", "य्य", "य्र", "य्ल", "य्व", "य्श", "य्ष", "य्स", "य्ह", "य्ळ", "य्क्ष", "य्ज्ञ",
"र्क", "र्ख", "र्ग", "र्घ", "र्ङ", "र्च", "र्छ", "र्ज", "र्झ", "र्ञ", "र्ट", "र्ठ", "र्ड", "र्ढ", "र्ण", "र्त", "र्थ", "र्द", "र्ध", "र्न", "र्प", "र्फ", "र्ब", "र्भ", "र्म", "र्य", "र्र", "र्ल", "र्व", "र्श", "र्ष", "र्स", "र्ह", "र्ळ", "र्क्ष", "र्ज्ञ",
"ल्क", "ल्ख", "ल्ग", "ल्घ", "ल्ङ", "ल्च", "ल्छ", "ल्ज", "ल्झ", "ल्ञ", "ल्ट", "ल्ठ", "ल्ड", "ल्ढ", "ल्ण", "ल्त", "ल्थ", "ल्द", "ल्ध", "ल्न", "ल्प", "ल्फ", "ल्ब", "ल्भ", "ल्म", "ल्य", "ल्र", "ल्ल", "ल्व", "ल्श", "ल्ष", "ल्स", "ल्ह", "ल्ळ", "ल्क्ष", "ल्ज्ञ",
"व्क", "व्ख", "व्ग", "व्घ", "व्ङ", "व्च", "व्छ", "व्ज", "व्झ", "व्ञ", "व्ट", "व्ठ", "व्ड", "व्ढ", "व्ण", "व्त", "व्थ", "व्द", "व्ध", "व्न", "व्प", "व्फ", "व्ब", "व्भ", "व्म", "व्य", "व्र", "व्ल", "व्व", "व्श", "व्ष", "व्स", "व्ह", "व्ळ", "व्क्ष", "व्ज्ञ",
"श्क", "श्ख", "श्ग", "श्घ", "श्ङ", "श्च", "श्छ", "श्ज", "श्झ", "श्ञ", "श्ट", "श्ठ", "श्ड", "श्ढ", "श्ण", "श्त", "श्थ", "श्द", "श्ध", "श्न", "श्प", "श्फ", "श्ब", "श्भ", "श्म", "श्य", "श्र", "श्ल", "श्व", "श्श", "श्ष", "श्स", "श्ह", "श्ळ", "श्क्ष", "श्ज्ञ",
"ष्क", "ष्ख", "ष्ग", "ष्घ", "ष्ङ", "ष्च", "ष्छ", "ष्ज", "ष्झ", "ष्ञ", "ष्ट", "ष्ठ", "ष्ड", "ष्ढ", "ष्ण", "ष्त", "ष्थ", "ष्द", "ष्ध", "ष्न", "ष्प", "ष्फ", "ष्ब", "ष्भ", "ष्म", "ष्य", "ष्र", "ष्ल", "ष्व", "ष्श", "ष्ष", "ष्स", "ष्ह", "ष्ळ", "ष्क्ष", "ष्ज्ञ",
"स्क", "स्ख", "स्ग", "स्घ", "स्ङ", "स्च", "स्छ", "स्ज", "स्झ", "स्ञ", "स्ट", "स्ठ", "स्ड", "स्ढ", "स्ण", "स्त", "स्थ", "स्द", "स्ध", "स्न", "स्प", "स्फ", "स्ब", "स्भ", "स्म", "स्य", "स्र", "स्ल", "स्व", "स्श", "स्ष", "स्स", "स्ह", "स्ळ", "स्क्ष", "स्ज्ञ",
"ह्क", "ह्ख", "ह्ग", "ह्घ", "ह्ङ", "ह्च", "ह्छ", "ह्ज", "ह्झ", "ह्ञ", "ह्ट", "ह्ठ", "ह्ड", "ह्ढ", "ह्ण", "ह्त", "ह्थ", "ह्द", "ह्ध", "ह्न", "ह्प", "ह्फ", "ह्ब", "ह्भ", "ह्म", "ह्य", "ह्र", "ह्ल", "ह्व", "ह्श", "ह्ष", "ह्स", "ह्ह", "ह्ळ", "ह्क्ष", "ह्ज्ञ",
"क्त्र", "क्त्व", "क्ष्ण", "क्ष्म", "क्ष्य", "क्ष्ण्य",
"ग्ध्र", "ग्न्य", "ग्र्य", "ग्य्न",
"ङ्क्त", "ङ्क्र", "ङ्क्ष", "ङ्क्ष्य",
"च्छ्य", "च्छ्र",
"ज्ज्य", "ज्ज्व",
"ण्ड्य", "ण्ड्र", "ण्ड्व",
"त्क्र", "त्क्व", "त्क्ष", "त्त्न", "त्त्र", "त्त्व", "त्प्र", "त्प्ल", "त्र्य", "त्स्न", "त्स्य", "त्स्व",
"द्ग्र", "द्द्य", "द्द्र", "द्ध्म", "द्ध्व", "द्ब्र", "द्व्य",
"न्त्य", "न्त्र", "न्द्ध", "न्द्र", "न्ध्य", "न्ध्र",
"प्त्र", "प्स्य",
"म्प्र", "म्क्ब्श",
"र्ग्य", "र्ग्र", "र्घ्य", "र्ङ्ग", "र्ज्य", "र्ढ्य", "र्ण्य", "र्त्त", "र्त्म", "र्त्य", "र्त्र", "र्त्स", "र्द्ध", "र्द्र", "र्द्व", "र्ध्म", "र्ध्र", "र्ध्व", "र्म्य", "र्स्व", "र्ष्ण", "र्ष्म", "र्ष्य", "र्त्त्र", "र्ष्ट्र",
"ष्क्र", "ष्क्व", "ष्ट्व", "ष्ठ्य", "ष्प्य", "ष्म्य",
"स्त्य", "स्त्र",
"व्य्व",
},
.combiners = {
u8"\u0901", // [ँ]
u8"\u0902", // [ं]
u8"\u0903", // [ः]
u8"\u093A", // [ऺ]
u8"\u093B", // [ऻ]
u8"\u093C", // [़]
u8"\u093D", // [ऽ]
u8"\u093E", // [ा]
u8"\u093F", // [ि]
u8"\u0940", // [ी]
u8"\u0941", // [ु]
u8"\u0942", // [ू]
u8"\u0943", // [ृ]
u8"\u0944", // [ॄ]
u8"\u0945", // [ॅ]
u8"\u0946", // [ॆ]
u8"\u0947", // [े]
u8"\u0948", // [ै]
u8"\u0949", // [ॉ]
u8"\u094A", // [ॊ]
u8"\u094B", // [ो]
u8"\u094C", // [ौ]
u8"\u094D", // [्]
u8"\u094E", // [ॎ]
u8"\u094F", // [ॏ]
u8"\u200C", // [zero-width non-joiner]
u8"\u200D", // [zero-width space]
},
.punctuations = {"-",},
.spaces = {" ", "\t", "\r", "\n", "।", "॥", ".", ",", "!", "?"},
}},
{"Italian", {
.name = "Italian",
.language = "it",
.script = LATIN,
.conversions = {},
.vowels = {"A", "E", "I", "O", "U", "Y"},
.consonants = {"B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z"},
.combiners = {},
.punctuations = {"-", "'",},
.spaces = {" ", "\t", "\r", "\n", ".", ",", "!", "?"},
}},
{"Marathi", {
.name = "Marathi",
.language = "mr",
.script = DEVANAGARI,
.conversions = {},
.vowels = {"अ", "आ", "इ", "ई", "उ", "ऊ", "ए", "ऐ", "ओ", "औ", "अं", "अः", "ॲ", "ॳ", "ॴ", "ॵ}", "ॐ", "ऑ", "ऒ ",},
.consonants = {
"क", "ख", "ग", "घ", "ङ", "च", "छ", "ज", "झ", "ञ", "ट", "ठ", "ड", "ढ", "ण", "त", "थ", "द", "ध", "न", "ऩ", "प", "फ", "ब", "भ", "म", "य", "र", "ल", "व", "श", "ष", "स", "ह", "ळ", "ऴ",
"क़", "ख़", "ग़", "ज़", "ड़", "ढ़", "फ़", "य़", "ॠ", "ॡ", "ॹ", "ॺ", "ॻ", "ॼ", "ॾ", "ॿ", "ऱ", "ऋ", "ऌ",
"क्क", "क्ख", "क्ग", "क्घ", "क्ङ", "क्च", "क्छ", "क्ज", "क्झ", "क्ञ", "क्ट", "क्ठ", "क्ड", "क्ढ", "क्ण", "क्त", "क्थ", "क्द", "क्ध", "क्न", "क्प", "क्फ", "क्ब", "क्भ", "क्म", "क्य", "क्र", "क्ल", "क्व", "क्श", "क्ष", "क्स", "क्ह", "क्ळ", "क्क्ष", "क्ज्ञ",
"ख्क", "ख्ख", "ख्ग", "ख्घ", "ख्ङ", "ख्च", "ख्छ", "ख्ज", "ख्झ", "ख्ञ", "ख्ट", "ख्ठ", "ख्ड", "ख्ढ", "ख्ण", "ख्त", "ख्थ", "ख्द", "ख्ध", "ख्न", "ख्प", "ख्फ", "ख्ब", "ख्भ", "ख्म", "ख्य", "ख्र", "ख्ल", "ख्व", "ख्श", "ख्ष", "ख्स", "ख्ह", "ख्ळ", "ख्क्ष", "ख्ज्ञ",
"ग्क", "ग्ख", "ग्ग", "ग्घ", "ग्ङ", "ग्च", "ग्छ", "ग्ज", "ग्झ", "ग्ञ", "ग्ट", "ग्ठ", "ग्ड", "ग्ढ", "ग्ण", "ग्त", "ग्थ", "ग्द", "ग्ध", "ग्न", "ग्प", "ग्फ", "ग्ब", "ग्भ", "ग्म", "ग्य", "ग्र", "ग्ल", "ग्व", "ग्श", "ग्ष", "ग्स", "ग्ह", "ग्ळ", "ग्क्ष", "ग्ज्ञ",
"घ्क", "घ्ख", "घ्ग", "घ्घ", "घ्ङ", "घ्च", "घ्छ", "घ्ज", "घ्झ", "घ्ञ", "घ्ट", "घ्ठ", "घ्ड", "घ्ढ", "घ्ण", "घ्त", "घ्थ", "घ्द", "घ्ध", "घ्न", "घ्प", "घ्फ", "घ्ब", "घ्भ", "घ्म", "घ्य", "घ्र", "घ्ल", "घ्व", "घ्श", "घ्ष", "घ्स", "घ्ह", "घ्ळ", "घ्क्ष", "घ्ज्ञ",
"ङ्क", "ङ्ख", "ङ्ग", "ङ्घ", "ङ्ङ", "ङ्च", "ङ्छ", "ङ्ज", "ङ्झ", "ङ्ञ", "ङ्ट", "ङ्ठ", "ङ्ड", "ङ्ढ", "ङ्ण", "ङ्त", "ङ्थ", "ङ्द", "ङ्ध", "ङ्न", "ङ्प", "ङ्फ", "ङ्ब", "ङ्भ", "ङ्म", "ङ्य", "ङ्र", "ङ्ल", "ङ्व", "ङ्श", "ङ्ष", "ङ्स", "ङ्ह", "ङ्ळ", "ङ्क्ष", "ङ्ज्ञ",
"च्क", "च्ख", "च्ग", "च्घ", "च्ङ", "च्च", "च्छ", "च्ज", "च्झ", "च्ञ", "च्ट", "च्ठ", "च्ड", "च्ढ", "च्ण", "च्त", "च्थ", "च्द", "च्ध", "च्न", "च्प", "च्फ", "च्ब", "च्भ", "च्म", "च्य", "च्र", "च्ल", "च्व", "च्श", "च्ष", "च्स", "च्ह", "च्ळ", "च्क्ष", "च्ज्ञ",
"छ्क", "छ्ख", "छ्ग", "छ्घ", "छ्ङ", "छ्च", "छ्छ", "छ्ज", "छ्झ", "छ्ञ", "छ्ट", "छ्ठ", "छ्ड", "छ्ढ", "छ्ण", "छ्त", "छ्थ", "छ्द", "छ्ध", "छ्न", "छ्प", "छ्फ", "छ्ब", "छ्भ", "छ्म", "छ्य", "छ्र", "छ्ल", "छ्व", "छ्श", "छ्ष", "छ्स", "छ्ह", "छ्ळ", "छ्क्ष", "छ्ज्ञ",
"ज्क", "ज्ख", "ज्ग", "ज्घ", "ज्ङ", "ज्च", "ज्छ", "ज्ज", "ज्झ", "ज्ञ", "ज्ट", "ज्ठ", "ज्ड", "ज्ढ", "ज्ण", "ज्त", "ज्थ", "ज्द", "ज्ध", "ज्न", "ज्प", "ज्फ", "ज्ब", "ज्भ", "ज्म", "ज्य", "ज्र", "ज्ल", "ज्व", "ज्श", "ज्ष", "ज्स", "ज्ह", "ज्ळ", "ज्क्ष", "ज्ज्ञ",
"झ्क", "झ्ख", "झ्ग", "झ्घ", "झ्ङ", "झ्च", "झ्छ", "झ्ज", "झ्झ", "झ्ञ", "झ्ट", "झ्ठ", "झ्ड", "झ्ढ", "झ्ण", "झ्त", "झ्थ", "झ्द", "झ्ध", "झ्न", "झ्प", "झ्फ", "झ्ब", "झ्भ", "झ्म", "झ्य", "झ्र", "झ्ल", "झ्व", "झ्श", "झ्ष", "झ्स", "झ्ह", "झ्ळ", "झ्क्ष", "झ्ज्ञ",
"ञ्क", "ञ्ख", "ञ्ग", "ञ्घ", "ञ्ङ", "ञ्च", "ञ्छ", "ञ्ज", "ञ्झ", "ञ्ञ", "ञ्ट", "ञ्ठ", "ञ्ड", "ञ्ढ", "ञ्ण", "ञ्त", "ञ्थ", "ञ्द", "ञ्ध", "ञ्न", "ञ्प", "ञ्फ", "ञ्ब", "ञ्भ", "ञ्म", "ञ्य", "ञ्र", "ञ्ल", "ञ्व", "ञ्श", "ञ्ष", "ञ्स", "ञ्ह", "ञ्ळ", "ञ्क्ष", "ञ्ज्ञ",
"ट्क", "ट्ख", "ट्ग", "ट्घ", "ट्ङ", "ट्च", "ट्छ", "ट्ज", "ट्झ", "ट्ञ", "ट्ट", "ट्ठ", "ट्ड", "ट्ढ", "ट्ण", "ट्त", "ट्थ", "ट्द", "ट्ध", "ट्न", "ट्प", "ट्फ", "ट्ब", "ट्भ", "ट्म", "ट्य", "ट्र", "ट्ल", "ट्व", "ट्श", "ट्ष", "ट्स", "ट्ह", "ट्ळ", "ट्क्ष", "ट्ज्ञ",
"ठ्क", "ठ्ख", "ठ्ग", "ठ्घ", "ठ्ङ", "ठ्च", "ठ्छ", "ठ्ज", "ठ्झ", "ठ्ञ", "ठ्ट", "ठ्ठ", "ठ्ड", "ठ्ढ", "ठ्ण", "ठ्त", "ठ्थ", "ठ्द", "ठ्ध", "ठ्न", "ठ्प", "ठ्फ", "ठ्ब", "ठ्भ", "ठ्म", "ठ्य", "ठ्र", "ठ्ल", "ठ्व", "ठ्श", "ठ्ष", "ठ्स", "ठ्ह", "ठ्ळ", "ठ्क्ष", "ठ्ज्ञ",
"ड्क", "ड्ख", "ड्ग", "ड्घ", "ड्ङ", "ड्च", "ड्छ", "ड्ज", "ड्झ", "ड्ञ", "ड्ट", "ड्ठ", "ड्ड", "ड्ढ", "ड्ण", "ड्त", "ड्थ", "ड्द", "ड्ध", "ड्न", "ड्प", "ड्फ", "ड्ब", "ड्भ", "ड्म", "ड्य", "ड्र", "ड्ल", "ड्व", "ड्श", "ड्ष", "ड्स", "ड्ह", "ड्ळ", "ड्क्ष", "ड्ज्ञ",
"ढ्क", "ढ्ख", "ढ्ग", "ढ्घ", "ढ्ङ", "ढ्च", "ढ्छ", "ढ्ज", "ढ्झ", "ढ्ञ", "ढ्ट", "ढ्ठ", "ढ्ड", "ढ्ढ", "ढ्ण", "ढ्त", "ढ्थ", "ढ्द", "ढ्ध", "ढ्न", "ढ्प", "ढ्फ", "ढ्ब", "ढ्भ", "ढ्म", "ढ्य", "ढ्र", "ढ्ल", "ढ्व", "ढ्श", "ढ्ष", "ढ्स", "ढ्ह", "ढ्ळ", "ढ्क्ष", "ढ्ज्ञ",
"ण्क", "ण्ख", "ण्ग", "ण्घ", "ण्ङ", "ण्च", "ण्छ", "ण्ज", "ण्झ", "ण्ञ", "ण्ट", "ण्ठ", "ण्ड", "ण्ढ", "ण्ण", "ण्त", "ण्थ", "ण्द", "ण्ध", "ण्न", "ण्प", "ण्फ", "ण्ब", "ण्भ", "ण्म", "ण्य", "ण्र", "ण्ल", "ण्व", "ण्श", "ण्ष", "ण्स", "ण्ह", "ण्ळ", "ण्क्ष", "ण्ज्ञ",
"त्क", "त्ख", "त्ग", "त्घ", "त्ङ", "त्च", "त्छ", "त्ज", "त्झ", "त्ञ", "त्ट", "त्ठ", "त्ड", "त्ढ", "त्ण", "त्त", "त्थ", "त्द", "त्ध", "त्न", "त्प", "त्फ", "त्ब", "त्भ", "त्म", "त्य", "त्र", "त्ल", "त्व", "त्श", "त्ष", "त्स", "त्ह", "त्ळ", "त्क्ष", "त्ज्ञ",
"थ्क", "थ्ख", "थ्ग", "थ्घ", "थ्ङ", "थ्च", "थ्छ", "थ्ज", "थ्झ", "थ्ञ", "थ्ट", "थ्ठ", "थ्ड", "थ्ढ", "थ्ण", "थ्त", "थ्थ", "थ्द", "थ्ध", "थ्न", "थ्प", "थ्फ", "थ्ब", "थ्भ", "थ्म", "थ्य", "थ्र", "थ्ल", "थ्व", "थ्श", "थ्ष", "थ्स", "थ्ह", "थ्ळ", "थ्क्ष", "थ्ज्ञ",
"द्क", "द्ख", "द्ग", "द्घ", "द्ङ", "द्च", "द्छ", "द्ज", "द्झ", "द्ञ", "द्ट", "द्ठ", "द्ड", "द्ढ", "द्ण", "द्त", "द्थ", "द्द", "द्ध", "द्न", "द्प", "द्फ", "द्ब", "द्भ", "द्म", "द्य", "द्र", "द्ल", "द्व", "द्श", "द्ष", "द्स", "द्ह", "द्ळ", "द्क्ष", "द्ज्ञ",
"ध्क", "ध्ख", "ध्ग", "ध्घ", "ध्ङ", "ध्च", "ध्छ", "ध्ज", "ध्झ", "ध्ञ", "ध्ट", "ध्ठ", "ध्ड", "ध्ढ", "ध्ण", "ध्त", "ध्थ", "ध्द", "ध्ध", "ध्न", "ध्प", "ध्फ", "ध्ब", "ध्भ", "ध्म", "ध्य", "ध्र", "ध्ल", "ध्व", "ध्श", "ध्ष", "ध्स", "ध्ह", "ध्ळ", "ध्क्ष", "ध्ज्ञ",
"न्क", "न्ख", "न्ग", "न्घ", "न्ङ", "न्च", "न्छ", "न्ज", "न्झ", "न्ञ", "न्ट", "न्ठ", "न्ड", "न्ढ", "न्ण", "न्त", "न्थ", "न्द", "न्ध", "न्न", "न्प", "न्फ", "न्ब", "न्भ", "न्म", "न्य", "न्र", "न्ल", "न्व", "न्श", "न्ष", "न्स", "न्ह", "न्ळ", "न्क्ष", "न्ज्ञ",
"प्क", "प्ख", "प्ग", "प्घ", "प्ङ", "प्च", "प्छ", "प्ज", "प्झ", "प्ञ", "प्ट", "प्ठ", "प्ड", "प्ढ", "प्ण", "प्त", "प्थ", "प्द", "प्ध", "प्न", "प्प", "प्फ", "प्ब", "प्भ", "प्म", "प्य", "प्र", "प्ल", "प्व", "प्श", "प्ष", "प्स", "प्ह", "प्ळ", "प्क्ष", "प्ज्ञ",
"फ्क", "फ्ख", "फ्ग", "फ्घ", "फ्ङ", "फ्च", "फ्छ", "फ्ज", "फ्झ", "फ्ञ", "फ्ट", "फ्ठ", "फ्ड", "फ्ढ", "फ्ण", "फ्त", "फ्थ", "फ्द", "फ्ध", "फ्न", "फ्प", "फ्फ", "फ्ब", "फ्भ", "फ्म", "फ्य", "फ्र", "फ्ल", "फ्व", "फ्श", "फ्ष", "फ्स", "फ्ह", "फ्ळ", "फ्क्ष", "फ्ज्ञ",
"ब्क", "ब्ख", "ब्ग", "ब्घ", "ब्ङ", "ब्च", "ब्छ", "ब्ज", "ब्झ", "ब्ञ", "ब्ट", "ब्ठ", "ब्ड", "ब्ढ", "ब्ण", "ब्त", "ब्थ", "ब्द", "ब्ध", "ब्न", "ब्प", "ब्फ", "ब्ब", "ब्भ", "ब्म", "ब्य", "ब्र", "ब्ल", "ब्व", "ब्श", "ब्ष", "ब्स", "ब्ह", "ब्ळ", "ब्क्ष", "ब्ज्ञ",
"भ्क", "भ्ख", "भ्ग", "भ्घ", "भ्ङ", "भ्च", "भ्छ", "भ्ज", "भ्झ", "भ्ञ", "भ्ट", "भ्ठ", "भ्ड", "भ्ढ", "भ्ण", "भ्त", "भ्थ", "भ्द", "भ्ध", "भ्न", "भ्प", "भ्फ", "भ्ब", "भ्भ", "भ्म", "भ्य", "भ्र", "भ्ल", "भ्व", "भ्श", "भ्ष", "भ्स", "भ्ह", "भ्ळ", "भ्क्ष", "भ्ज्ञ",
"म्क", "म्ख", "म्ग", "म्घ", "म्ङ", "म्च", "म्छ", "म्ज", "म्झ", "म्ञ", "म्ट", "म्ठ", "म्ड", "म्ढ", "म्ण", "म्त", "म्थ", "म्द", "म्ध", "म्न", "म्प", "म्फ", "म्ब", "म्भ", "म्म", "म्य", "म्र", "म्ल", "म्व", "म्श", "म्ष", "म्स", "म्ह", "म्ळ", "म्क्ष", "म्ज्ञ",
"य्क", "य्ख", "य्ग", "य्घ", "य्ङ", "य्च", "य्छ", "य्ज", "य्झ", "य्ञ", "य्ट", "य्ठ", "य्ड", "य्ढ", "य्ण", "य्त", "य्थ", "य्द", "य्ध", "य्न", "य्प", "य्फ", "य्ब", "य्भ", "य्म", "य्य", "य्र", "य्ल", "य्व", "य्श", "य्ष", "य्स", "य्ह", "य्ळ", "य्क्ष", "य्ज्ञ",
"र्क", "र्ख", "र्ग", "र्घ", "र्ङ", "र्च", "र्छ", "र्ज", "र्झ", "र्ञ", "र्ट", "र्ठ", "र्ड", "र्ढ", "र्ण", "र्त", "र्थ", "र्द", "र्ध", "र्न", "र्प", "र्फ", "र्ब", "र्भ", "र्म", "र्य", "र्र", "र्ल", "र्व", "र्श", "र्ष", "र्स", "र्ह", "र्ळ", "र्क्ष", "र्ज्ञ",
"ल्क", "ल्ख", "ल्ग", "ल्घ", "ल्ङ", "ल्च", "ल्छ", "ल्ज", "ल्झ", "ल्ञ", "ल्ट", "ल्ठ", "ल्ड", "ल्ढ", "ल्ण", "ल्त", "ल्थ", "ल्द", "ल्ध", "ल्न", "ल्प", "ल्फ", "ल्ब", "ल्भ", "ल्म", "ल्य", "ल्र", "ल्ल", "ल्व", "ल्श", "ल्ष", "ल्स", "ल्ह", "ल्ळ", "ल्क्ष", "ल्ज्ञ",
"व्क", "व्ख", "व्ग", "व्घ", "व्ङ", "व्च", "व्छ", "व्ज", "व्झ", "व्ञ", "व्ट", "व्ठ", "व्ड", "व्ढ", "व्ण", "व्त", "व्थ", "व्द", "व्ध", "व्न", "व्प", "व्फ", "व्ब", "व्भ", "व्म", "व्य", "व्र", "व्ल", "व्व", "व्श", "व्ष", "व्स", "व्ह", "व्ळ", "व्क्ष", "व्ज्ञ",
"श्क", "श्ख", "श्ग", "श्घ", "श्ङ", "श्च", "श्छ", "श्ज", "श्झ", "श्ञ", "श्ट", "श्ठ", "श्ड", "श्ढ", "श्ण", "श्त", "श्थ", "श्द", "श्ध", "श्न", "श्प", "श्फ", "श्ब", "श्भ", "श्म", "श्य", "श्र", "श्ल", "श्व", "श्श", "श्ष", "श्स", "श्ह", "श्ळ", "श्क्ष", "श्ज्ञ",
"ष्क", "ष्ख", "ष्ग", "ष्घ", "ष्ङ", "ष्च", "ष्छ", "ष्ज", "ष्झ", "ष्ञ", "ष्ट", "ष्ठ", "ष्ड", "ष्ढ", "ष्ण", "ष्त", "ष्थ", "ष्द", "ष्ध", "ष्न", "ष्प", "ष्फ", "ष्ब", "ष्भ", "ष्म", "ष्य", "ष्र", "ष्ल", "ष्व", "ष्श", "ष्ष", "ष्स", "ष्ह", "ष्ळ", "ष्क्ष", "ष्ज्ञ",
"स्क", "स्ख", "स्ग", "स्घ", "स्ङ", "स्च", "स्छ", "स्ज", "स्झ", "स्ञ", "स्ट", "स्ठ", "स्ड", "स्ढ", "स्ण", "स्त", "स्थ", "स्द", "स्ध", "स्न", "स्प", "स्फ", "स्ब", "स्भ", "स्म", "स्य", "स्र", "स्ल", "स्व", "स्श", "स्ष", "स्स", "स्ह", "स्ळ", "स्क्ष", "स्ज्ञ",
"ह्क", "ह्ख", "ह्ग", "ह्घ", "ह्ङ", "ह्च", "ह्छ", "ह्ज", "ह्झ", "ह्ञ", "ह्ट", "ह्ठ", "ह्ड", "ह्ढ", "ह्ण", "ह्त", "ह्थ", "ह्द", "ह्ध", "ह्न", "ह्प", "ह्फ", "ह्ब", "ह्भ", "ह्म", "ह्य", "ह्र", "ह्ल", "ह्व", "ह्श", "ह्ष", "ह्स", "ह्ह", "ह्ळ", "ह्क्ष", "ह्ज्ञ",
"ळ्क", "ळ्ख", "ळ्ग", "ळ्घ", "ळ्ङ", "ळ्च", "ळ्छ", "ळ्ज", "ळ्झ", "ळ्ञ", "ळ्ट", "ळ्ठ", "ळ्ड", "ळ्ढ", "ळ्ण", "ळ्त", "ळ्थ", "ळ्द", "ळ्ध", "ळ्न", "ळ्प", "ळ्फ", "ळ्ब", "ळ्भ", "ळ्म", "ळ्य", "ळ्र", "ळ्ल", "ळ्व", "ळ्श", "ळ्ष", "ळ्स", "ळ्ह", "ळ्ळ", "ळ्क्ष", "ळ्ज्ञ",
"क्त्र", "क्त्व", "क्ष्ण", "क्ष्म", "क्ष्य", "क्ष्ण्य",
"ग्ध्र", "ग्न्य", "ग्र्य", "ग्य्न",
"ङ्क्त", "ङ्क्र", "ङ्क्ष", "ङ्क्ष्य",
"च्छ्य", "च्छ्र",
"ज्ज्य", "ज्ज्व",
"ण्ड्य", "ण्ड्र", "ण्ड्व",
"त्क्र", "त्क्व", "त्क्ष", "त्त्न", "त्त्र", "त्त्व", "त्प्र", "त्प्ल", "त्र्य", "त्स्न", "त्स्य", "त्स्व",
"द्ग्र", "द्द्य", "द्द्र", "द्ध्म", "द्ध्व", "द्ब्र", "द्व्य",
"न्त्य", "न्त्र", "न्द्ध", "न्द्र", "न्ध्य", "न्ध्र",
"प्त्र", "प्स्य",
"म्प्र", "म्क्ब्श",
"र्ग्य", "र्ग्र", "र्घ्य", "र्ङ्ग", "र्ज्य", "र्ढ्य", "र्ण्य", "र्त्त", "र्त्म", "र्त्य", "र्त्र", "र्त्स", "र्द्ध", "र्द्र", "र्द्व", "र्ध्म", "र्ध्र", "र्ध्व", "र्म्य", "र्स्व", "र्ष्ण", "र्ष्म", "र्ष्य", "र्त्त्र", "र्ष्ट्र",
"ष्क्र", "ष्क्व", "ष्ट्व", "ष्ठ्य", "ष्प्य", "ष्म्य",
"स्त्य", "स्त्र",
"व्य्व",
},
.combiners = {
u8"\u0901", // [ँ]
u8"\u0902", // [ं]
u8"\u0903", // [ः]
u8"\u093A", // [ऺ]
u8"\u093B", // [ऻ]
u8"\u093C", // [़]
u8"\u093D", // [ऽ]
u8"\u093E", // [ा]
u8"\u093F", // [ि]
u8"\u0940", // [ी]
u8"\u0941", // [ु]
u8"\u0942", // [ू]
u8"\u0943", // [ृ]
u8"\u0944", // [ॄ]
u8"\u0945", // [ॅ]
u8"\u0946", // [ॆ]
u8"\u0947", // [े]
u8"\u0948", // [ै]
u8"\u0949", // [ॉ]
u8"\u094A", // [ॊ]
u8"\u094B", // [ो]
u8"\u094C", // [ौ]
u8"\u094D", // [्]
u8"\u094E", // [ॎ]
u8"\u094F", // [ॏ]
u8"\u200C", // [zero-width non-joiner]
u8"\u200D", // [zero-width space]
},
.punctuations = {"-",},
.spaces = {" ", "\t", "\r", "\n", "।", "॥", ".", ",", "!", "?"},
}},
{"Phonetics", {
.name = "Phonetics",
.language = "ipa-arpabet",
.script = ALL,
.conversions = {},
.vowels = {
/** ARPAbet */
"AA", "AE", "AH", "AO", "AW", "AX", "AXR", "AY", "EH", "ER", "EY", "IH", "IX", "IY", "OW", "OY", "UH", "UW", "UX",
/** IPA */
"i", "y", "ɨ", "ʉ", "ɯ", "u", "ɪ", "ʏ", "ʊ", "e", "ø", "ɘ", "ɵ", "ɤ", "o", "e̞", "ø̞", "ə", "ɤ̞", "o̞", "ɛ", "œ", "ɜ", "ɞ", "ʌ", "ɔ", "æ", "ɐ", "a", "ɶ", "ä", "ɑ", "ɒ", "ᴔ",
},
.consonants = {
/** ARPAbet */
"B", "CH", "D", "DH", "DX", "EL", "EM", "EN", "F", "G", "HH", "H", "JH", "K", "L", "M", "N", "NX", "NG", "P", "Q", "R", "S", "SH", "T", "TH", "V", "W", "WH", "Y", "Z", "ZH",
/** IPA */
"m̥", "m", "ɱ", "n̼", "n̥", "n", "ɳ̊", "ɳ", "ɲ̊", "ɲ", "ŋ̊", "ŋ", "ɴ",
"p", "b", "p̪", "b̪", "t̼", "d̼", "t", "d", "ʈ", "ɖ", "c", "ɟ", "k", "ɡ", "q", "ɢ", "ʡ", "ʔ",
"ts", "dz", "t̠ʃ", "d̠ʒ", "tʂ", "dʐ", "tɕ", "dʑ",
"pɸ", "bβ", "p̪f", "b̪v", "t̪θ", "d̪ð", "tɹ̝̊", "dɹ̝", "t̠ɹ̠̊˔", "d̠ɹ̠˔", "cç", "ɟʝ", "kx", "ɡɣ", "qχ", "ɢʁ", "ʡʜ", "ʡʢ", "ʔh",
"s", "z", "ʃ", "ʒ", "ʂ", "ȿ", "ʐ", "ɕ", "ʑ",
"ɸ", "β", "f", "v", "θ̼", "ð̼", "θ", "ð", "θ̠", "ð̠", "ɹ̠̊˔", "ɹ̠˔", "ɻ̊˔", "ɻ˔", "ç", "ʝ", "x", "ɣ", "χ", "ʁ", "ħ", "ʕ", "h", "ɦ",
"ʋ", "ɹ", "ɻ", "j", "ɰ", "ʔ̞",
"ⱱ̟", "ⱱ", "ɾ̼", "ɾ̥", "ɾ", "ɽ̊", "ɽ", "ɢ̆", "ʡ̆",
"ʙ̥", "ʙ", "r̥", "r", "ɽ̊r̥", "ɽr", "ʀ̥", "ʀ", "ʜ", "ʢ",
"tɬ", "dɮ", "tꞎ", "d𝼅", "c𝼆", "ɟʎ̝", "k𝼄", "ɡʟ̝",
"ɬ", "ɮ", "ꞎ", "𝼅", "𝼆", "ʎ̝", "𝼄", "ʟ̝",
"l", "ɭ", "ʎ", "ʟ", "ʟ̠",
"ɺ̥", "ɺ", "𝼈̥", "𝼈", "ʎ̆", "ʟ̆",
"pʼ", "tʼ", "ʈʼ", "cʼ", "kʼ", "qʼ", "ʡʼ",
"t̪θʼ", "tsʼ", "t̠ʃʼ", "tʂʼ", "kxʼ", "qχʼ",
"ɸʼ", "fʼ", "θʼ", "sʼ", "ʃʼ", "ʂʼ", "ɕʼ", "xʼ", "χʼ",
"tɬʼ", "c𝼆ʼ", "k𝼄ʼ",
"ɬʼ", "kʘ", "qʘ", "kǀ", "qǀ", "kǃ", "qǃ", "k𝼊", "q𝼊", "kǂ", "qǂ", "ɡʘ", "ɢʘ", "ɡǀ", "ɢǀ", "ɡǃ", "ɢǃ", "ɡ𝼊", "ɢ𝼊", "ɡǂ", "ɢǂ", "ŋʘ", "ɴʘ", "ŋǀ", "ɴǀ", "ŋǃ", "ɴǃ", "ŋ𝼊",
"ɴ𝼊", "ŋǂ", "ɴǂ", "ʞ", "kǁ", "qǁ", "ɡǁ", "ɢǁ", "ŋǁ", "ɴǁ", "ɓ", "ɗ", "ᶑ", "ʄ", "ɠ", "ʛ", "ɓ̥", "ɗ̥", "ᶑ̊", "ʄ̊", "ɠ̊", "ʛ̥", "n͡m", "ŋ͡m", "t͡pd͡b", "k͡pɡ͡b", "q͡ʡ", "ɥ̊ɥ", "ʍw", "ɧ",
"ɫ", "j̃", "w̃", "h̃", "t̪ʙ̥", "h̪͆",
"x̣", "X",
},
.combiners = {},
.punctuations = {},
.spaces = {" ", "\t", "\r", "\n"},
}},
{"Portuguese", {
.name = "Portuguese",
.language = "pt",
.script = LATIN,
.conversions = {},
.vowels = {"A", "E", "I", "O", "U", "Y"},
.consonants = {"B", "C", "Ç", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z"},
.combiners = {},
.punctuations = {"-", "'",},
.spaces = {" ", "\t", "\r", "\n", ".", ",", "!", "?"},
}},
{"Spanish", {
.name = "Spanish",
.language = "es",
.script = LATIN,
.conversions = {},
.vowels = {"A", "E", "I", "O", "U", "Y"},
.consonants = {"B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "Ñ", "P", "Q", "R", "S", "T", "V", "W", "X", "Z"},
.combiners = {},
.punctuations = {"-", "'",},
.spaces = {" ", "\t", "\r", "\n", ".", ",", "!", "?", "¿", "¡"},
}},
};
} // namespace lufz
#endif // LUFZ_UTIL_CONFIGS_H_