Krita Source Code Documentation
Loading...
Searching...
No Matches
KoWritingSystemUtils.cpp File Reference
#include "KoWritingSystemUtils.h"
#include <QRegExp>
#include <QDebug>

Go to the source code of this file.

Variables

const QMap< QString, QString > grandFathered
 
static QMap< QChar::Script, QString > QCHAR_SCRIPT_MAP
 
static QMap< QLocale::Script, QString > QLOCALE_SCRIPT_MAP
 
static QMap< QFontDatabase::WritingSystem, QString > WRITINGSYSTEM_SCRIPT_MAP
 

Variable Documentation

◆ grandFathered

const QMap<QString, QString> grandFathered
Initial value:
= {
{"art-lojban", "jbo"},
{"cel-gaulish", "xcg"},
{"en-GB-oed", "en-GB-oxendict"},
{"i-ami", "ami"},
{"i-default", ""},
{"i-enochian", "i-enochian"},
{"i-hak", "hak"},
{"i-lux", "lb"},
{"i-mingo", "i-mingo"},
{"i-navajo", "nv"},
{"i-pwn", "pwn"},
{"i-tao", "tao"},
{"i-tay", "tay"},
{"i-tsu", "tsu"},
{"no-bok", "nb"},
{"no-nyn", "nn"},
{"sgn-BE-FR", "sfb"},
{"sgn-BE-NL", "vgt"},
{"sgn-CH-DE", "sgg"},
{"zh-guoyu", "cmn"},
{"zh-hakka", "hak"},
{"zh-min", "cdo"},
{"zh-min-nan", "nan"},
{"zh-xiang", "hsn"},
}

Definition at line 417 of file KoWritingSystemUtils.cpp.

417 {
418 {"art-lojban", "jbo"},
419 {"cel-gaulish", "xcg"}, // could also be xga or xtg
420 {"en-GB-oed", "en-GB-oxendict"},
421 {"i-ami", "ami"},
422 {"i-default", ""},
423 {"i-enochian", "i-enochian"},
424 {"i-hak", "hak"},
425 {"i-lux", "lb"},
426 {"i-mingo", "i-mingo"},
427 {"i-navajo", "nv"},
428 {"i-pwn", "pwn"},
429 {"i-tao", "tao"},
430 {"i-tay", "tay"},
431 {"i-tsu", "tsu"},
432 {"no-bok", "nb"},
433 {"no-nyn", "nn"},
434 {"sgn-BE-FR", "sfb"},
435 {"sgn-BE-NL", "vgt"},
436 {"sgn-CH-DE", "sgg"},
437 {"zh-guoyu", "cmn"},
438 {"zh-hakka", "hak"},
439 {"zh-min", "cdo"}, // This one could also be cpx, czo, mnp, or nan
440 {"zh-min-nan", "nan"},
441 {"zh-xiang", "hsn"},
442};

◆ QCHAR_SCRIPT_MAP

QMap<QChar::Script, QString> QCHAR_SCRIPT_MAP
static

Definition at line 189 of file KoWritingSystemUtils.cpp.

