00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #ifndef _RTX_UNICODE_H_
00044 #define _RTX_UNICODE_H_
00045
00046 #include <stdio.h>
00047 #include "rtxsrc/rtxContext.h"
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064 #define OS_IS_CHAR(c) \
00065 ((((c) >= 0x20) && ((c) <= 0xD7FF)) || \
00066 ((c) == 0x09) || ((c) == 0x0A) || ((c) == 0x0D) || \
00067 (((c) >= 0xE000) && ((c) <= 0xFFFD)) || \
00068 (((c) >= 0x10000) && ((c) <= 0x10FFFF)))
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078 #define OS_IS_BLANK(c) \
00079 (((c) == 0x20) || ((c) == 0x09) || ((c) == 0xA) || ((c) == 0x0D))
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089 #define OS_IS_BASECHAR(c) rtxUCSIsBaseChar(c)
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099 #define OS_IS_DIGIT(c) rtxUCSIsDigit(c)
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109 #define OS_IS_COMBINING(c) rtxUCSIsCombining(c)
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122 #define OS_IS_EXTENDER(c) rtxUCSIsExtender(c)
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133 #define OS_IS_IDEOGRAPHIC(c) rtxUCSIsIdeographic(c)
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144 #define OS_IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156 #define OS_IS_PUBIDCHAR(c) xmlIsPubidChar(c)
00157
00158 #ifdef __cplusplus
00159 extern "C" {
00160 #endif
00161
00162 #ifdef _TRACE
00163 #define RTDIAGU(pctxt,ucstr) rtxDiagPrintUCS(pctxt,ucstr)
00164 #endif
00165
00166
00167
00168 EXTERNRT int rtxUCSGetUTF8ByteCnt (const OSUNICHAR* inbuf);
00169
00170 EXTERNRT OSBOOL rtxUCSStrCmp (const OSUNICHAR* text1,
00171 const OSUNICHAR* text2);
00172
00173 EXTERNRT OSBOOL rtxUCSStrCmpAsc (const OSUNICHAR* text1,
00174 const char* text2);
00175
00176 EXTERNRT size_t rtxUCSStrLen (const OSUNICHAR* text);
00177
00178 EXTERNRT void rtxUCSStrPrint (const OSUNICHAR* text);
00179
00180 EXTERNRT void rtxUCSStrPrintFile (FILE* fp, const OSUNICHAR* text);
00181
00182 EXTERNRT char* rtxUCSToCStr (OSCTXT* pctxt, const OSUNICHAR* text);
00183
00200 EXTERNRT long rtxUCSToUTF8 (OSCTXT* pctxt, const OSUNICHAR* inbuf,
00201 size_t inlen, OSOCTET* outbuf, size_t outbufsiz);
00202
00212 EXTERNRT const OSUTF8CHAR*
00213 rtxUCSToDynUTF8 (OSCTXT* pctxt, const OSUNICHAR* inbuf);
00214
00227 EXTERNRT OSBOOL rtxUCSIsChar (OS32BITCHAR c);
00228
00239 EXTERNRT OSBOOL rtxUCSIsBlank (OS32BITCHAR c);
00240
00250 EXTERNRT OSBOOL rtxUCSIsBaseChar (OS32BITCHAR c);
00251
00261 EXTERNRT OSBOOL rtxUCSIsDigit (OS32BITCHAR c);
00262
00272 EXTERNRT OSBOOL rtxUCSIsCombining (OS32BITCHAR c);
00273
00285 EXTERNRT OSBOOL rtxUCSIsExtender (OS32BITCHAR c);
00286
00296 EXTERNRT OSBOOL rtxUCSIsIdeographic (OS32BITCHAR c);
00297
00307 EXTERNRT OSBOOL rtxUCSIsLetter (OS32BITCHAR c);
00308
00318 EXTERNRT OSBOOL rtxUCSIsPubidChar (OS32BITCHAR c);
00319
00320 EXTERNRT OSBOOL rtxUCSIsAlphabeticPresentationForms (OS32BITCHAR code) ;
00321
00322 EXTERNRT OSBOOL rtxUCSIsArabic (OS32BITCHAR code) ;
00323
00324 EXTERNRT OSBOOL rtxUCSIsArabicPresentationFormsA (OS32BITCHAR code) ;
00325
00326 EXTERNRT OSBOOL rtxUCSIsArabicPresentationFormsB (OS32BITCHAR code) ;
00327
00328 EXTERNRT OSBOOL rtxUCSIsArmenian (OS32BITCHAR code) ;
00329
00330 EXTERNRT OSBOOL rtxUCSIsArrows (OS32BITCHAR code) ;
00331
00332 EXTERNRT OSBOOL rtxUCSIsBasicLatin (OS32BITCHAR code) ;
00333
00334 EXTERNRT OSBOOL rtxUCSIsBengali (OS32BITCHAR code) ;
00335
00336 EXTERNRT OSBOOL rtxUCSIsBlockElements (OS32BITCHAR code) ;
00337
00338 EXTERNRT OSBOOL rtxUCSIsBopomofo (OS32BITCHAR code) ;
00339
00340 EXTERNRT OSBOOL rtxUCSIsBopomofoExtended (OS32BITCHAR code) ;
00341
00342 EXTERNRT OSBOOL rtxUCSIsBoxDrawing (OS32BITCHAR code) ;
00343
00344 EXTERNRT OSBOOL rtxUCSIsBraillePatterns (OS32BITCHAR code) ;
00345
00346 EXTERNRT OSBOOL rtxUCSIsByzantineMusicalSymbols (OS32BITCHAR code) ;
00347
00348 EXTERNRT OSBOOL rtxUCSIsCJKCompatibility (OS32BITCHAR code) ;
00349
00350 EXTERNRT OSBOOL rtxUCSIsCJKCompatibilityForms (OS32BITCHAR code) ;
00351
00352 EXTERNRT OSBOOL rtxUCSIsCJKCompatibilityIdeographs (OS32BITCHAR code) ;
00353
00354 EXTERNRT OSBOOL rtxUCSIsCJKCompatibilityIdeographsSupplement (OS32BITCHAR code) ;
00355
00356 EXTERNRT OSBOOL rtxUCSIsCJKRadicalsSupplement (OS32BITCHAR code) ;
00357
00358 EXTERNRT OSBOOL rtxUCSIsCJKSymbolsandPunctuation (OS32BITCHAR code) ;
00359
00360 EXTERNRT OSBOOL rtxUCSIsCJKUnifiedIdeographs (OS32BITCHAR code) ;
00361
00362 EXTERNRT OSBOOL rtxUCSIsCJKUnifiedIdeographsExtensionA (OS32BITCHAR code) ;
00363
00364 EXTERNRT OSBOOL rtxUCSIsCJKUnifiedIdeographsExtensionB (OS32BITCHAR code) ;
00365
00366 EXTERNRT OSBOOL rtxUCSIsCherokee (OS32BITCHAR code) ;
00367
00368 EXTERNRT OSBOOL rtxUCSIsCombiningDiacriticalMarks (OS32BITCHAR code) ;
00369
00370 EXTERNRT OSBOOL rtxUCSIsCombiningHalfMarks (OS32BITCHAR code) ;
00371
00372 EXTERNRT OSBOOL rtxUCSIsCombiningMarksforSymbols (OS32BITCHAR code) ;
00373
00374 EXTERNRT OSBOOL rtxUCSIsControlPictures (OS32BITCHAR code) ;
00375
00376 EXTERNRT OSBOOL rtxUCSIsCurrencySymbols (OS32BITCHAR code) ;
00377
00378 EXTERNRT OSBOOL rtxUCSIsCyrillic (OS32BITCHAR code) ;
00379
00380 EXTERNRT OSBOOL rtxUCSIsDeseret (OS32BITCHAR code) ;
00381
00382 EXTERNRT OSBOOL rtxUCSIsDevanagari (OS32BITCHAR code) ;
00383
00384 EXTERNRT OSBOOL rtxUCSIsDingbats (OS32BITCHAR code) ;
00385
00386 EXTERNRT OSBOOL rtxUCSIsEnclosedAlphanumerics (OS32BITCHAR code) ;
00387
00388 EXTERNRT OSBOOL rtxUCSIsEnclosedCJKLettersandMonths (OS32BITCHAR code) ;
00389
00390 EXTERNRT OSBOOL rtxUCSIsEthiopic (OS32BITCHAR code) ;
00391
00392 EXTERNRT OSBOOL rtxUCSIsGeneralPunctuation (OS32BITCHAR code) ;
00393
00394 EXTERNRT OSBOOL rtxUCSIsGeometricShapes (OS32BITCHAR code) ;
00395
00396 EXTERNRT OSBOOL rtxUCSIsGeorgian (OS32BITCHAR code) ;
00397
00398 EXTERNRT OSBOOL rtxUCSIsGothic (OS32BITCHAR code) ;
00399
00400 EXTERNRT OSBOOL rtxUCSIsGreek (OS32BITCHAR code) ;
00401
00402 EXTERNRT OSBOOL rtxUCSIsGreekExtended (OS32BITCHAR code) ;
00403
00404 EXTERNRT OSBOOL rtxUCSIsGujarati (OS32BITCHAR code) ;
00405
00406 EXTERNRT OSBOOL rtxUCSIsGurmukhi (OS32BITCHAR code) ;
00407
00408 EXTERNRT OSBOOL rtxUCSIsHalfwidthandFullwidthForms (OS32BITCHAR code) ;
00409
00410 EXTERNRT OSBOOL rtxUCSIsHangulCompatibilityJamo (OS32BITCHAR code) ;
00411
00412 EXTERNRT OSBOOL rtxUCSIsHangulJamo (OS32BITCHAR code) ;
00413
00414 EXTERNRT OSBOOL rtxUCSIsHangulSyllables (OS32BITCHAR code) ;
00415
00416 EXTERNRT OSBOOL rtxUCSIsHebrew (OS32BITCHAR code) ;
00417
00418 EXTERNRT OSBOOL rtxUCSIsHighPrivateUseSurrogates (OS32BITCHAR code) ;
00419
00420 EXTERNRT OSBOOL rtxUCSIsHighSurrogates (OS32BITCHAR code) ;
00421
00422 EXTERNRT OSBOOL rtxUCSIsHiragana (OS32BITCHAR code) ;
00423
00424 EXTERNRT OSBOOL rtxUCSIsIPAExtensions (OS32BITCHAR code) ;
00425
00426 EXTERNRT OSBOOL rtxUCSIsIdeographicDescriptionCharacters (OS32BITCHAR code) ;
00427
00428 EXTERNRT OSBOOL rtxUCSIsKanbun (OS32BITCHAR code) ;
00429
00430 EXTERNRT OSBOOL rtxUCSIsKangxiRadicals (OS32BITCHAR code) ;
00431
00432 EXTERNRT OSBOOL rtxUCSIsKannada (OS32BITCHAR code) ;
00433
00434 EXTERNRT OSBOOL rtxUCSIsKatakana (OS32BITCHAR code) ;
00435
00436 EXTERNRT OSBOOL rtxUCSIsKhmer (OS32BITCHAR code) ;
00437
00438 EXTERNRT OSBOOL rtxUCSIsLao (OS32BITCHAR code) ;
00439
00440 EXTERNRT OSBOOL rtxUCSIsLatin1Supplement (OS32BITCHAR code) ;
00441
00442 EXTERNRT OSBOOL rtxUCSIsLatinExtendedA (OS32BITCHAR code) ;
00443
00444 EXTERNRT OSBOOL rtxUCSIsLatinExtendedB (OS32BITCHAR code) ;
00445
00446 EXTERNRT OSBOOL rtxUCSIsLatinExtendedAdditional (OS32BITCHAR code) ;
00447
00448 EXTERNRT OSBOOL rtxUCSIsLetterlikeSymbols (OS32BITCHAR code) ;
00449
00450 EXTERNRT OSBOOL rtxUCSIsLowSurrogates (OS32BITCHAR code) ;
00451
00452 EXTERNRT OSBOOL rtxUCSIsMalayalam (OS32BITCHAR code) ;
00453
00454 EXTERNRT OSBOOL rtxUCSIsMathematicalAlphanumericSymbols (OS32BITCHAR code) ;
00455
00456 EXTERNRT OSBOOL rtxUCSIsMathematicalOperators (OS32BITCHAR code) ;
00457
00458 EXTERNRT OSBOOL rtxUCSIsMiscellaneousSymbols (OS32BITCHAR code) ;
00459
00460 EXTERNRT OSBOOL rtxUCSIsMiscellaneousTechnical (OS32BITCHAR code) ;
00461
00462 EXTERNRT OSBOOL rtxUCSIsMongolian (OS32BITCHAR code) ;
00463
00464 EXTERNRT OSBOOL rtxUCSIsMusicalSymbols (OS32BITCHAR code) ;
00465
00466 EXTERNRT OSBOOL rtxUCSIsMyanmar (OS32BITCHAR code) ;
00467
00468 EXTERNRT OSBOOL rtxUCSIsNumberForms (OS32BITCHAR code) ;
00469
00470 EXTERNRT OSBOOL rtxUCSIsOgham (OS32BITCHAR code) ;
00471
00472 EXTERNRT OSBOOL rtxUCSIsOldItalic (OS32BITCHAR code) ;
00473
00474 EXTERNRT OSBOOL rtxUCSIsOpticalCharacterRecognition (OS32BITCHAR code) ;
00475
00476 EXTERNRT OSBOOL rtxUCSIsOriya (OS32BITCHAR code) ;
00477
00478 EXTERNRT OSBOOL rtxUCSIsPrivateUse (OS32BITCHAR code) ;
00479
00480 EXTERNRT OSBOOL rtxUCSIsRunic (OS32BITCHAR code) ;
00481
00482 EXTERNRT OSBOOL rtxUCSIsSinhala (OS32BITCHAR code) ;
00483
00484 EXTERNRT OSBOOL rtxUCSIsSmallFormVariants (OS32BITCHAR code) ;
00485
00486 EXTERNRT OSBOOL rtxUCSIsSpacingModifierLetters (OS32BITCHAR code) ;
00487
00488 EXTERNRT OSBOOL rtxUCSIsSpecials (OS32BITCHAR code) ;
00489
00490 EXTERNRT OSBOOL rtxUCSIsSuperscriptsandSubscripts (OS32BITCHAR code) ;
00491
00492 EXTERNRT OSBOOL rtxUCSIsSyriac (OS32BITCHAR code) ;
00493
00494 EXTERNRT OSBOOL rtxUCSIsTags (OS32BITCHAR code) ;
00495
00496 EXTERNRT OSBOOL rtxUCSIsTamil (OS32BITCHAR code) ;
00497
00498 EXTERNRT OSBOOL rtxUCSIsTelugu (OS32BITCHAR code) ;
00499
00500 EXTERNRT OSBOOL rtxUCSIsThaana (OS32BITCHAR code) ;
00501
00502 EXTERNRT OSBOOL rtxUCSIsThai (OS32BITCHAR code) ;
00503
00504 EXTERNRT OSBOOL rtxUCSIsTibetan (OS32BITCHAR code) ;
00505
00506 EXTERNRT OSBOOL rtxUCSIsUnifiedCanadianAboriginalSyllabics (OS32BITCHAR code) ;
00507
00508 EXTERNRT OSBOOL rtxUCSIsYiRadicals (OS32BITCHAR code) ;
00509
00510 EXTERNRT OSBOOL rtxUCSIsYiSyllables (OS32BITCHAR code) ;
00511
00512 EXTERNRT int rtxUCSIsBlock (OS32BITCHAR code, const char *block) ;
00513
00514 EXTERNRT OSBOOL rtxUCSIsCatC (OS32BITCHAR code) ;
00515
00516 EXTERNRT OSBOOL rtxUCSIsCatCc (OS32BITCHAR code) ;
00517
00518 EXTERNRT OSBOOL rtxUCSIsCatCf (OS32BITCHAR code) ;
00519
00520 EXTERNRT OSBOOL rtxUCSIsCatCo (OS32BITCHAR code) ;
00521
00522 EXTERNRT OSBOOL rtxUCSIsCatCs (OS32BITCHAR code) ;
00523
00524 EXTERNRT OSBOOL rtxUCSIsCatL (OS32BITCHAR code) ;
00525
00526 EXTERNRT OSBOOL rtxUCSIsCatLl (OS32BITCHAR code) ;
00527
00528 EXTERNRT OSBOOL rtxUCSIsCatLm (OS32BITCHAR code) ;
00529
00530 EXTERNRT OSBOOL rtxUCSIsCatLo (OS32BITCHAR code) ;
00531
00532 EXTERNRT OSBOOL rtxUCSIsCatLt (OS32BITCHAR code) ;
00533
00534 EXTERNRT OSBOOL rtxUCSIsCatLu (OS32BITCHAR code) ;
00535
00536 EXTERNRT OSBOOL rtxUCSIsCatM (OS32BITCHAR code) ;
00537
00538 EXTERNRT OSBOOL rtxUCSIsCatMc (OS32BITCHAR code) ;
00539
00540 EXTERNRT OSBOOL rtxUCSIsCatMe (OS32BITCHAR code) ;
00541
00542 EXTERNRT OSBOOL rtxUCSIsCatMn (OS32BITCHAR code) ;
00543
00544 EXTERNRT OSBOOL rtxUCSIsCatN (OS32BITCHAR code) ;
00545
00546 EXTERNRT OSBOOL rtxUCSIsCatNd (OS32BITCHAR code) ;
00547
00548 EXTERNRT OSBOOL rtxUCSIsCatNl (OS32BITCHAR code) ;
00549
00550 EXTERNRT OSBOOL rtxUCSIsCatNo (OS32BITCHAR code) ;
00551
00552 EXTERNRT OSBOOL rtxUCSIsCatP (OS32BITCHAR code) ;
00553
00554 EXTERNRT OSBOOL rtxUCSIsCatPc (OS32BITCHAR code) ;
00555
00556 EXTERNRT OSBOOL rtxUCSIsCatPd (OS32BITCHAR code) ;
00557
00558 EXTERNRT OSBOOL rtxUCSIsCatPe (OS32BITCHAR code) ;
00559
00560 EXTERNRT OSBOOL rtxUCSIsCatPf (OS32BITCHAR code) ;
00561
00562 EXTERNRT OSBOOL rtxUCSIsCatPi (OS32BITCHAR code) ;
00563
00564 EXTERNRT OSBOOL rtxUCSIsCatPo (OS32BITCHAR code) ;
00565
00566 EXTERNRT OSBOOL rtxUCSIsCatPs (OS32BITCHAR code) ;
00567
00568 EXTERNRT OSBOOL rtxUCSIsCatS (OS32BITCHAR code) ;
00569
00570 EXTERNRT OSBOOL rtxUCSIsCatSc (OS32BITCHAR code) ;
00571
00572 EXTERNRT OSBOOL rtxUCSIsCatSk (OS32BITCHAR code) ;
00573
00574 EXTERNRT OSBOOL rtxUCSIsCatSm (OS32BITCHAR code) ;
00575
00576 EXTERNRT OSBOOL rtxUCSIsCatSo (OS32BITCHAR code) ;
00577
00578 EXTERNRT OSBOOL rtxUCSIsCatZ (OS32BITCHAR code) ;
00579
00580 EXTERNRT OSBOOL rtxUCSIsCatZl (OS32BITCHAR code) ;
00581
00582 EXTERNRT OSBOOL rtxUCSIsCatZp (OS32BITCHAR code) ;
00583
00584 EXTERNRT OSBOOL rtxUCSIsCatZs (OS32BITCHAR code) ;
00585
00586 EXTERNRT int rtxUCSIsCat (OS32BITCHAR code, const char *cat) ;
00587
00597 EXTERNRT OSBOOL rtxErrAddUniStrParm (OSCTXT* pctxt,
00598 const OSUNICHAR* pErrParm);
00599
00600 #ifdef __cplusplus
00601 }
00602 #endif
00603
00604 #endif