⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlunicode.c

📁 ReactOS是一些高手根据Windows XP的内核编写出的类XP。内核实现机理和API函数调用几乎相同。甚至可以兼容XP的程序。喜欢研究系统内核的人可以看一看。
💻 C
📖 第 1 页 / 共 5 页
字号:
/*
 * xmlunicode.c: this module implements the Unicode character APIs
 *
 * This file is automatically generated from the
 * UCS description files of the Unicode Character Database
 * http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1d5b.html
 * using the genUnicode.py Python script.
 *
 * Generation date: Mon Nov 10 22:35:10 2003
 * Sources: Blocks-4.0.1d1b.txt UnicodeData-4.0.1d1b.txt
 * Daniel Veillard <veillard@redhat.com>
 */

#define IN_LIBXML
#include "libxml.h"

#ifdef LIBXML_UNICODE_ENABLED

#include <string.h>
#include <libxml/xmlversion.h>
#include <libxml/xmlunicode.h>
#include <libxml/chvalid.h>

typedef int (xmlIntFunc)(int);	/* just to keep one's mind untwisted */

typedef struct {
    const char *rangename;
    xmlIntFunc *func;
} xmlUnicodeRange;

typedef struct {
    xmlUnicodeRange *table;
    int		    numentries;
} xmlUnicodeNameTable;


static xmlIntFunc *xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname);