189 {
190 {{QChar::Script_Latin},{"Latn"}},
191 {{QChar::Script_Greek},{"Grek"}},
192 {{QChar::Script_Cyrillic},{"Cyrl"}},
193 {{QChar::Script_Armenian},{"Armn"}},
194 {{QChar::Script_Hebrew},{"Hebr"}},
195 {{QChar::Script_Arabic},{"Arab"}},
196 {{QChar::Script_Syriac},{"Syrc"}},
197 {{QChar::Script_Thaana},{"Thaa"}},
198 {{QChar::Script_Devanagari},{"Deva"}},
199 {{QChar::Script_Bengali},{"Beng"}},
200 {{QChar::Script_Gurmukhi},{"Guru"}},
201 {{QChar::Script_Gujarati},{"Gujr"}},
202 {{QChar::Script_Oriya},{"Orya"}},
203 {{QChar::Script_Tamil},{"Taml"}},
204 {{QChar::Script_Telugu},{"Telu"}},
205 {{QChar::Script_Kannada},{"Knda"}},
206 {{QChar::Script_Malayalam},{"Mylm"}},
207 {{QChar::Script_Sinhala},{"Sinh"}},
208 {{QChar::Script_Thai},{"Thai"}},
209 {{QChar::Script_Lao},{"Laoo"}},
210 {{QChar::Script_Tibetan},{"Tibt"}},
211 {{QChar::Script_Myanmar},{"Mymr"}},
212 {{QChar::Script_Georgian},{"Geor"}},
213 {{QChar::Script_Khmer},{"Khmr"}},
214 {{QChar::Script_Ogham},{"Ogam"}},
215 {{QChar::Script_Runic},{"Runr"}},
216 {{QChar::Script_Nko},{"Nkoo"}},
217
218 {{QChar::Script_Deseret},{"Dsrt"}},
219 {{QChar::Script_Mongolian},{"Mong"}},
220 {{QChar::Script_Tifinagh},{"Tfng"}},
221 {{QChar::Script_Cherokee},{"Cher"}},
222 {{QChar::Script_Ethiopic},{"Ethi"}},
223 {{QChar::Script_Yi},{"Yiii"}},
224 {{QChar::Script_Vai},{"Vaii"}},
225 {{QChar::Script_Avestan},{"Avst"}},
226 {{QChar::Script_Balinese},{"Bali"}},
227 {{QChar::Script_Bamum},{"Bamu"}},
228 {{QChar::Script_Bopomofo},{"Bopo"}},
229 {{QChar::Script_Brahmi},{"Brah"}},
230 {{QChar::Script_Buginese},{"Bugi"}},
231 {{QChar::Script_Buhid},{"Buhd"}},
232 {{QChar::Script_CanadianAboriginal},{"Cans"}},
233 {{QChar::Script_Carian},{"Cari"}},
234 {{QChar::Script_Chakma},{"Cakm"}},
235 {{QChar::Script_Cham},{"Cham"}},
236 {{QChar::Script_Coptic},{"Copt"}},
237 {{QChar::Script_Cypriot},{"Cprt"}},
238 {{QChar::Script_EgyptianHieroglyphs},{"Egyp"}},
239 {{QChar::Script_Lisu},{"Lisu"}},
240 {{QChar::Script_Glagolitic},{"Glag"}},
241 {{QChar::Script_Gothic},{"Goth"}},
242 {{QChar::Script_Han},{"Hani"}},
243 {{QChar::Script_Hangul},{"Hang"}},
244 {{QChar::Script_Hanunoo},{"Hano"}},
245 {{QChar::Script_ImperialAramaic},{"Armi"}},
246 {{QChar::Script_InscriptionalPahlavi},{"Phli"}},
247 {{QChar::Script_InscriptionalParthian},{"Prti"}},
248 {{QChar::Script_Javanese},{"Java"}},
249 {{QChar::Script_Kaithi},{"Kthi"}},
250 {{QChar::Script_Katakana},{"Kana"}},
251 {{QChar::Script_KayahLi},{"Kali"}},
252 {{QChar::Script_Kharoshthi},{"Khar"}},
253 {{QChar::Script_TaiTham}, {"Lana"}},
254 {{QChar::Script_Lepcha},{"Lepc"}},
255 {{QChar::Script_Limbu},{"Limb"}},
256 {{QChar::Script_LinearB},{"Linb"}},
257 {{QChar::Script_Lycian},{"Lyci"}},
258 {{QChar::Script_Lydian},{"Lydi"}},
259 {{QChar::Script_Mandaic},{"Mand"}},
260 {{QChar::Script_MeeteiMayek},{"Mtei"}},
261 {{QChar::Script_MeroiticHieroglyphs},{"Mero"}},
262 {{QChar::Script_MeroiticCursive},{"Merc"}},
263 {{QChar::Script_NewTaiLue},{"Talu"}},
264 {{QChar::Script_OlChiki},{"Olck"}},
265 {{QChar::Script_OldItalic},{"Ital"}},
266 {{QChar::Script_OldPersian},{"Xpeo"}},
267 {{QChar::Script_OldSouthArabian},{"Sarb"}},
268 {{QChar::Script_OldTurkic},{"Orkh"}},
269 {{QChar::Script_Osmanya},{"Osma"}},
270 {{QChar::Script_PhagsPa},{"Phag"}},
271 {{QChar::Script_Phoenician},{"Phnx"}},
272 {{QChar::Script_Miao},{"Plrd"}},
273 {{QChar::Script_Rejang},{"Rjng"}},
274 {{QChar::Script_Samaritan},{"Samr"}},
275 {{QChar::Script_Saurashtra},{"Saur"}},
276 {{QChar::Script_Sharada},{"Shrd"}},
277 {{QChar::Script_Shavian},{"Shaw"}},
278 {{QChar::Script_SoraSompeng},{"Sora"}},
279 {{QChar::Script_Cuneiform},{"Xsux"}},
280 {{QChar::Script_Sundanese},{"Sund"}},
281 {{QChar::Script_SylotiNagri},{"Sylo"}},
282 {{QChar::Script_Tagalog},{"Tglg"}},
283 {{QChar::Script_Tagbanwa},{"Tagb"}},
284 {{QChar::Script_TaiLe},{"Tale"}},
285 {{QChar::Script_TaiViet},{"Tavt"}},
286 {{QChar::Script_Takri},{"Takr"}},
287 {{QChar::Script_Ugaritic},{"Ugar"}},
288 {{QChar::Script_Braille},{"Brai"}},
289 {{QChar::Script_Hiragana},{"Hira"}},
290 {{QChar::Script_CaucasianAlbanian},{"Aghb"}},
291 {{QChar::Script_BassaVah},{"Bass"}},
292 {{QChar::Script_Duployan},{"Dupl"}},
293 {{QChar::Script_Elbasan},{"Elba"}},
294 {{QChar::Script_Grantha},{"Gran"}},
295 {{QChar::Script_PahawhHmong},{"Hmng"}},
296 {{QChar::Script_Khojki},{"Khoi"}},
297 {{QChar::Script_LinearA},{"Lina"}},
298 {{QChar::Script_Mahajani},{"Mahj"}},
299 {{QChar::Script_Manichaean},{"Mani"}},
300 {{QChar::Script_MendeKikakui},{"Mend"}},
301 {{QChar::Script_Modi},{"Modi"}},
302 {{QChar::Script_Mro},{"Mroo"}},
303 {{QChar::Script_OldNorthArabian},{"Narb"}},
304 {{QChar::Script_Nabataean},{"Nbat"}},
305 {{QChar::Script_Palmyrene},{"Palm"}},
306 {{QChar::Script_PauCinHau},{"Pauc"}},
307 {{QChar::Script_PsalterPahlavi},{"Phlp"}},
308 {{QChar::Script_Khudawadi},{"Sind"}},
309 {{QChar::Script_Tirhuta},{"Tirh"}},
310 {{QChar::Script_WarangCiti},{"Wara"}},
311 {{QChar::Script_Ahom},{"Ahom"}},
312 {{QChar::Script_AnatolianHieroglyphs},{"Hluw"}},
313 {{QChar::Script_Hatran},{"Hatr"}},
314 {{QChar::Script_Multani},{"Mult"}},
315 {{QChar::Script_OldHungarian},{"Hung"}},
316 {{QChar::Script_SignWriting},{"Sgnw"}},
317 {{QChar::Script_Adlam},{"Adlm"}},
318 {{QChar::Script_Bhaiksuki},{"Bhks"}},
319 {{QChar::Script_Batak},{"Batk"}},
320 {{QChar::Script_Marchen},{"Marc"}},
321 {{QChar::Script_Newa},{"Newa"}},
322 {{QChar::Script_Osage},{"Osge"}},
323 {{QChar::Script_Tangut},{"Tang"}},
324
325 {{QChar::Script_MasaramGondi},{"Gonm"}},
326 {{QChar::Script_Nushu},{"Nshu"}},
327 {{QChar::Script_Soyombo},{"Soyo"}},
328 {{QChar::Script_ZanabazarSquare},{"Zanb"}},
329
330 {{QChar::Script_Dogra},{"Dogr"}},
331 {{QChar::Script_GunjalaGondi},{"Gong"}},
332 {{QChar::Script_HanifiRohingya},{"Rogh"}},
333 {{QChar::Script_Makasar},{"Maka"}},
334 {{QChar::Script_Medefaidrin},{"Medf"}},
335 {{QChar::Script_OldSogdian},{"Sogo"}},
336 {{QChar::Script_Sogdian},{"Sogd"}},
337 {{QChar::Script_Elymaic},{"Elym"}},
338 {{QChar::Script_Nandinagari},{"Nand"}},
339 {{QChar::Script_NyiakengPuachueHmong},{"Hmnp"}},
340 {{QChar::Script_Wancho},{"Wcho"}},
341
342 {{QChar::Script_Chorasmian},{"Chrs"}},
343 {{QChar::Script_DivesAkuru},{"Diak"}},
344 {{QChar::Script_KhitanSmallScript},{"Kits"}},
345 {{QChar::Script_Yezidi},{"Yezi"}},
346};

