00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
#ifndef VTK_UNICODE_DATA_BLOCKS_H_
00026
# define VTK_UNICODE_DATA_BLOCKS_H_
00027
# include "vtkExtensionsUnicodeConfigure.h"
00028
# include "vtkExtensionsTypes.h"
00029
00030
VTK_EXTENSIONS_UNICODE_NAMESPACE_BEGIN
00031
00032
class vtkUnicodeDataBlocksInternal;
00033
00034 class VTK_EXTENSIONS_UNICODE_EXPORT vtkUnicodeDataBlocks
00035 {
00036
public:
00037
00038
friend class vtkUnicodeDataInternal;
00039
00040
enum
00041 {
00042 UNICODE_BLOCKS_NONE = 0,
00043 BasicLatin,
00044 Latin1Supplement,
00045 LatinExtendedA,
00046 LatinExtendedB,
00047 IPAExtensions,
00048 SpacingModifierLetters,
00049 CombiningDiacriticalMarks,
00050 GreekAndCoptic,
00051 Cyrillic,
00052 CyrillicSupplementary,
00053 Armenian,
00054 Hebrew,
00055 Arabic,
00056 Syriac,
00057 Thaana,
00058 Devanagari,
00059 Bengali,
00060 Gurmukhi,
00061 Gujarati,
00062 Oriya,
00063 Tamil,
00064 Telugu,
00065 Kannada,
00066 Malayalam,
00067 Sinhala,
00068 Thai,
00069 Lao,
00070 Tibetan,
00071 Myanmar,
00072 Georgian,
00073 HangulJamo,
00074 Ethiopic,
00075 Cherokee,
00076 UnifiedCanadianAboriginalSyllabics,
00077 Ogham,
00078 Runic,
00079 Tagalog,
00080 Hanunoo,
00081 Buhid,
00082 Tagbanwa,
00083 Khmer,
00084 Mongolian,
00085 Limbu,
00086 TaiLe,
00087 KhmerSymbols,
00088 PhoneticExtensions,
00089 LatinExtendedAdditional,
00090 GreekExtended,
00091 GeneralPunctuation,
00092 SuperscriptsAndSubscripts,
00093 CurrencySymbols,
00094 CombiningDiacriticalMarkForSymbols,
00095 LetterlikeSymbols,
00096 NumberForms,
00097 Arrows,
00098 MathematicalOperators,
00099 MiscellaneousTechnical,
00100 ControlPictures,
00101 OpticalCharacterRecognition,
00102 EnclosedAlphanumerics,
00103 BoxDrawing,
00104 BlockElements,
00105 GeometricShapes,
00106 MiscellaneousSymbols,
00107 Dingbats,
00108 MiscellaneousMathematicalSymbolA,
00109 SupplementalArrowA,
00110 BraillePatterns,
00111 SupplementalArrowsB,
00112 MiscellaneousMathematicalSymbolsB,
00113 SupplementalMathematicalOperators,
00114 MiscellaneousSymbolsAndArrows,
00115 CJKRadicalSupplement,
00116 KangxiRadicals,
00117 IdeographicDescriptionCharacters,
00118 CJKSymbolsAndPunctuation,
00119 Hiragana,
00120 Katakana,
00121 Bopomofo,
00122 HangulCompatibilityJamo,
00123 Kanbun,
00124 BopomofoExtended,
00125 KatakanaPhoneticExtensions,
00126 EnclosedCJKLettersAndMonths,
00127 CJKCompatibility,
00128 CJKUnifiedIdeographExtensionA,
00129 YijingHexagramSymbols,
00130 CJKUnifiedIdeographs,
00131 YiSyllables,
00132 YiRadicals,
00133 HangulSyllables,
00134 HighSurrogates,
00135 HighPrivateUseSurrogates,
00136 LowSurrogates,
00137 PrivateUseArea,
00138 CJKCompatibilityIdeographs,
00139 AlphabeticPresentationForms,
00140 ArabicPresentationFormA,
00141 VariationSelectors,
00142 CombiningHalfMarks,
00143 CJKCompatibilityForms,
00144 SmallFormVariants,
00145 ArabicPresentationFormB,
00146 HalfwidthAndFullwidthForms,
00147 Specials,
00148 LinearBSyllabary,
00149 LinearBIdeograms,
00150 AegeanNumbers,
00151 OldItalic,
00152 Gothic,
00153 Ugaritic,
00154 Deseret,
00155 Shavian,
00156 Osmanya,
00157 CypriotSyllabary,
00158 ByzantineMusicalSymbols,
00159 MusicalSymbols,
00160 TaiXuanJingSymbols,
00161 MathematicalAlphanumericSymbols,
00162 CJKUnifiedIdeographExtensionB,
00163 CJKCompatibilityIdeographSupplement,
00164 Tags,
00165 VariationSelectorSupplement,
00166 SupplementaryPrivateUseAreaA,
00167 SupplementaryPrivateUseAreaB,
00168 UNICODE_BLOCKS_END
00169 };
00170
00172
vtkstd_bool Test (
const unsigned int ch,
const unsigned short blockType);
00173
00175
vtkstd_bool Test (
const unsigned int ch,
const char* blockName);
00176
00178
template <
typename T>
00179
static inline vtkstd_bool
00180 InBasicLatin (T
const& a)
00181 {
00182
return ((T(0x00U) <= a) && (a <= T(0x7FU)));
00183 }
00184
00186
template <
typename T>
00187
static inline vtkstd_bool
00188 InLatin1Supplement (T
const& a)
00189 {
00190
return ((T(0x80U) <= a) && (a <= T(0xFFU)));
00191 }
00192
00194
template <
typename T>
00195
static inline vtkstd_bool
00196 InLatinExtendedA (T
const& a)
00197 {
00198
return ((T(0x100U) <= a) && (a <= T(0x17FU)));
00199 }
00200
00202
template <
typename T>
00203
static inline vtkstd_bool
00204 InLatinExtendedB (T
const& a)
00205 {
00206
return ((T(0x180U) <= a) && (a <= T(0x24FU)));
00207 }
00208
00210
template <
typename T>
00211
static inline vtkstd_bool
00212 InIPAExtensions (T
const& a)
00213 {
00214
return ((T(0x250U) <= a) && (a <= T(0x2AFU)));
00215 }
00216
00218
template <
typename T>
00219
static inline vtkstd_bool
00220 InSpacingModifierLetters (T
const& a)
00221 {
00222
return ((T(0x2B0U) <= a) && (a <= T(0x2FFU)));
00223 }
00224
00226
template <
typename T>
00227
static inline vtkstd_bool
00228 InCombiningDiacriticalMarks (T
const& a)
00229 {
00230
return ((T(0x300U) <= a) && (a <= T(0x36FU)));
00231 }
00232
00234
template <
typename T>
00235
static inline vtkstd_bool
00236 InGreekAndCoptic (T
const& a)
00237 {
00238
return ((T(0x370U) <= a) && (a <= T(0x3FFU)));
00239 }
00240
00242
template <
typename T>
00243
static inline vtkstd_bool
00244 InCyrillic (T
const& a)
00245 {
00246
return ((T(0x400U) <= a) && (a <= T(0x4FFU)));
00247 }
00248
00250
template <
typename T>
00251
static inline vtkstd_bool
00252 InCyrillicSupplementary (T
const& a)
00253 {
00254
return ((T(0x500U) <= a) && (a <= T(0x52FU)));
00255 }
00256
00258
template <
typename T>
00259
static inline vtkstd_bool
00260 InArmenian (T
const& a)
00261 {
00262
return ((T(0x530U) <= a) && (a <= T(0x58FU)));
00263 }
00264
00266
template <
typename T>
00267
static inline vtkstd_bool
00268 InHebrew (T
const& a)
00269 {
00270
return ((T(0x590U) <= a) && (a <= T(0x5FFU)));
00271 }
00272
00274
template <
typename T>
00275
static inline vtkstd_bool
00276 InArabic (T
const& a)
00277 {
00278
return ((T(0x600U) <= a) && (a <= T(0x6FFU)));
00279 }
00280
00282
template <
typename T>
00283
static inline vtkstd_bool
00284 InSyriac (T
const& a)
00285 {
00286
return ((T(0x700U) <= a) && (a <= T(0x74FU)));
00287 }
00288
00290
template <
typename T>
00291
static inline vtkstd_bool
00292 InThaana (T
const& a)
00293 {
00294
return ((T(0x780U) <= a) && (a <= T(0x7BFU)));
00295 }
00296
00298
template <
typename T>
00299
static inline vtkstd_bool
00300 InDevanagari (T
const& a)
00301 {
00302
return ((T(0x900U) <= a) && (a <= T(0x97FU)));
00303 }
00304
00306
template <
typename T>
00307
static inline vtkstd_bool
00308 InBengali (T
const& a)
00309 {
00310
return ((T(0x980U) <= a) && (a <= T(0x9FFU)));
00311 }
00312
00314
template <
typename T>
00315
static inline vtkstd_bool
00316 InGurmukhi (T
const& a)
00317 {
00318
return ((T(0xA00U) <= a) && (a <= T(0xA7FU)));
00319 }
00320
00322
template <
typename T>
00323
static inline vtkstd_bool
00324 InGujarati (T
const& a)
00325 {
00326
return ((T(0xA80U) <= a) && (a <= T(0xAFFU)));
00327 }
00328
00330
template <
typename T>
00331
static inline vtkstd_bool
00332 InOriya (T
const& a)
00333 {
00334
return ((T(0xB00U) <= a) && (a <= T(0xB7FU)));
00335 }
00336
00338
template <
typename T>
00339
static inline vtkstd_bool
00340 InTamil (T
const& a)
00341 {
00342
return ((T(0xB80U) <= a) && (a <= T(0xBFFU)));
00343 }
00344
00346
template <
typename T>
00347
static inline vtkstd_bool
00348 InTelugu (T
const& a)
00349 {
00350
return ((T(0xC00U) <= a) && (a <= T(0xC7FU)));
00351 }
00352
00354
template <
typename T>
00355
static inline vtkstd_bool
00356 InKannada (T
const& a)
00357 {
00358
return ((T(0xC80U) <= a) && (a <= T(0xCFFU)));
00359 }
00360
00362
template <
typename T>
00363
static inline vtkstd_bool
00364 InMalayalam (T
const& a)
00365 {
00366
return ((T(0xD00U) <= a) && (a <= T(0xD7FU)));
00367 }
00368
00370
template <
typename T>
00371
static inline vtkstd_bool
00372 InSinhala (T
const& a)
00373 {
00374
return ((T(0xD80U) <= a) && (a <= T(0xDFFU)));
00375 }
00376
00378
template <
typename T>
00379
static inline vtkstd_bool
00380 InThai (T
const& a)
00381 {
00382
return ((T(0xE00U) <= a) && (a <= T(0xE7FU)));
00383 }
00384
00386
template <
typename T>
00387
static inline vtkstd_bool
00388 InLao (T
const& a)
00389 {
00390
return ((T(0xE80U) <= a) && (a <= T(0xEFFU)));
00391 }
00392
00394
template <
typename T>
00395
static inline vtkstd_bool
00396 InTibetan (T
const& a)
00397 {
00398
return ((T(0xF00U) <= a) && (a <= T(0xFFFU)));
00399 }
00400
00402
template <
typename T>
00403
static inline vtkstd_bool
00404 InMyanmar (T
const& a)
00405 {
00406
return ((T(0x1000U) <= a) && (a <= T(0x109FU)));
00407 }
00408
00410
template <
typename T>
00411
static inline vtkstd_bool
00412 InGeorgian (T
const& a)
00413 {
00414
return ((T(0x10A0U) <= a) && (a <= T(0x10FFU)));
00415 }
00416
00418
template <
typename T>
00419
static inline vtkstd_bool
00420 InHangulJamo (T
const& a)
00421 {
00422
return ((T(0x1100U) <= a) && (a <= T(0x11FFU)));
00423 }
00424
00426
template <
typename T>
00427
static inline vtkstd_bool
00428 InEthiopic (T
const& a)
00429 {
00430
return ((T(0x1200U) <= a) && (a <= T(0x137FU)));
00431 }
00432
00434
template <
typename T>
00435
static inline vtkstd_bool
00436 InCherokee (T
const& a)
00437 {
00438
return ((T(0x13A0U) <= a) && (a <= T(0x13FFU)));
00439 }
00440
00442
template <
typename T>
00443
static inline vtkstd_bool
00444 InUnifiedCanadianAboriginalSyllabics (T
const& a)
00445 {
00446
return ((T(0x1400U) <= a) && (a <= T(0x167FU)));
00447 }
00448
00450
template <
typename T>
00451
static inline vtkstd_bool
00452 InOgham (T
const& a)
00453 {
00454
return ((T(0x1680U) <= a) && (a <= T(0x169FU)));
00455 }
00456
00458
template <
typename T>
00459
static inline vtkstd_bool
00460 InRunic (T
const& a)
00461 {
00462
return ((T(0x16A0U) <= a) && (a <= T(0x16FFU)));
00463 }
00464
00466
template <
typename T>
00467
static inline vtkstd_bool
00468 InTagalog (T
const& a)
00469 {
00470
return ((T(0x1700U) <= a) && (a <= T(0x171FU)));
00471 }
00472
00474
template <
typename T>
00475
static inline vtkstd_bool
00476 InHanunoo (T
const& a)
00477 {
00478
return ((T(0x1720U) <= a) && (a <= T(0x173FU)));
00479 }
00480
00482
template <
typename T>
00483
static inline vtkstd_bool
00484 InBuhid (T
const& a)
00485 {
00486
return ((T(0x1740U) <= a) && (a <= T(0x175FU)));
00487 }
00488
00490
template <
typename T>
00491
static inline vtkstd_bool
00492 InTagbanwa (T
const& a)
00493 {
00494
return ((T(0x1760U) <= a) && (a <= T(0x177FU)));
00495 }
00496
00498
template <
typename T>
00499
static inline vtkstd_bool
00500 InKhmer (T
const& a)
00501 {
00502
return ((T(0x1780U) <= a) && (a <= T(0x17FFU)));
00503 }
00504
00506
template <
typename T>
00507
static inline vtkstd_bool
00508 InMongolian (T
const& a)
00509 {
00510
return ((T(0x1800U) <= a) && (a <= T(0x18AFU)));
00511 }
00512
00514
template <
typename T>
00515
static inline vtkstd_bool
00516 InLimbu (T
const& a)
00517 {
00518
return ((T(0x1900U) <= a) && (a <= T(0x194FU)));
00519 }
00520
00522
template <
typename T>
00523
static inline vtkstd_bool
00524 InTaiLe (T
const& a)
00525 {
00526
return ((T(0x1950U) <= a) && (a <= T(0x197FU)));
00527 }
00528
00530
template <
typename T>
00531
static inline vtkstd_bool
00532 InKhmerSymbols (T
const& a)
00533 {
00534
return ((T(0x19E0U) <= a) && (a <= T(0x19FFU)));
00535 }
00536
00538
template <
typename T>
00539
static inline vtkstd_bool
00540 InPhoneticExtensions (T
const& a)
00541 {
00542
return ((T(0x1D00U) <= a) && (a <= T(0x1D7FU)));
00543 }
00544
00546
template <
typename T>
00547
static inline vtkstd_bool
00548 InLatinExtendedAdditional (T
const& a)
00549 {
00550
return ((T(0x1E00U) <= a) && (a <= T(0x1EFFU)));
00551 }
00552
00554
template <
typename T>
00555
static inline vtkstd_bool
00556 InGreekExtended (T
const& a)
00557 {
00558
return ((T(0x1F00U) <= a) && (a <= T(0x1FFFU)));
00559 }
00560
00562
template <
typename T>
00563
static inline vtkstd_bool
00564 InGeneralPunctuation (T
const& a)
00565 {
00566
return ((T(0x2000U) <= a) && (a <= T(0x206FU)));
00567 }
00568
00570
template <
typename T>
00571
static inline vtkstd_bool
00572 InSuperscriptsAndSubscripts (T
const& a)
00573 {
00574
return ((T(0x2070U) <= a) && (a <= T(0x209FU)));
00575 }
00576
00578
template <
typename T>
00579
static inline vtkstd_bool
00580 InCurrencySymbols (T
const& a)
00581 {
00582
return ((T(0x20A0U) <= a) && (a <= T(0x20CFU)));
00583 }
00584
00586
template <
typename T>
00587
static inline vtkstd_bool
00588 InCombiningDiacriticalMarkForSymbols (T
const& a)
00589 {
00590
return ((T(0x20D0U) <= a) && (a <= T(0x20FFU)));
00591 }
00592
00594
template <
typename T>
00595
static inline vtkstd_bool
00596 InLetterlikeSymbols (T
const& a)
00597 {
00598
return ((T(0x2100U) <= a) && (a <= T(0x214FU)));
00599 }
00600
00602
template <
typename T>
00603
static inline vtkstd_bool
00604 InNumberForms (T
const& a)
00605 {
00606
return ((T(0x2150U) <= a) && (a <= T(0x218FU)));
00607 }
00608
00610
template <
typename T>
00611
static inline vtkstd_bool
00612 InArrows (T
const& a)
00613 {
00614
return ((T(0x2190U) <= a) && (a <= T(0x21FFU)));
00615 }
00616
00618
template <
typename T>
00619
static inline vtkstd_bool
00620 InMathematicalOperators (T
const& a)
00621 {
00622
return ((T(0x2200U) <= a) && (a <= T(0x22FFU)));
00623 }
00624
00626
template <
typename T>
00627
static inline vtkstd_bool
00628 InMiscellaneousTechnical (T
const& a)
00629 {
00630
return ((T(0x2300U) <= a) && (a <= T(0x23FFU)));
00631 }
00632
00634
template <
typename T>
00635
static inline vtkstd_bool
00636 InControlPictures (T
const& a)
00637 {
00638
return ((T(0x2400U) <= a) && (a <= T(0x243FU)));
00639 }
00640
00642
template <
typename T>
00643
static inline vtkstd_bool
00644 InOpticalCharacterRecognition (T
const& a)
00645 {
00646
return ((T(0x2440U) <= a) && (a <= T(0x245FU)));
00647 }
00648
00650
template <
typename T>
00651
static inline vtkstd_bool
00652 InEnclosedAlphanumerics (T
const& a)
00653 {
00654
return ((T(0x2460U) <= a) && (a <= T(0x24FFU)));
00655 }
00656
00658
template <
typename T>
00659
static inline vtkstd_bool
00660 InBoxDrawing (T
const& a)
00661 {
00662
return ((T(0x2500U) <= a) && (a <= T(0x257FU)));
00663 }
00664
00666
template <
typename T>
00667
static inline vtkstd_bool
00668 InBlockElements (T
const& a)
00669 {
00670
return ((T(0x2580U) <= a) && (a <= T(0x259FU)));
00671 }
00672
00674
template <
typename T>
00675
static inline vtkstd_bool
00676 InGeometricShapes (T
const& a)
00677 {
00678
return ((T(0x25A0U) <= a) && (a <= T(0x25FFU)));
00679 }
00680
00682
template <
typename T>
00683
static inline vtkstd_bool
00684 InMiscellaneousSymbols (T
const& a)
00685 {
00686
return ((T(0x2600U) <= a) && (a <= T(0x26FFU)));
00687 }
00688
00690
template <
typename T>
00691
static inline vtkstd_bool
00692 InDingbats (T
const& a)
00693 {
00694
return ((T(0x2700U) <= a) && (a <= T(0x27BFU)));
00695 }
00696
00698
template <
typename T>
00699
static inline vtkstd_bool
00700 InMiscellaneousMathematicalSymbolA (T
const& a)
00701 {
00702
return ((T(0x27C0U) <= a) && (a <= T(0x27EFU)));
00703 }
00704
00706
template <
typename T>
00707
static inline vtkstd_bool
00708 InSupplementalArrowA (T
const& a)
00709 {
00710
return ((T(0x27F0U) <= a) && (a <= T(0x27FFU)));
00711 }
00712
00714
template <
typename T>
00715
static inline vtkstd_bool
00716 InBraillePatterns (T
const& a)
00717 {
00718
return ((T(0x2800U) <= a) && (a <= T(0x28FFU)));
00719 }
00720
00722
template <
typename T>
00723
static inline vtkstd_bool
00724 InSupplementalArrowsB (T
const& a)
00725 {
00726
return ((T(0x2900U) <= a) && (a <= T(0x297FU)));
00727 }
00728
00730
template <
typename T>
00731
static inline vtkstd_bool
00732 InMiscellaneousMathematicalSymbolsB (T
const& a)
00733 {
00734
return ((T(0x2980U) <= a) && (a <= T(0x29FFU)));
00735 }
00736
00738
template <
typename T>
00739
static inline vtkstd_bool
00740 InSupplementalMathematicalOperators (T
const& a)
00741 {
00742
return ((T(0x2A00U) <= a) && (a <= T(0x2AFFU)));
00743 }
00744
00746
template <
typename T>
00747
static inline vtkstd_bool
00748 InMiscellaneousSymbolsAndArrows (T
const& a)
00749 {
00750
return ((T(0x2B00U) <= a) && (a <= T(0x2BFFU)));
00751 }
00752
00754
template <
typename T>
00755
static inline vtkstd_bool
00756 InCJKRadicalSupplement (T
const& a)
00757 {
00758
return ((T(0x2E80U) <= a) && (a <= T(0x2EFFU)));
00759 }
00760
00762
template <
typename T>
00763
static inline vtkstd_bool
00764 InKangxiRadicals (T
const& a)
00765 {
00766
return ((T(0x2F00U) <= a) && (a <= T(0x2FDFU)));
00767 }
00768
00770
template <
typename T>
00771
static inline vtkstd_bool
00772 InIdeographicDescriptionCharacters (T
const& a)
00773 {
00774
return ((T(0x2FF0U) <= a) && (a <= T(0x2FFFU)));
00775 }
00776
00778
template <
typename T>
00779
static inline vtkstd_bool
00780 InCJKSymbolsAndPunctuation (T
const& a)
00781 {
00782
return ((T(0x3000U) <= a) && (a <= T(0x303FU)));
00783 }
00784
00786
template <
typename T>
00787
static inline vtkstd_bool
00788 InHiragana (T
const& a)
00789 {
00790
return ((T(0x3040U) <= a) && (a <= T(0x309FU)));
00791 }
00792
00794
template <
typename T>
00795
static inline vtkstd_bool
00796 InKatakana (T
const& a)
00797 {
00798
return ((T(0x30A0U) <= a) && (a <= T(0x30FFU)));
00799 }
00800
00802
template <
typename T>
00803
static inline vtkstd_bool
00804 InBopomofo (T
const& a)
00805 {
00806
return ((T(0x3100U) <= a) && (a <= T(0x312FU)));
00807 }
00808
00810
template <
typename T>
00811
static inline vtkstd_bool
00812 InHangulCompatibilityJamo (T
const& a)
00813 {
00814
return ((T(0x3130U) <= a) && (a <= T(0x318FU)));
00815 }
00816
00818
template <
typename T>
00819
static inline vtkstd_bool
00820 InKanbun (T
const& a)
00821 {
00822
return ((T(0x3190U) <= a) && (a <= T(0x319FU)));
00823 }
00824
00826
template <
typename T>
00827
static inline vtkstd_bool
00828 InBopomofoExtended (T
const& a)
00829 {
00830
return ((T(0x31A0U) <= a) && (a <= T(0x31BFU)));
00831 }
00832
00834
template <
typename T>
00835
static inline vtkstd_bool
00836 InKatakanaPhoneticExtensions (T
const& a)
00837 {
00838
return ((T(0x31F0U) <= a) && (a <= T(0x31FFU)));
00839 }
00840
00842
template <
typename T>
00843
static inline vtkstd_bool
00844 InEnclosedCJKLettersAndMonths (T
const& a)
00845 {
00846
return ((T(0x3200U) <= a) && (a <= T(0x32FFU)));
00847 }
00848
00850
template <
typename T>
00851
static inline vtkstd_bool
00852 InCJKCompatibility (T
const& a)
00853 {
00854
return ((T(0x3300U) <= a) && (a <= T(0x33FFU)));
00855 }
00856
00858
template <
typename T>
00859
static inline vtkstd_bool
00860 InCJKUnifiedIdeographExtensionA (T
const& a)
00861 {
00862
return ((T(0x3400U) <= a) && (a <= T(0x4DBFU)));
00863 }
00864
00866
template <
typename T>
00867
static inline vtkstd_bool
00868 InYijingHexagramSymbols (T
const& a)
00869 {
00870
return ((T(0x4DC0U) <= a) && (a <= T(0x4DFFU)));
00871 }
00872
00874
template <
typename T>
00875
static inline vtkstd_bool
00876 InCJKUnifiedIdeographs (T
const& a)
00877 {
00878
return ((T(0x4E00U) <= a) && (a <= T(0x9FFFU)));
00879 }
00880
00882
template <
typename T>
00883
static inline vtkstd_bool
00884 InYiSyllables (T
const& a)
00885 {
00886
return ((T(0xA000U) <= a) && (a <= T(0xA48FU)));
00887 }
00888
00890
template <
typename T>
00891
static inline vtkstd_bool
00892 InYiRadicals (T
const& a)
00893 {
00894
return ((T(0xA490U) <= a) && (a <= T(0xA4CFU)));
00895 }
00896
00898
template <
typename T>
00899
static inline vtkstd_bool
00900 InHangulSyllables (T
const& a)
00901 {
00902
return ((T(0xAC00U) <= a) && (a <= T(0xD7AFU)));
00903 }
00904
00906
template <
typename T>
00907
static inline vtkstd_bool
00908 InHighSurrogates (T
const& a)
00909 {
00910
return ((T(0xD800U) <= a) && (a <= T(0xDB7FU)));
00911 }
00912
00914
template <
typename T>
00915
static inline vtkstd_bool
00916 InHighPrivateUseSurrogates (T
const& a)
00917 {
00918
return ((T(0xDB80U) <= a) && (a <= T(0xDBFFU)));
00919 }
00920
00922
template <
typename T>
00923
static inline vtkstd_bool
00924 InLowSurrogates (T
const& a)
00925 {
00926
return ((T(0xDC00U) <= a) && (a <= T(0xDFFFU)));
00927 }
00928
00930
template <
typename T>
00931
static inline vtkstd_bool
00932 InPrivateUseArea (T
const& a)
00933 {
00934
return ((T(0xE000U) <= a) && (a <= T(0xF8FFU)));
00935 }
00936
00938
template <
typename T>
00939
static inline vtkstd_bool
00940 InCJKCompatibilityIdeographs (T
const& a)
00941 {
00942
return ((T(0xF900U) <= a) && (a <= T(0xFAFFU)));
00943 }
00944
00946
template <
typename T>
00947
static inline vtkstd_bool
00948 InAlphabeticPresentationForms (T
const& a)
00949 {
00950
return ((T(0xFB00U) <= a) && (a <= T(0xFB4FU)));
00951 }
00952
00954
template <
typename T>
00955
static inline vtkstd_bool
00956 InArabicPresentationFormA (T
const& a)
00957 {
00958
return ((T(0xFB50U) <= a) && (a <= T(0xFDFFU)));
00959 }
00960
00962
template <
typename T>
00963
static inline vtkstd_bool
00964 InVariationSelectors (T
const& a)
00965 {
00966
return ((T(0xFE00U) <= a) && (a <= T(0xFE0FU)));
00967 }
00968
00970
template <
typename T>
00971
static inline vtkstd_bool
00972 InCombiningHalfMarks (T
const& a)
00973 {
00974
return ((T(0xFE20U) <= a) && (a <= T(0xFE2FU)));
00975 }
00976
00978
template <
typename T>
00979
static inline vtkstd_bool
00980 InCJKCompatibilityForms (T
const& a)
00981 {
00982
return ((T(0xFE30U) <= a) && (a <= T(0xFE4FU)));
00983 }
00984
00986
template <
typename T>
00987
static inline vtkstd_bool
00988 InSmallFormVariants (T
const& a)
00989 {
00990
return ((T(0xFE50U) <= a) && (a <= T(0xFE6FU)));
00991 }
00992
00994
template <
typename T>
00995
static inline vtkstd_bool
00996 InArabicPresentationFormB (T
const& a)
00997 {
00998
return ((T(0xFE70U) <= a) && (a <= T(0xFEFFU)));
00999 }
01000
01002
template <
typename T>
01003
static inline vtkstd_bool
01004 InHalfwidthAndFullwidthForms (T
const& a)
01005 {
01006
return ((T(0xFF00U) <= a) && (a <= T(0xFFEFU)));
01007 }
01008
01010
template <
typename T>
01011
static inline vtkstd_bool
01012 InSpecials (T
const& a)
01013 {
01014
return ((T(0xFFF0U) <= a) && (a <= T(0xFFFFU)));
01015 }
01016
01018
template <
typename T>
01019
static inline vtkstd_bool
01020 InLinearBSyllabary (T
const& a)
01021 {
01022
return ((T(0x10000U) <= a) && (a <= T(0x1007FU)));
01023 }
01024
01026
template <
typename T>
01027
static inline vtkstd_bool
01028 InLinearBIdeograms (T
const& a)
01029 {
01030
return ((T(0x10080U) <= a) && (a <= T(0x100FFU)));
01031 }
01032
01034
template <
typename T>
01035
static inline vtkstd_bool
01036 InAegeanNumbers (T
const& a)
01037 {
01038
return ((T(0x10100U) <= a) && (a <= T(0x1013FU)));
01039 }
01040
01042
template <
typename T>
01043
static inline vtkstd_bool
01044 InOldItalic (T
const& a)
01045 {
01046
return ((T(0x10300U) <= a) && (a <= T(0x1032FU)));
01047 }
01048
01050
template <
typename T>
01051
static inline vtkstd_bool
01052 InGothic (T
const& a)
01053 {
01054
return ((T(0x10330U) <= a) && (a <= T(0x1034FU)));
01055 }
01056
01058
template <
typename T>
01059
static inline vtkstd_bool
01060 InUgaritic (T
const& a)
01061 {
01062
return ((T(0x10380U) <= a) && (a <= T(0x1039FU)));
01063 }
01064
01066
template <
typename T>
01067
static inline vtkstd_bool
01068 InDeseret (T
const& a)
01069 {
01070
return ((T(0x10400U) <= a) && (a <= T(0x1044FU)));
01071 }
01072
01074
template <
typename T>
01075
static inline vtkstd_bool
01076 InShavian (T
const& a)
01077 {
01078
return ((T(0x10450U) <= a) && (a <= T(0x1047FU)));
01079 }
01080
01082
template <
typename T>
01083
static inline vtkstd_bool
01084 InOsmanya (T
const& a)
01085 {
01086
return ((T(0x10480U) <= a) && (a <= T(0x104AFU)));
01087 }
01088
01090
template <
typename T>
01091
static inline vtkstd_bool
01092 InCypriotSyllabary (T
const& a)
01093 {
01094
return ((T(0x10800U) <= a) && (a <= T(0x1083FU)));
01095 }
01096
01098
template <
typename T>
01099
static inline vtkstd_bool
01100 InByzantineMusicalSymbols (T
const& a)
01101 {
01102
return ((T(0x1D000U) <= a) && (a <= T(0x1D0FFU)));
01103 }
01104
01106
template <
typename T>
01107
static inline vtkstd_bool
01108 InMusicalSymbols (T
const& a)
01109 {
01110
return ((T(0x1D100U) <= a) && (a <= T(0x1D1FFU)));
01111 }
01112
01114
template <
typename T>
01115
static inline vtkstd_bool
01116 InTaiXuanJingSymbols (T
const& a)
01117 {
01118
return ((T(0x1D300U) <= a) && (a <= T(0x1D35FU)));
01119 }
01120
01122
template <
typename T>
01123
static inline vtkstd_bool
01124 InMathematicalAlphanumericSymbols (T
const& a)
01125 {
01126
return ((T(0x1D400U) <= a) && (a <= T(0x1D7FFU)));
01127 }
01128
01130
template <
typename T>
01131
static inline vtkstd_bool
01132 InCJKUnifiedIdeographExtensionB (T
const& a)
01133 {
01134
return ((T(0x20000U) <= a) && (a <= T(0x2A6DFU)));
01135 }
01136
01138
template <
typename T>
01139
static inline vtkstd_bool
01140 InCJKCompatibilityIdeographSupplement (T
const& a)
01141 {
01142
return ((T(0x2F800U) <= a) && (a <= T(0x2FA1FU)));
01143 }
01144
01146
template <
typename T>
01147
static inline vtkstd_bool
01148 InTags (T
const& a)
01149 {
01150
return ((T(0xE0000U) <= a) && (a <= T(0xE007FU)));
01151 }
01152
01154
template <
typename T>
01155
static inline vtkstd_bool
01156 InVariationSelectorSupplement (T
const& a)
01157 {
01158
return ((T(0xE0100U) <= a) && (a <= T(0xE01EFU)));
01159 }
01160
01162
template <
typename T>
01163
static inline vtkstd_bool
01164 InSupplementaryPrivateUseAreaA (T
const& a)
01165 {
01166
return ((T(0xF0000U) <= a) && (a <= T(0xFFFFFU)));
01167 }
01168
01170
template <
typename T>
01171
static inline vtkstd_bool
01172 InSupplementaryPrivateUseAreaB (T
const& a)
01173 {
01174
return ((T(0x100000U) <= a) && (a <= T(0x10FFFFU)));
01175 }
01176
01177
private:
01178 vtkUnicodeDataBlocks (
void);
01179 ~vtkUnicodeDataBlocks();
01180
01181 vtkUnicodeDataBlocksInternal* Internal;
01182
01183
private:
01189 vtkUnicodeDataBlocks (
const vtkUnicodeDataBlocks&);
01190
void operator= (
const vtkUnicodeDataBlocks&);
01192 };
01193
01194
VTK_EXTENSIONS_UNICODE_NAMESPACE_END
01195
01196
#endif
01197
01198
01199
01200