static xmlUnicodeRange xmlUnicodeBlocks[] = {
  {"AegeanNumbers", xmlUCSIsAegeanNumbers},
  {"AlphabeticPresentationForms", xmlUCSIsAlphabeticPresentationForms},
  {"Arabic", xmlUCSIsArabic},
  {"ArabicPresentationForms-A", xmlUCSIsArabicPresentationFormsA},
  {"ArabicPresentationForms-B", xmlUCSIsArabicPresentationFormsB},
  {"Armenian", xmlUCSIsArmenian},
  {"Arrows", xmlUCSIsArrows},
  {"BasicLatin", xmlUCSIsBasicLatin},
  {"Bengali", xmlUCSIsBengali},
  {"BlockElements", xmlUCSIsBlockElements},
  {"Bopomofo", xmlUCSIsBopomofo},
  {"BopomofoExtended", xmlUCSIsBopomofoExtended},
  {"BoxDrawing", xmlUCSIsBoxDrawing},
  {"BraillePatterns", xmlUCSIsBraillePatterns},
  {"Buhid", xmlUCSIsBuhid},
  {"ByzantineMusicalSymbols", xmlUCSIsByzantineMusicalSymbols},
  {"CJKCompatibility", xmlUCSIsCJKCompatibility},
  {"CJKCompatibilityForms", xmlUCSIsCJKCompatibilityForms},
  {"CJKCompatibilityIdeographs", xmlUCSIsCJKCompatibilityIdeographs},
  {"CJKCompatibilityIdeographsSupplement", xmlUCSIsCJKCompatibilityIdeographsSupplement},
  {"CJKRadicalsSupplement", xmlUCSIsCJKRadicalsSupplement},
  {"CJKSymbolsandPunctuation", xmlUCSIsCJKSymbolsandPunctuation},
  {"CJKUnifiedIdeographs", xmlUCSIsCJKUnifiedIdeographs},
  {"CJKUnifiedIdeographsExtensionA", xmlUCSIsCJKUnifiedIdeographsExtensionA},
  {"CJKUnifiedIdeographsExtensionB", xmlUCSIsCJKUnifiedIdeographsExtensionB},
  {"Cherokee", xmlUCSIsCherokee},
  {"CombiningDiacriticalMarks", xmlUCSIsCombiningDiacriticalMarks},
  {"CombiningDiacriticalMarksforSymbols", xmlUCSIsCombiningDiacriticalMarksforSymbols},
  {"CombiningHalfMarks", xmlUCSIsCombiningHalfMarks},
  {"CombiningMarksforSymbols", xmlUCSIsCombiningMarksforSymbols},
  {"ControlPictures", xmlUCSIsControlPictures},
  {"CurrencySymbols", xmlUCSIsCurrencySymbols},
  {"CypriotSyllabary", xmlUCSIsCypriotSyllabary},
  {"Cyrillic", xmlUCSIsCyrillic},
  {"CyrillicSupplement", xmlUCSIsCyrillicSupplement},
  {"Deseret", xmlUCSIsDeseret},
  {"Devanagari", xmlUCSIsDevanagari},
  {"Dingbats", xmlUCSIsDingbats},
  {"EnclosedAlphanumerics", xmlUCSIsEnclosedAlphanumerics},
  {"EnclosedCJKLettersandMonths", xmlUCSIsEnclosedCJKLettersandMonths},
  {"Ethiopic", xmlUCSIsEthiopic},
  {"GeneralPunctuation", xmlUCSIsGeneralPunctuation},
  {"GeometricShapes", xmlUCSIsGeometricShapes},
  {"Georgian", xmlUCSIsGeorgian},
  {"Gothic", xmlUCSIsGothic},
  {"Greek", xmlUCSIsGreek},
  {"GreekExtended", xmlUCSIsGreekExtended},
  {"GreekandCoptic", xmlUCSIsGreekandCoptic},
  {"Gujarati", xmlUCSIsGujarati},
  {"Gurmukhi", xmlUCSIsGurmukhi},
  {"HalfwidthandFullwidthForms", xmlUCSIsHalfwidthandFullwidthForms},
  {"HangulCompatibilityJamo", xmlUCSIsHangulCompatibilityJamo},
  {"HangulJamo", xmlUCSIsHangulJamo},
  {"HangulSyllables", xmlUCSIsHangulSyllables},
  {"Hanunoo", xmlUCSIsHanunoo},
  {"Hebrew", xmlUCSIsHebrew},
  {"HighPrivateUseSurrogates", xmlUCSIsHighPrivateUseSurrogates},
  {"HighSurrogates", xmlUCSIsHighSurrogates},
  {"Hiragana", xmlUCSIsHiragana},
  {"IPAExtensions", xmlUCSIsIPAExtensions},
  {"IdeographicDescriptionCharacters", xmlUCSIsIdeographicDescriptionCharacters},
  {"Kanbun", xmlUCSIsKanbun},
  {"KangxiRadicals", xmlUCSIsKangxiRadicals},
  {"Kannada", xmlUCSIsKannada},
  {"Katakana", xmlUCSIsKatakana},
  {"KatakanaPhoneticExtensions", xmlUCSIsKatakanaPhoneticExtensions},
  {"Khmer", xmlUCSIsKhmer},
  {"KhmerSymbols", xmlUCSIsKhmerSymbols},
  {"Lao", xmlUCSIsLao},
  {"Latin-1Supplement", xmlUCSIsLatin1Supplement},
  {"LatinExtended-A", xmlUCSIsLatinExtendedA},
  {"LatinExtended-B", xmlUCSIsLatinExtendedB},
  {"LatinExtendedAdditional", xmlUCSIsLatinExtendedAdditional},
  {"LetterlikeSymbols", xmlUCSIsLetterlikeSymbols},
  {"Limbu", xmlUCSIsLimbu},
  {"LinearBIdeograms", xmlUCSIsLinearBIdeograms},
  {"LinearBSyllabary", xmlUCSIsLinearBSyllabary},
  {"LowSurrogates", xmlUCSIsLowSurrogates},
  {"Malayalam", xmlUCSIsMalayalam},
  {"MathematicalAlphanumericSymbols", xmlUCSIsMathematicalAlphanumericSymbols},
  {"MathematicalOperators", xmlUCSIsMathematicalOperators},
  {"MiscellaneousMathematicalSymbols-A", xmlUCSIsMiscellaneousMathematicalSymbolsA},
  {"MiscellaneousMathematicalSymbols-B", xmlUCSIsMiscellaneousMathematicalSymbolsB},
  {"MiscellaneousSymbols", xmlUCSIsMiscellaneousSymbols},
  {"MiscellaneousSymbolsandArrows", xmlUCSIsMiscellaneousSymbolsandArrows},
  {"MiscellaneousTechnical", xmlUCSIsMiscellaneousTechnical},
  {"Mongolian", xmlUCSIsMongolian},
  {"MusicalSymbols", xmlUCSIsMusicalSymbols},
  {"Myanmar", xmlUCSIsMyanmar},
  {"NumberForms", xmlUCSIsNumberForms},
  {"Ogham", xmlUCSIsOgham},
  {"OldItalic", xmlUCSIsOldItalic},
  {"OpticalCharacterRecognition", xmlUCSIsOpticalCharacterRecognition},
  {"Oriya", xmlUCSIsOriya},
  {"Osmanya", xmlUCSIsOsmanya},
  {"PhoneticExtensions", xmlUCSIsPhoneticExtensions},
  {"PrivateUse", xmlUCSIsPrivateUse},
  {"PrivateUseArea", xmlUCSIsPrivateUseArea},
  {"Runic", xmlUCSIsRunic},
  {"Shavian", xmlUCSIsShavian},
  {"Sinhala", xmlUCSIsSinhala},
  {"SmallFormVariants", xmlUCSIsSmallFormVariants},
  {"SpacingModifierLetters", xmlUCSIsSpacingModifierLetters},
  {"Specials", xmlUCSIsSpecials},
  {"SuperscriptsandSubscripts", xmlUCSIsSuperscriptsandSubscripts},
  {"SupplementalArrows-A", xmlUCSIsSupplementalArrowsA},
  {"SupplementalArrows-B", xmlUCSIsSupplementalArrowsB},
  {"SupplementalMathematicalOperators", xmlUCSIsSupplementalMathematicalOperators},
  {"SupplementaryPrivateUseArea-A", xmlUCSIsSupplementaryPrivateUseAreaA},
  {"SupplementaryPrivateUseArea-B", xmlUCSIsSupplementaryPrivateUseAreaB},
  {"Syriac", xmlUCSIsSyriac},
  {"Tagalog", xmlUCSIsTagalog},
  {"Tagbanwa", xmlUCSIsTagbanwa},
  {"Tags", xmlUCSIsTags},
  {"TaiLe", xmlUCSIsTaiLe},
  {"TaiXuanJingSymbols", xmlUCSIsTaiXuanJingSymbols},
  {"Tamil", xmlUCSIsTamil},
  {"Telugu", xmlUCSIsTelugu},
  {"Thaana", xmlUCSIsThaana},
  {"Thai", xmlUCSIsThai},
  {"Tibetan", xmlUCSIsTibetan},
  {"Ugaritic", xmlUCSIsUgaritic},
  {"UnifiedCanadianAboriginalSyllabics", xmlUCSIsUnifiedCanadianAboriginalSyllabics},
  {"VariationSelectors", xmlUCSIsVariationSelectors},
  {"VariationSelectorsSupplement", xmlUCSIsVariationSelectorsSupplement},
  {"YiRadicals", xmlUCSIsYiRadicals},
  {"YiSyllables", xmlUCSIsYiSyllables},
  {"YijingHexagramSymbols", xmlUCSIsYijingHexagramSymbols}};