◆ QLOCALE_SCRIPT_MAP

QMap<QLocale::Script, QString> QLOCALE_SCRIPT_MAP
static

Definition at line 46 of file KoWritingSystemUtils.cpp.

46 {
47 {{QLocale::LatinScript},{"Latn"}},
48 {{QLocale::GreekScript},{"Grek"}},
49 {{QLocale::CyrillicScript},{"Cyrl"}},
50 {{QLocale::ArmenianScript},{"Armn"}},
51 {{QLocale::HebrewScript},{"Hebr"}},
52 {{QLocale::ArabicScript},{"Arab"}},
53 {{QLocale::SyriacScript},{"Syrc"}},
54 {{QLocale::ThaanaScript},{"Thaa"}},
55 {{QLocale::DevanagariScript},{"Deva"}},
56 {{QLocale::BengaliScript},{"Beng"}},
57 {{QLocale::GurmukhiScript},{"Guru"}},
58 {{QLocale::GujaratiScript},{"Gujr"}},
59 {{QLocale::OriyaScript},{"Orya"}},
60 {{QLocale::TamilScript},{"Taml"}},
61 {{QLocale::TeluguScript},{"Telu"}},
62 {{QLocale::KannadaScript},{"Knda"}},
63 {{QLocale::MalayalamScript},{"Mylm"}},
64 {{QLocale::SinhalaScript},{"Sinh"}},
65 {{QLocale::ThaiScript},{"Thai"}},
66 {{QLocale::LaoScript},{"Laoo"}},
67 {{QLocale::TibetanScript},{"Tibt"}},
68 {{QLocale::MyanmarScript},{"Mymr"}},
69 {{QLocale::GeorgianScript},{"Geor"}},
70 {{QLocale::KhmerScript},{"Khmr"}},
71 {{QLocale::SimplifiedChineseScript},{"Hans"}},
72 {{QLocale::TraditionalChineseScript},{"Hant"}},
73 {{QLocale::JapaneseScript},{"Jpan"}},
74 {{QLocale::KoreanScript},{"Kore"}},
75 {{QLocale::OghamScript},{"Ogam"}},
76 {{QLocale::RunicScript},{"Runr"}},
77 {{QLocale::NkoScript},{"Nkoo"}},
78
79 {{QLocale::DeseretScript},{"Dsrt"}},
80 {{QLocale::MongolianScript},{"Mong"}},
81 {{QLocale::TifinaghScript},{"Tfng"}},
82 {{QLocale::CherokeeScript},{"Cher"}},
83 {{QLocale::EthiopicScript},{"Ethi"}},
84 {{QLocale::YiScript},{"Yiii"}},
85 {{QLocale::VaiScript},{"Vaii"}},
86 {{QLocale::AvestanScript},{"Avst"}},
87 {{QLocale::BalineseScript},{"Bali"}},
88 {{QLocale::BamumScript},{"Bamu"}},
89 {{QLocale::BopomofoScript},{"Bopo"}},
90 {{QLocale::BrahmiScript},{"Brah"}},
91 {{QLocale::BugineseScript},{"Bugi"}},
92 {{QLocale::BuhidScript},{"Buhd"}},
93 {{QLocale::CanadianAboriginalScript},{"Cans"}},
94 {{QLocale::CarianScript},{"Cari"}},
95 {{QLocale::ChakmaScript},{"Cakm"}},
96 {{QLocale::ChamScript},{"Cham"}},
97 {{QLocale::CopticScript},{"Copt"}},
98 {{QLocale::CypriotScript},{"Cprt"}},
99 {{QLocale::EgyptianHieroglyphsScript},{"Egyp"}},
100 {{QLocale::FraserScript},{"Lisu"}},
101 {{QLocale::GlagoliticScript},{"Glag"}},
102 {{QLocale::GothicScript},{"Goth"}},
103 {{QLocale::HanScript},{"Hani"}},
104 {{QLocale::HangulScript},{"Hang"}},
105 {{QLocale::HanunooScript},{"Hano"}},
106 {{QLocale::ImperialAramaicScript},{"Armi"}},
107 {{QLocale::InscriptionalPahlaviScript},{"Phli"}},
108 {{QLocale::InscriptionalParthianScript},{"Prti"}},
109 {{QLocale::JavaneseScript},{"Java"}},
110 {{QLocale::KaithiScript},{"Kthi"}},
111 {{QLocale::KatakanaScript},{"Kana"}},
112 {{QLocale::KayahLiScript},{"Kali"}},
113 {{QLocale::KharoshthiScript},{"Khar"}},
114 {{QLocale::LannaScript},{"Lana"}},
115 {{QLocale::LepchaScript},{"Lepc"}},
116 {{QLocale::LimbuScript},{"Limb"}},
117 {{QLocale::LinearBScript},{"Linb"}},
118 {{QLocale::LycianScript},{"Lyci"}},
119 {{QLocale::LydianScript},{"Lydi"}},
120 {{QLocale::MandaeanScript},{"Mand"}},
121 {{QLocale::MeiteiMayekScript},{"Mtei"}},
122 {{QLocale::MeroiticScript},{"Mero"}},
123 {{QLocale::MeroiticCursiveScript},{"Merc"}},
124 {{QLocale::NewTaiLueScript},{"Talu"}},
125 {{QLocale::OlChikiScript},{"Olck"}},
126 {{QLocale::OldItalicScript},{"Ital"}},
127 {{QLocale::OldPersianScript},{"Xpeo"}},
128 {{QLocale::OldSouthArabianScript},{"Sarb"}},
129 {{QLocale::OrkhonScript},{"Orkh"}},
130 {{QLocale::OsmanyaScript},{"Osma"}},
131 {{QLocale::PhagsPaScript},{"Phag"}},
132 {{QLocale::PhoenicianScript},{"Phnx"}},
133 {{QLocale::PollardPhoneticScript},{"Plrd"}},
134 {{QLocale::RejangScript},{"Rjng"}},
135 {{QLocale::SamaritanScript},{"Samr"}},
136 {{QLocale::SaurashtraScript},{"Saur"}},
137 {{QLocale::SharadaScript},{"Shrd"}},
138 {{QLocale::ShavianScript},{"Shaw"}},
139 {{QLocale::SoraSompengScript},{"Sora"}},
140 {{QLocale::CuneiformScript},{"Xsux"}},
141 {{QLocale::SundaneseScript},{"Sund"}},
142 {{QLocale::SylotiNagriScript},{"Sylo"}},
143 {{QLocale::TagalogScript},{"Tglg"}},
144 {{QLocale::TagbanwaScript},{"Tagb"}},
145 {{QLocale::TaiLeScript},{"Tale"}},
146 {{QLocale::TaiVietScript},{"Tavt"}},
147 {{QLocale::TakriScript},{"Takr"}},
148 {{QLocale::UgariticScript},{"Ugar"}},
149 {{QLocale::BrailleScript},{"Brai"}},
150 {{QLocale::HiraganaScript},{"Hira"}},
151 {{QLocale::CaucasianAlbanianScript},{"Aghb"}},
152 {{QLocale::BassaVahScript},{"Bass"}},
153 {{QLocale::DuployanScript},{"Dupl"}},
154 {{QLocale::ElbasanScript},{"Elba"}},
155 {{QLocale::GranthaScript},{"Gran"}},
156 {{QLocale::PahawhHmongScript},{"Hmng"}},
157 {{QLocale::KhojkiScript},{"Khoi"}},
158 {{QLocale::LinearAScript},{"Lina"}},
159 {{QLocale::MahajaniScript},{"Mahj"}},
160 {{QLocale::ManichaeanScript},{"Mani"}},
161 {{QLocale::MendeKikakuiScript},{"Mend"}},
162 {{QLocale::ModiScript},{"Modi"}},
163 {{QLocale::MroScript},{"Mroo"}},
164 {{QLocale::OldNorthArabianScript},{"Narb"}},
165 {{QLocale::NabataeanScript},{"Nbat"}},
166 {{QLocale::PalmyreneScript},{"Palm"}},
167 {{QLocale::PauCinHauScript},{"Pauc"}},
168 {{QLocale::PsalterPahlaviScript},{"Phlp"}},
169 {{QLocale::KhudawadiScript},{"Sind"}},
170 {{QLocale::TirhutaScript},{"Tirh"}},
171 {{QLocale::VarangKshitiScript},{"Wara"}},
172 {{QLocale::AhomScript},{"Ahom"}},
173 {{QLocale::AnatolianHieroglyphsScript},{"Hluw"}},
174 {{QLocale::HatranScript},{"Hatr"}},
175 {{QLocale::MultaniScript},{"Mult"}},
176 {{QLocale::OldHungarianScript},{"Hung"}},
177 {{QLocale::SignWritingScript},{"Sgnw"}},
178 {{QLocale::AdlamScript},{"Adlm"}},
179 {{QLocale::BhaiksukiScript},{"Bhks"}},
180 {{QLocale::BatakScript},{"Batk"}},
181 {{QLocale::MarchenScript},{"Marc"}},
182 {{QLocale::NewaScript},{"Newa"}},
183 {{QLocale::OsageScript},{"Osge"}},
184 {{QLocale::TangutScript},{"Tang"}},
185 {{QLocale::HanWithBopomofoScript},{"Hanb"}},
186 {{QLocale::JamoScript},{"Jamo"}},
187};

