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

vtkUnicodeDataBlocks.h

Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkUnicodeDataBlocks.h,v 1.2 2004/08/10 07:37:23 xpxqx Exp $ 00004 * 00005 * Copyright (c) 2004 Sean McInerney 00006 * All rights reserved. 00007 * 00008 * See Copyright.txt or http://vtkextensions.sourceforge.net/Copyright.html 00009 * for details. 00010 * 00011 * This software is distributed WITHOUT ANY WARRANTY; without even 00012 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 * PURPOSE. See the above copyright notice for more information. 00014 * 00015 * from Blocks-4.0.0.txt 00016 * Correlated with Unicode 4.0 00017 * Note: The casing of block names is not normative. 00018 * For example, "Basic Latin" and "BASIC LATIN" are equivalent. 00019 * 00020 * Code points not explicitly listed in this file are given the value No_Block. 00021 * 00022 * Start Code..End Code; Block Name 00023 * 00024 */ 00025 #ifndef VTK_UNICODE_DATA_BLOCKS_H_ 00026 # define VTK_UNICODE_DATA_BLOCKS_H_ 00027 # include "vtkExtensionsUnicodeConfigure.h" // vtkExtensions configuration 00028 # include "vtkExtensionsTypes.h" // vtkExtensions types 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 /* VTK_UNICODE_DATA_BLOCKS_H_ */ 01197 /* 01198 * End of: $Id: vtkUnicodeDataBlocks.h,v 1.2 2004/08/10 07:37:23 xpxqx Exp $. 01199 * 01200 */

Generated on Tue Aug 10 03:38:42 2004 for vtkExtensions by doxygen 1.3.7