static xmlUnicodeRange xmlUnicodeCats[] = {
  {"C", xmlUCSIsCatC},
  {"Cc", xmlUCSIsCatCc},
  {"Cf", xmlUCSIsCatCf},
  {"Co", xmlUCSIsCatCo},
  {"Cs", xmlUCSIsCatCs},
  {"L", xmlUCSIsCatL},
  {"Ll", xmlUCSIsCatLl},
  {"Lm", xmlUCSIsCatLm},
  {"Lo", xmlUCSIsCatLo},
  {"Lt", xmlUCSIsCatLt},
  {"Lu", xmlUCSIsCatLu},
  {"M", xmlUCSIsCatM},
  {"Mc", xmlUCSIsCatMc},
  {"Me", xmlUCSIsCatMe},
  {"Mn", xmlUCSIsCatMn},
  {"N", xmlUCSIsCatN},
  {"Nd", xmlUCSIsCatNd},
  {"Nl", xmlUCSIsCatNl},
  {"No", xmlUCSIsCatNo},
  {"P", xmlUCSIsCatP},
  {"Pc", xmlUCSIsCatPc},
  {"Pd", xmlUCSIsCatPd},
  {"Pe", xmlUCSIsCatPe},
  {"Pf", xmlUCSIsCatPf},
  {"Pi", xmlUCSIsCatPi},
  {"Po", xmlUCSIsCatPo},
  {"Ps", xmlUCSIsCatPs},
  {"S", xmlUCSIsCatS},
  {"Sc", xmlUCSIsCatSc},
  {"Sk", xmlUCSIsCatSk},
  {"Sm", xmlUCSIsCatSm},
  {"So", xmlUCSIsCatSo},
  {"Z", xmlUCSIsCatZ},
  {"Zl", xmlUCSIsCatZl},
  {"Zp", xmlUCSIsCatZp},
  {"Zs", xmlUCSIsCatZs}};