◆ WRITINGSYSTEM_SCRIPT_MAP

QMap<QFontDatabase::WritingSystem, QString> WRITINGSYSTEM_SCRIPT_MAP
static

Definition at line 9 of file KoWritingSystemUtils.cpp.

9 {
10 {{QFontDatabase::Any},{"Zyyy"}},
11 {{QFontDatabase::Latin},{"Latn"}},
12 {{QFontDatabase::Greek},{"Grek"}},
13 {{QFontDatabase::Cyrillic},{"Cyrl"}},
14 {{QFontDatabase::Armenian},{"Armn"}},
15 {{QFontDatabase::Hebrew},{"Hebr"}},
16 {{QFontDatabase::Arabic},{"Arab"}},
17 {{QFontDatabase::Syriac},{"Syrc"}},
18 {{QFontDatabase::Thaana},{"Thaa"}},
19 {{QFontDatabase::Devanagari},{"Deva"}},
20 {{QFontDatabase::Bengali},{"Beng"}},
21 {{QFontDatabase::Gurmukhi},{"Guru"}},
22 {{QFontDatabase::Gujarati},{"Gujr"}},
23 {{QFontDatabase::Oriya},{"Orya"}},
24 {{QFontDatabase::Tamil},{"Taml"}},
25 {{QFontDatabase::Telugu},{"Telu"}},
26 {{QFontDatabase::Kannada},{"Knda"}},
27 {{QFontDatabase::Malayalam},{"Mylm"}},
28 {{QFontDatabase::Sinhala},{"Sinh"}},
29 {{QFontDatabase::Thai},{"Thai"}},
30 {{QFontDatabase::Lao},{"Laoo"}},
31 {{QFontDatabase::Tibetan},{"Tibt"}},
32 {{QFontDatabase::Myanmar},{"Mymr"}},
33 {{QFontDatabase::Georgian},{"Geor"}},
34 {{QFontDatabase::Khmer},{"Khmr"}},
35 {{QFontDatabase::SimplifiedChinese},{"Hans"}},
36 {{QFontDatabase::TraditionalChinese},{"Hant"}},
37 {{QFontDatabase::Japanese},{"Jpan"}},
38 {{QFontDatabase::Korean},{"Kore"}},
39 {{QFontDatabase::Ogham},{"Ogam"}},
40 {{QFontDatabase::Runic},{"Runr"}},
41 {{QFontDatabase::Nko},{"Nkoo"}},
42 /*{{QFontDatabase::Symbol},{"Zsye"}}, Symbol refers to the wingdings fonts, not actually unicode scripts.*/
43 {{QFontDatabase::Vietnamese},{"Latn"}},
44};