Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

fxunicode.h
1 /********************************************************************************
2 * *
3 * U N I C O D E C h a r a c t e r I n f o *
4 * *
5 *********************************************************************************
6 * Copyright (C) 2005,2017 by Jeroen van der Zijp. All Rights Reserved. *
7 *********************************************************************************
8 * This library is free software; you can redistribute it and/or modify *
9 * it under the terms of the GNU Lesser General Public License as published by *
10 * the Free Software Foundation; either version 3 of the License, or *
11 * (at your option) any later version. *
12 * *
13 * This library is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public License *
19 * along with this program. If not, see <http://www.gnu.org/licenses/> *
20 ********************************************************************************/
21 #ifndef FXUNICODE_H
22 #define FXUNICODE_H
23 
24 
25 /******* Generated on 2011/09/02 15:58:10 by unicode tool version 6.0.0 ********/
26 
27 
28 namespace FX {
29 
30 
32 enum {
33  CatNotAssigned = 0,
34  CatControl = 1,
35  CatFormat = 2,
36  CatSurrogate = 3,
37  CatOther = 4,
38  CatMarkNonSpacing = 5,
39  CatMarkSpacingCombining = 6,
40  CatMarkEnclosing = 7,
41  CatSeparatorSpace = 8,
42  CatSeparatorLine = 9,
43  CatSeparatorParagraph = 10,
44  CatLetterUpper = 11,
45  CatLetterLower = 12,
46  CatLetterTitle = 13,
47  CatLetterModifier = 14,
48  CatLetterOther = 15,
49  CatNumberLetter = 16,
50  CatNumberDecimal = 17,
51  CatNumberOther = 18,
52  CatPunctConnector = 19,
53  CatPunctDash = 20,
54  CatPunctOpen = 21,
55  CatPunctClose = 22,
56  CatPunctInitial = 23,
57  CatPunctFinal = 24,
58  CatPunctOther = 25,
59  CatSymbolMath = 26,
60  CatSymbolCurrency = 27,
61  CatSymbolModifier = 28,
62  CatSymbolOther = 29
63  };
64 
65 
67 enum {
68  DirL = 0,
69  DirLRE = 1,
70  DirLRO = 2,
71  DirR = 3,
72  DirAL = 4,
73  DirRLE = 5,
74  DirRLO = 6,
75  DirPDF = 7,
76  DirEN = 8,
77  DirES = 9,
78  DirET = 10,
79  DirAN = 11,
80  DirCS = 12,
81  DirNSM = 13,
82  DirBN = 14,
83  DirB = 15,
84  DirS = 16,
85  DirWS = 17,
86  DirON = 18
87  };
88 
89 
91 enum {
92  JoinTypeNonJoining = 0,
93  JoinTypeRightJoining = 1,
94  JoinTypeDualJoining = 2,
95  JoinTypeJoinCausing = 3,
96  JoinTypeLeftJoining = 4,
97  JoinTypeTransparent = 5
98  };
99 
100 
102 enum {
103  JoinGroupNone = 0,
104  JoinGroupAin = 1,
105  JoinGroupAlaph = 2,
106  JoinGroupAlef = 3,
107  JoinGroupBeh = 4,
108  JoinGroupBeth = 5,
109  JoinGroupBurushaskiYehBarree = 6,
110  JoinGroupDal = 7,
111  JoinGroupDalathRish = 8,
112  JoinGroupE = 9,
113  JoinGroupFarsiYeh = 10,
114  JoinGroupFe = 11,
115  JoinGroupFeh = 12,
116  JoinGroupFinalSemkath = 13,
117  JoinGroupGaf = 14,
118  JoinGroupGamal = 15,
119  JoinGroupHah = 16,
120  JoinGroupHamzaOnHehGoal = 17,
121  JoinGroupHe = 18,
122  JoinGroupHeh = 19,
123  JoinGroupHehGoal = 20,
124  JoinGroupHeth = 21,
125  JoinGroupKaf = 22,
126  JoinGroupKaph = 23,
127  JoinGroupKhaph = 24,
128  JoinGroupKnottedHeh = 25,
129  JoinGroupLam = 26,
130  JoinGroupLamadh = 27,
131  JoinGroupMeem = 28,
132  JoinGroupMim = 29,
133  JoinGroupNoon = 30,
134  JoinGroupNun = 31,
135  JoinGroupNya = 32,
136  JoinGroupPe = 33,
137  JoinGroupQaf = 34,
138  JoinGroupQaph = 35,
139  JoinGroupReh = 36,
140  JoinGroupReversedPe = 37,
141  JoinGroupSad = 38,
142  JoinGroupSadhe = 39,
143  JoinGroupSeen = 40,
144  JoinGroupSemkath = 41,
145  JoinGroupShin = 42,
146  JoinGroupSwashKaf = 43,
147  JoinGroupSyriacWaw = 44,
148  JoinGroupTah = 45,
149  JoinGroupTaw = 46,
150  JoinGroupTehMarbuta = 47,
151  JoinGroupTehMarbutaGoal = 48,
152  JoinGroupTeth = 49,
153  JoinGroupWaw = 50,
154  JoinGroupYeh = 51,
155  JoinGroupYehBarree = 52,
156  JoinGroupYehWithTail = 53,
157  JoinGroupYudh = 54,
158  JoinGroupYudhHe = 55,
159  JoinGroupZain = 56,
160  JoinGroupZhain = 57
161  };
162 
163 
165 enum {
166  CombineOverlay = 1,
167  CombineNukta = 7,
168  CombineKanaVoicing = 8,
169  CombineVirama = 9,
170  CombineBelowLeftAtt = 200,
171  CombineBelowAtt = 202,
172  CombineBelowRightAtt = 204,
173  CombineLeftAtt = 208,
174  CombineRightAtt = 210,
175  CombineAboveLeftAtt = 212,
176  CombineAboveAtt = 214,
177  CombineAboveRightAtt = 216,
178  CombineBelowLeft = 218,
179  CombineBelow = 220,
180  CombineBelowRight = 222,
181  CombineLeft = 224,
182  CombineRight = 226,
183  CombineAboveLeft = 228,
184  CombineAbove = 230,
185  CombineAboveRight = 232,
186  CombineDoubleBelow = 233,
187  CombineDoubleAbove = 234,
188  CombineIotaSub = 240
189  };
190 
191 
193 enum {
194  DecomposeNone = 0,
195  DecomposeCanonical = 1,
196  DecomposeCompat = 2,
197  DecomposeFont = 3,
198  DecomposeNoBreak = 4,
199  DecomposeInitial = 5,
200  DecomposeMedial = 6,
201  DecomposeFinal = 7,
202  DecomposeIsolated = 8,
203  DecomposeCircle = 9,
204  DecomposeSuper = 10,
205  DecomposeSub = 11,
206  DecomposeVertical = 12,
207  DecomposeWide = 13,
208  DecomposeNarrow = 14,
209  DecomposeSmall = 15,
210  DecomposeSquare = 16,
211  DecomposeFraction = 17
212  };
213 
214 
216 enum {
217  BreakUnknown = 0,
218  BreakMandatory = 1,
219  BreakReturn = 2,
220  BreakLineFeed = 3,
221  BreakCombMark = 4,
222  BreakNextLine = 5,
223  BreakSurrogate = 6,
224  BreakWordJoiner = 7,
225  BreakZWSpace = 8,
226  BreakGlue = 9,
227  BreakSpace = 10,
228  BreakBoth = 11,
229  BreakAfter = 12,
230  BreakBefore = 13,
231  BreakHyphen = 14,
232  BreakContingent = 15,
233  BreakClosePunct = 16,
234  BreakCloseParen = 17,
235  BreakExclaim = 18,
236  BreakInsep = 19,
237  BreakNonStart = 20,
238  BreakOpenPunct = 21,
239  BreakQuote = 22,
240  BreakInfix = 23,
241  BreakNumeric = 24,
242  BreakPostfix = 25,
243  BreakPrefix = 26,
244  BreakSymbol = 27,
245  BreakAmbiguous = 28,
246  BreakAlphabetic = 29,
247  BreakHangul2 = 30,
248  BreakHangul3 = 31,
249  BreakIdeograph = 32,
250  BreakJamoL = 33,
251  BreakJamoV = 34,
252  BreakJamoT = 35,
253  BreakComplex = 36
254  };
255 
256 
258 enum {
259  ScriptUnknown = 0,
260  ScriptCommon = 1,
261  ScriptInherited = 2,
262  ScriptLatin = 3,
263  ScriptGreek = 4,
264  ScriptCyrillic = 5,
265  ScriptArmenian = 6,
266  ScriptHebrew = 7,
267  ScriptArabic = 8,
268  ScriptSyriac = 9,
269  ScriptThaana = 10,
270  ScriptDevanagari = 11,
271  ScriptBengali = 12,
272  ScriptGurmukhi = 13,
273  ScriptGujarati = 14,
274  ScriptOriya = 15,
275  ScriptTamil = 16,
276  ScriptTelugu = 17,
277  ScriptKannada = 18,
278  ScriptMalayalam = 19,
279  ScriptSinhala = 20,
280  ScriptThai = 21,
281  ScriptLao = 22,
282  ScriptTibetan = 23,
283  ScriptMyanmar = 24,
284  ScriptGeorgian = 25,
285  ScriptHangul = 26,
286  ScriptEthiopic = 27,
287  ScriptCherokee = 28,
288  ScriptCanadianAboriginal = 29,
289  ScriptOgham = 30,
290  ScriptRunic = 31,
291  ScriptKhmer = 32,
292  ScriptMongolian = 33,
293  ScriptHiragana = 34,
294  ScriptKatakana = 35,
295  ScriptBopomofo = 36,
296  ScriptHan = 37,
297  ScriptYi = 38,
298  ScriptOldItalic = 39,
299  ScriptGothic = 40,
300  ScriptDeseret = 41,
301  ScriptTagalog = 42,
302  ScriptHanunoo = 43,
303  ScriptBuhid = 44,
304  ScriptTagbanwa = 45,
305  ScriptLimbu = 46,
306  ScriptTaiLe = 47,
307  ScriptLinearB = 48,
308  ScriptUgaritic = 49,
309  ScriptShavian = 50,
310  ScriptOsmanya = 51,
311  ScriptCypriot = 52,
312  ScriptBraille = 53,
313  ScriptBuginese = 54,
314  ScriptCoptic = 55,
315  ScriptNewTaiLue = 56,
316  ScriptGlagolitic = 57,
317  ScriptTifinagh = 58,
318  ScriptSylotiNagri = 59,
319  ScriptOldPersian = 60,
320  ScriptKharoshthi = 61,
321  ScriptBalinese = 62,
322  ScriptCuneiform = 63,
323  ScriptPhoenician = 64,
324  ScriptPhagsPa = 65,
325  ScriptNKo = 66,
326  ScriptSundanese = 67,
327  ScriptLepcha = 68,
328  ScriptOlChiki = 69,
329  ScriptVai = 70,
330  ScriptSaurashtra = 71,
331  ScriptKayahLi = 72,
332  ScriptRejang = 73,
333  ScriptLycian = 74,
334  ScriptCarian = 75,
335  ScriptLydian = 76,
336  ScriptCham = 77,
337  ScriptTaiTham = 78,
338  ScriptTaiViet = 79,
339  ScriptAvestan = 80,
340  ScriptEgyptianHieroglyphs = 81,
341  ScriptSamaritan = 82,
342  ScriptLisu = 83,
343  ScriptBamum = 84,
344  ScriptJavanese = 85,
345  ScriptMeiteiMayek = 86,
346  ScriptImperialAramaic = 87,
347  ScriptOldSouthArabian = 88,
348  ScriptInscriptionalParthian = 89,
349  ScriptInscriptionalPahlavi = 90,
350  ScriptOldTurkic = 91,
351  ScriptKaithi = 92,
352  ScriptBatak = 93,
353  ScriptBrahmi = 94,
354  ScriptMandaic = 95
355  };
356 
357 
358 namespace Unicode {
359 
361 extern FXAPI FXuint charCategory(FXwchar ucs);
362 
364 extern FXAPI FXuint charDirection(FXwchar ucs);
365 
367 extern FXAPI FXuint isSymmetric(FXwchar ucs);
368 
370 extern FXAPI FXuint decomposeType(FXwchar ucs);
371 
373 extern FXAPI FXuint charNumDecompose(FXwchar ucs);
374 
376 extern FXAPI const FXwchar* charDecompose(FXwchar ucs);
377 
379 extern FXAPI FXwchar charCompose(FXwchar ucsa,FXwchar ucsb);
380 
382 extern FXAPI FXuint charCombining(FXwchar ucs);
383 
385 extern FXAPI FXint digitValue(FXwchar ucs);
386 
388 extern FXAPI FXuint lineBreakType(FXwchar ucs);
389 
391 extern FXAPI FXwchar mirrorImage(FXwchar ucs);
392 
394 extern FXAPI FXuint joiningType(FXwchar ucs);
395 
397 extern FXAPI FXuint joiningGroup(FXwchar ucs);
398 
400 extern FXAPI FXuint scriptType(FXwchar ucs);
401 
403 extern FXAPI FXbool hasCase(FXwchar ucs);
404 extern FXAPI FXbool isUpper(FXwchar ucs);
405 extern FXAPI FXbool isLower(FXwchar ucs);
406 extern FXAPI FXbool isTitle(FXwchar ucs);
407 extern FXAPI FXbool isAscii(FXwchar ucs);
408 extern FXAPI FXbool isLetter(FXwchar ucs);
409 extern FXAPI FXbool isDigit(FXwchar ucs);
410 extern FXAPI FXbool isAlphaNumeric(FXwchar ucs);
411 extern FXAPI FXbool isControl(FXwchar ucs);
412 extern FXAPI FXbool isSpace(FXwchar ucs);
413 extern FXAPI FXbool isBlank(FXwchar ucs);
414 extern FXAPI FXbool isPunct(FXwchar ucs);
415 extern FXAPI FXbool isGraph(FXwchar ucs);
416 extern FXAPI FXbool isPrint(FXwchar ucs);
417 extern FXAPI FXbool isHexDigit(FXwchar ucs);
418 extern FXAPI FXbool isSymbol(FXwchar ucs);
419 extern FXAPI FXbool isMark(FXwchar ucs);
420 extern FXAPI FXbool isSep(FXwchar ucs);
421 
423 extern FXAPI FXwchar toUpper(FXwchar ucs);
424 extern FXAPI FXwchar toLower(FXwchar ucs);
425 extern FXAPI FXwchar toTitle(FXwchar ucs);
426 
427 }
428 
429 }
430 
431 #endif

Copyright © 1997-2016 Jeroen van der Zijp