static xmlChSRange xmlCS[] = {{0x0, 0x1f}, {0x7f, 0x9f}, {0xad, 0xad}, 
    {0x600, 0x603}, {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, 
    {0x200c, 0x200f}, {0x202a, 0x202e}, {0x2060, 0x2063}, {0x206a, 0x206f}, 
    {0xd800, 0xd800}, {0xdb7f, 0xdb80}, {0xdbff, 0xdc00}, {0xdfff, 0xe000}, 
    {0xf8ff, 0xf8ff}, {0xfeff, 0xfeff}, {0xfff9, 0xfffb} };
static xmlChLRange xmlCL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, 
    {0xe0020, 0xe007f}, {0xf0000, 0xf0000}, {0xffffd, 0xffffd}, 
    {0x100000, 0x100000}, {0x10fffd, 0x10fffd} };
static xmlChRangeGroup xmlCG = {18,7,xmlCS,xmlCL};

static xmlChSRange xmlCfS[] = {{0xad, 0xad}, {0x600, 0x603}, 
    {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, {0x200c, 0x200f}, 
    {0x202a, 0x202e}, {0x2060, 0x2063}, {0x206a, 0x206f}, {0xfeff, 0xfeff}, 
    {0xfff9, 0xfffb} };
static xmlChLRange xmlCfL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, 
    {0xe0020, 0xe007f} };
static xmlChRangeGroup xmlCfG = {11,3,xmlCfS,xmlCfL};

static xmlChSRange xmlLS[] = {{0x41, 0x5a}, {0x61, 0x7a}, {0xaa, 0xaa}, 
    {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x236}, 
    {0x250, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ee, 0x2ee}, 
    {0x37a, 0x37a}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, 
    {0x38e, 0x3a1}, {0x3a3, 0x3ce}, {0x3d0, 0x3f5}, {0x3f7, 0x3fb}, 
    {0x400, 0x481}, {0x48a, 0x4ce}, {0x4d0, 0x4f5}, {0x4f8, 0x4f9}, 
    {0x500, 0x50f}, {0x531, 0x556}, {0x559, 0x559}, {0x561, 0x587}, 
    {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a}, {0x640, 0x64a}, 
    {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, 
    {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, 
    {0x712, 0x72f}, {0x74d, 0x74f}, {0x780, 0x7a5}, {0x7b1, 0x7b1}, 
    {0x904, 0x939}, {0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961}, 
    {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, 
    {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9dc, 0x9dd}, 
    {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, 
    {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, 
    {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, 
    {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, 
    {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, 
    {0xae0, 0xae1}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, 
    {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d}, 
    {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, 
    {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, 
    {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, 
    {0xbae, 0xbb5}, {0xbb7, 0xbb9}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, 
    {0xc12, 0xc28}, {0xc2a, 0xc33}, {0xc35, 0xc39}, {0xc60, 0xc61}, 
    {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, 
    {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcde, 0xcde}, {0xce0, 0xce1}, 
    {0xd05, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd28}, {0xd2a, 0xd39}, 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -