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

/home/jeroen/FOX/fox/fox-1.7.33/include/fxunicode.h
00001 /********************************************************************************
00002 *                                                                               *
00003 *                   U N I C O D E   C h a r a c t e r   I n f o                 *
00004 *                                                                               *
00005 *********************************************************************************
00006 * Copyright (C) 2005,2012 by Jeroen van der Zijp.   All Rights Reserved.        *
00007 *********************************************************************************
00008 * This library is free software; you can redistribute it and/or modify          *
00009 * it under the terms of the GNU Lesser General Public License as published by   *
00010 * the Free Software Foundation; either version 3 of the License, or             *
00011 * (at your option) any later version.                                           *
00012 *                                                                               *
00013 * This library is distributed in the hope that it will be useful,               *
00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of                *
00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                 *
00016 * GNU Lesser General Public License for more details.                           *
00017 *                                                                               *
00018 * You should have received a copy of the GNU Lesser General Public License      *
00019 * along with this program.  If not, see <http://www.gnu.org/licenses/>          *
00020 ********************************************************************************/
00021 #ifndef FXUNICODE_H
00022 #define FXUNICODE_H
00023 
00024 
00025 /******* Generated on 2011/09/02 15:58:10 by unicode tool version 6.0.0 ********/
00026 
00027 
00028 namespace FX {
00029 
00030 
00032 enum {
00033   CatNotAssigned          = 0,       
00034   CatControl              = 1,       
00035   CatFormat               = 2,       
00036   CatSurrogate            = 3,       
00037   CatOther                = 4,       
00038   CatMarkNonSpacing       = 5,       
00039   CatMarkSpacingCombining = 6,       
00040   CatMarkEnclosing        = 7,       
00041   CatSeparatorSpace       = 8,       
00042   CatSeparatorLine        = 9,       
00043   CatSeparatorParagraph   = 10,      
00044   CatLetterUpper          = 11,      
00045   CatLetterLower          = 12,      
00046   CatLetterTitle          = 13,      
00047   CatLetterModifier       = 14,      
00048   CatLetterOther          = 15,      
00049   CatNumberLetter         = 16,      
00050   CatNumberDecimal        = 17,      
00051   CatNumberOther          = 18,      
00052   CatPunctConnector       = 19,      
00053   CatPunctDash            = 20,      
00054   CatPunctOpen            = 21,      
00055   CatPunctClose           = 22,      
00056   CatPunctInitial         = 23,      
00057   CatPunctFinal           = 24,      
00058   CatPunctOther           = 25,      
00059   CatSymbolMath           = 26,      
00060   CatSymbolCurrency       = 27,      
00061   CatSymbolModifier       = 28,      
00062   CatSymbolOther          = 29       
00063   };
00064 
00065 
00067 enum {
00068   DirL   = 0,       
00069   DirLRE = 1,       
00070   DirLRO = 2,       
00071   DirR   = 3,       
00072   DirAL  = 4,       
00073   DirRLE = 5,       
00074   DirRLO = 6,       
00075   DirPDF = 7,       
00076   DirEN  = 8,       
00077   DirES  = 9,       
00078   DirET  = 10,      
00079   DirAN  = 11,      
00080   DirCS  = 12,      
00081   DirNSM = 13,      
00082   DirBN  = 14,      
00083   DirB   = 15,      
00084   DirS   = 16,      
00085   DirWS  = 17,      
00086   DirON  = 18       
00087   };
00088 
00089 
00091 enum {
00092   JoinTypeNonJoining   = 0,
00093   JoinTypeRightJoining = 1,
00094   JoinTypeDualJoining  = 2,
00095   JoinTypeJoinCausing  = 3,
00096   JoinTypeLeftJoining  = 4,
00097   JoinTypeTransparent  = 5
00098   };
00099 
00100 
00102 enum {
00103   JoinGroupNone                = 0,
00104   JoinGroupAin                 = 1,
00105   JoinGroupAlaph               = 2,
00106   JoinGroupAlef                = 3,
00107   JoinGroupBeh                 = 4,
00108   JoinGroupBeth                = 5,
00109   JoinGroupBurushaskiYehBarree = 6,
00110   JoinGroupDal                 = 7,
00111   JoinGroupDalathRish          = 8,
00112   JoinGroupE                   = 9,
00113   JoinGroupFarsiYeh            = 10,
00114   JoinGroupFe                  = 11,
00115   JoinGroupFeh                 = 12,
00116   JoinGroupFinalSemkath        = 13,
00117   JoinGroupGaf                 = 14,
00118   JoinGroupGamal               = 15,
00119   JoinGroupHah                 = 16,
00120   JoinGroupHamzaOnHehGoal      = 17,
00121   JoinGroupHe                  = 18,
00122   JoinGroupHeh                 = 19,
00123   JoinGroupHehGoal             = 20,
00124   JoinGroupHeth                = 21,
00125   JoinGroupKaf                 = 22,
00126   JoinGroupKaph                = 23,
00127   JoinGroupKhaph               = 24,
00128   JoinGroupKnottedHeh          = 25,
00129   JoinGroupLam                 = 26,
00130   JoinGroupLamadh              = 27,
00131   JoinGroupMeem                = 28,
00132   JoinGroupMim                 = 29,
00133   JoinGroupNoon                = 30,
00134   JoinGroupNun                 = 31,
00135   JoinGroupNya                 = 32,
00136   JoinGroupPe                  = 33,
00137   JoinGroupQaf                 = 34,
00138   JoinGroupQaph                = 35,
00139   JoinGroupReh                 = 36,
00140   JoinGroupReversedPe          = 37,
00141   JoinGroupSad                 = 38,
00142   JoinGroupSadhe               = 39,
00143   JoinGroupSeen                = 40,
00144   JoinGroupSemkath             = 41,
00145   JoinGroupShin                = 42,
00146   JoinGroupSwashKaf            = 43,
00147   JoinGroupSyriacWaw           = 44,
00148   JoinGroupTah                 = 45,
00149   JoinGroupTaw                 = 46,
00150   JoinGroupTehMarbuta          = 47,
00151   JoinGroupTehMarbutaGoal      = 48,
00152   JoinGroupTeth                = 49,
00153   JoinGroupWaw                 = 50,
00154   JoinGroupYeh                 = 51,
00155   JoinGroupYehBarree           = 52,
00156   JoinGroupYehWithTail         = 53,
00157   JoinGroupYudh                = 54,
00158   JoinGroupYudhHe              = 55,
00159   JoinGroupZain                = 56,
00160   JoinGroupZhain               = 57
00161   };
00162 
00163 
00165 enum {
00166   CombineOverlay       = 1,       
00167   CombineNukta         = 7,       
00168   CombineKanaVoicing   = 8,       
00169   CombineVirama        = 9,       
00170   CombineBelowLeftAtt  = 200,     
00171   CombineBelowAtt      = 202,     
00172   CombineBelowRightAtt = 204,     
00173   CombineLeftAtt       = 208,     
00174   CombineRightAtt      = 210,     
00175   CombineAboveLeftAtt  = 212,     
00176   CombineAboveAtt      = 214,     
00177   CombineAboveRightAtt = 216,     
00178   CombineBelowLeft     = 218,     
00179   CombineBelow         = 220,     
00180   CombineBelowRight    = 222,     
00181   CombineLeft          = 224,     
00182   CombineRight         = 226,     
00183   CombineAboveLeft     = 228,     
00184   CombineAbove         = 230,     
00185   CombineAboveRight    = 232,     
00186   CombineDoubleBelow   = 233,     
00187   CombineDoubleAbove   = 234,     
00188   CombineIotaSub       = 240      
00189   };
00190 
00191 
00193 enum {
00194   DecomposeNone      = 0,       
00195   DecomposeCanonical = 1,       
00196   DecomposeCompat    = 2,       
00197   DecomposeFont      = 3,       
00198   DecomposeNoBreak   = 4,       
00199   DecomposeInitial   = 5,       
00200   DecomposeMedial    = 6,       
00201   DecomposeFinal     = 7,       
00202   DecomposeIsolated  = 8,       
00203   DecomposeCircle    = 9,       
00204   DecomposeSuper     = 10,      
00205   DecomposeSub       = 11,      
00206   DecomposeVertical  = 12,      
00207   DecomposeWide      = 13,      
00208   DecomposeNarrow    = 14,      
00209   DecomposeSmall     = 15,      
00210   DecomposeSquare    = 16,      
00211   DecomposeFraction  = 17       
00212   };
00213 
00214 
00216 enum {
00217   BreakUnknown    = 0,       
00218   BreakMandatory  = 1,       
00219   BreakReturn     = 2,       
00220   BreakLineFeed   = 3,       
00221   BreakCombMark   = 4,       
00222   BreakNextLine   = 5,       
00223   BreakSurrogate  = 6,       
00224   BreakWordJoiner = 7,       
00225   BreakZWSpace    = 8,       
00226   BreakGlue       = 9,       
00227   BreakSpace      = 10,      
00228   BreakBoth       = 11,      
00229   BreakAfter      = 12,      
00230   BreakBefore     = 13,      
00231   BreakHyphen     = 14,      
00232   BreakContingent = 15,      
00233   BreakClosePunct = 16,      
00234   BreakCloseParen = 17,      
00235   BreakExclaim    = 18,      
00236   BreakInsep      = 19,      
00237   BreakNonStart   = 20,      
00238   BreakOpenPunct  = 21,      
00239   BreakQuote      = 22,      
00240   BreakInfix      = 23,      
00241   BreakNumeric    = 24,      
00242   BreakPostfix    = 25,      
00243   BreakPrefix     = 26,      
00244   BreakSymbol     = 27,      
00245   BreakAmbiguous  = 28,      
00246   BreakAlphabetic = 29,      
00247   BreakHangul2    = 30,      
00248   BreakHangul3    = 31,      
00249   BreakIdeograph  = 32,      
00250   BreakJamoL      = 33,      
00251   BreakJamoV      = 34,      
00252   BreakJamoT      = 35,      
00253   BreakComplex    = 36       
00254   };
00255 
00256 
00258 enum {
00259   ScriptUnknown               = 0,       
00260   ScriptCommon                = 1,       
00261   ScriptInherited             = 2,       
00262   ScriptLatin                 = 3,       
00263   ScriptGreek                 = 4,       
00264   ScriptCyrillic              = 5,       
00265   ScriptArmenian              = 6,       
00266   ScriptHebrew                = 7,       
00267   ScriptArabic                = 8,       
00268   ScriptSyriac                = 9,       
00269   ScriptThaana                = 10,      
00270   ScriptDevanagari            = 11,      
00271   ScriptBengali               = 12,      
00272   ScriptGurmukhi              = 13,      
00273   ScriptGujarati              = 14,      
00274   ScriptOriya                 = 15,      
00275   ScriptTamil                 = 16,      
00276   ScriptTelugu                = 17,      
00277   ScriptKannada               = 18,      
00278   ScriptMalayalam             = 19,      
00279   ScriptSinhala               = 20,      
00280   ScriptThai                  = 21,      
00281   ScriptLao                   = 22,      
00282   ScriptTibetan               = 23,      
00283   ScriptMyanmar               = 24,      
00284   ScriptGeorgian              = 25,      
00285   ScriptHangul                = 26,      
00286   ScriptEthiopic              = 27,      
00287   ScriptCherokee              = 28,      
00288   ScriptCanadianAboriginal    = 29,      
00289   ScriptOgham                 = 30,      
00290   ScriptRunic                 = 31,      
00291   ScriptKhmer                 = 32,      
00292   ScriptMongolian             = 33,      
00293   ScriptHiragana              = 34,      
00294   ScriptKatakana              = 35,      
00295   ScriptBopomofo              = 36,      
00296   ScriptHan                   = 37,      
00297   ScriptYi                    = 38,      
00298   ScriptOldItalic             = 39,      
00299   ScriptGothic                = 40,      
00300   ScriptDeseret               = 41,      
00301   ScriptTagalog               = 42,      
00302   ScriptHanunoo               = 43,      
00303   ScriptBuhid                 = 44,      
00304   ScriptTagbanwa              = 45,      
00305   ScriptLimbu                 = 46,      
00306   ScriptTaiLe                 = 47,      
00307   ScriptLinearB               = 48,      
00308   ScriptUgaritic              = 49,      
00309   ScriptShavian               = 50,      
00310   ScriptOsmanya               = 51,      
00311   ScriptCypriot               = 52,      
00312   ScriptBraille               = 53,      
00313   ScriptBuginese              = 54,      
00314   ScriptCoptic                = 55,      
00315   ScriptNewTaiLue             = 56,      
00316   ScriptGlagolitic            = 57,      
00317   ScriptTifinagh              = 58,      
00318   ScriptSylotiNagri           = 59,      
00319   ScriptOldPersian            = 60,      
00320   ScriptKharoshthi            = 61,      
00321   ScriptBalinese              = 62,      
00322   ScriptCuneiform             = 63,      
00323   ScriptPhoenician            = 64,      
00324   ScriptPhagsPa               = 65,      
00325   ScriptNKo                   = 66,      
00326   ScriptSundanese             = 67,      
00327   ScriptLepcha                = 68,      
00328   ScriptOlChiki               = 69,      
00329   ScriptVai                   = 70,      
00330   ScriptSaurashtra            = 71,      
00331   ScriptKayahLi               = 72,      
00332   ScriptRejang                = 73,      
00333   ScriptLycian                = 74,      
00334   ScriptCarian                = 75,      
00335   ScriptLydian                = 76,      
00336   ScriptCham                  = 77,      
00337   ScriptTaiTham               = 78,      
00338   ScriptTaiViet               = 79,      
00339   ScriptAvestan               = 80,      
00340   ScriptEgyptianHieroglyphs   = 81,      
00341   ScriptSamaritan             = 82,      
00342   ScriptLisu                  = 83,      
00343   ScriptBamum                 = 84,      
00344   ScriptJavanese              = 85,      
00345   ScriptMeiteiMayek           = 86,      
00346   ScriptImperialAramaic       = 87,      
00347   ScriptOldSouthArabian       = 88,      
00348   ScriptInscriptionalParthian = 89,      
00349   ScriptInscriptionalPahlavi  = 90,      
00350   ScriptOldTurkic             = 91,      
00351   ScriptKaithi                = 92,      
00352   ScriptBatak                 = 93,      
00353   ScriptBrahmi                = 94,      
00354   ScriptMandaic               = 95       
00355   };
00356 
00357 
00358 namespace Unicode {
00359 
00361 extern FXAPI FXuint charCategory(FXwchar ucs);
00362 
00364 extern FXAPI FXuint charDirection(FXwchar ucs);
00365 
00367 extern FXAPI FXuint isSymmetric(FXwchar ucs);
00368 
00370 extern FXAPI FXuint decomposeType(FXwchar ucs);
00371 
00373 extern FXAPI FXuint charNumDecompose(FXwchar ucs);
00374 
00376 extern FXAPI const FXwchar* charDecompose(FXwchar ucs);
00377 
00379 extern FXAPI FXwchar charCompose(FXwchar ucsa,FXwchar ucsb);
00380 
00382 extern FXAPI FXuint charCombining(FXwchar ucs);
00383 
00385 extern FXAPI FXint digitValue(FXwchar ucs);
00386 
00388 extern FXAPI FXuint lineBreakType(FXwchar ucs);
00389 
00391 extern FXAPI FXwchar mirrorImage(FXwchar ucs);
00392 
00394 extern FXAPI FXuint joiningType(FXwchar ucs);
00395 
00397 extern FXAPI FXuint joiningGroup(FXwchar ucs);
00398 
00400 extern FXAPI FXuint scriptType(FXwchar ucs);
00401 
00403 extern FXAPI FXbool hasCase(FXwchar ucs);
00404 extern FXAPI FXbool isUpper(FXwchar ucs);
00405 extern FXAPI FXbool isLower(FXwchar ucs);
00406 extern FXAPI FXbool isTitle(FXwchar ucs);
00407 extern FXAPI FXbool isAscii(FXwchar ucs);
00408 extern FXAPI FXbool isLetter(FXwchar ucs);
00409 extern FXAPI FXbool isDigit(FXwchar ucs);
00410 extern FXAPI FXbool isAlphaNumeric(FXwchar ucs);
00411 extern FXAPI FXbool isControl(FXwchar ucs);
00412 extern FXAPI FXbool isSpace(FXwchar ucs);
00413 extern FXAPI FXbool isBlank(FXwchar ucs);
00414 extern FXAPI FXbool isPunct(FXwchar ucs);
00415 extern FXAPI FXbool isGraph(FXwchar ucs);
00416 extern FXAPI FXbool isPrint(FXwchar ucs);
00417 extern FXAPI FXbool isHexDigit(FXwchar ucs);
00418 extern FXAPI FXbool isSymbol(FXwchar ucs);
00419 extern FXAPI FXbool isMark(FXwchar ucs);
00420 extern FXAPI FXbool isSep(FXwchar ucs);
00421 
00423 extern FXAPI FXwchar toUpper(FXwchar ucs);
00424 extern FXAPI FXwchar toLower(FXwchar ucs);
00425 extern FXAPI FXwchar toTitle(FXwchar ucs);
00426 
00427 }
00428 
00429 }
00430 
00431 #endif

Copyright © 1997-2011 Jeroen van der Zijp