#
source:
trunk/third/libxml2/xmlunicode.c
@
21532

Revision 21532, 100.1 KB checked in by ghudson, 20 years ago (diff) |
---|

Line | |
---|---|

1 | /* |

2 | * xmlunicode.c: this module implements the Unicode character APIs |

3 | * |

4 | * This file is automatically generated from the |

5 | * UCS description files of the Unicode Character Database |

6 | * http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1d5b.html |

7 | * using the genUnicode.py Python script. |

8 | * |

9 | * Generation date: Mon Nov 10 22:35:10 2003 |

10 | * Sources: Blocks-4.0.1d1b.txt UnicodeData-4.0.1d1b.txt |

11 | * Daniel Veillard <veillard@redhat.com> |

12 | */ |

13 | |

14 | #define IN_LIBXML |

15 | #include "libxml.h" |

16 | |

17 | #ifdef LIBXML_UNICODE_ENABLED |

18 | |

19 | #include <string.h> |

20 | #include <libxml/xmlversion.h> |

21 | #include <libxml/xmlunicode.h> |

22 | #include <libxml/chvalid.h> |

23 | |

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

25 | |

26 | typedef struct { |

27 | const char *rangename; |

28 | xmlIntFunc *func; |

29 | } xmlUnicodeRange; |

30 | |

31 | typedef struct { |

32 | xmlUnicodeRange *table; |

33 | int numentries; |

34 | } xmlUnicodeNameTable; |

35 | |

36 | |

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

38 | |

39 | static xmlUnicodeRange xmlUnicodeBlocks[] = { |

40 | {"AegeanNumbers", xmlUCSIsAegeanNumbers}, |

41 | {"AlphabeticPresentationForms", xmlUCSIsAlphabeticPresentationForms}, |

42 | {"Arabic", xmlUCSIsArabic}, |

43 | {"ArabicPresentationForms-A", xmlUCSIsArabicPresentationFormsA}, |

44 | {"ArabicPresentationForms-B", xmlUCSIsArabicPresentationFormsB}, |

45 | {"Armenian", xmlUCSIsArmenian}, |

46 | {"Arrows", xmlUCSIsArrows}, |

47 | {"BasicLatin", xmlUCSIsBasicLatin}, |

48 | {"Bengali", xmlUCSIsBengali}, |

49 | {"BlockElements", xmlUCSIsBlockElements}, |

50 | {"Bopomofo", xmlUCSIsBopomofo}, |

51 | {"BopomofoExtended", xmlUCSIsBopomofoExtended}, |

52 | {"BoxDrawing", xmlUCSIsBoxDrawing}, |

53 | {"BraillePatterns", xmlUCSIsBraillePatterns}, |

54 | {"Buhid", xmlUCSIsBuhid}, |

55 | {"ByzantineMusicalSymbols", xmlUCSIsByzantineMusicalSymbols}, |

56 | {"CJKCompatibility", xmlUCSIsCJKCompatibility}, |

57 | {"CJKCompatibilityForms", xmlUCSIsCJKCompatibilityForms}, |

58 | {"CJKCompatibilityIdeographs", xmlUCSIsCJKCompatibilityIdeographs}, |

59 | {"CJKCompatibilityIdeographsSupplement", xmlUCSIsCJKCompatibilityIdeographsSupplement}, |

60 | {"CJKRadicalsSupplement", xmlUCSIsCJKRadicalsSupplement}, |

61 | {"CJKSymbolsandPunctuation", xmlUCSIsCJKSymbolsandPunctuation}, |

62 | {"CJKUnifiedIdeographs", xmlUCSIsCJKUnifiedIdeographs}, |

63 | {"CJKUnifiedIdeographsExtensionA", xmlUCSIsCJKUnifiedIdeographsExtensionA}, |

64 | {"CJKUnifiedIdeographsExtensionB", xmlUCSIsCJKUnifiedIdeographsExtensionB}, |

65 | {"Cherokee", xmlUCSIsCherokee}, |

66 | {"CombiningDiacriticalMarks", xmlUCSIsCombiningDiacriticalMarks}, |

67 | {"CombiningDiacriticalMarksforSymbols", xmlUCSIsCombiningDiacriticalMarksforSymbols}, |

68 | {"CombiningHalfMarks", xmlUCSIsCombiningHalfMarks}, |

69 | {"CombiningMarksforSymbols", xmlUCSIsCombiningMarksforSymbols}, |

70 | {"ControlPictures", xmlUCSIsControlPictures}, |

71 | {"CurrencySymbols", xmlUCSIsCurrencySymbols}, |

72 | {"CypriotSyllabary", xmlUCSIsCypriotSyllabary}, |

73 | {"Cyrillic", xmlUCSIsCyrillic}, |

74 | {"CyrillicSupplement", xmlUCSIsCyrillicSupplement}, |

75 | {"Deseret", xmlUCSIsDeseret}, |

76 | {"Devanagari", xmlUCSIsDevanagari}, |

77 | {"Dingbats", xmlUCSIsDingbats}, |

78 | {"EnclosedAlphanumerics", xmlUCSIsEnclosedAlphanumerics}, |

79 | {"EnclosedCJKLettersandMonths", xmlUCSIsEnclosedCJKLettersandMonths}, |

80 | {"Ethiopic", xmlUCSIsEthiopic}, |

81 | {"GeneralPunctuation", xmlUCSIsGeneralPunctuation}, |

82 | {"GeometricShapes", xmlUCSIsGeometricShapes}, |

83 | {"Georgian", xmlUCSIsGeorgian}, |

84 | {"Gothic", xmlUCSIsGothic}, |

85 | {"Greek", xmlUCSIsGreek}, |

86 | {"GreekExtended", xmlUCSIsGreekExtended}, |

87 | {"GreekandCoptic", xmlUCSIsGreekandCoptic}, |

88 | {"Gujarati", xmlUCSIsGujarati}, |

89 | {"Gurmukhi", xmlUCSIsGurmukhi}, |

90 | {"HalfwidthandFullwidthForms", xmlUCSIsHalfwidthandFullwidthForms}, |

91 | {"HangulCompatibilityJamo", xmlUCSIsHangulCompatibilityJamo}, |

92 | {"HangulJamo", xmlUCSIsHangulJamo}, |

93 | {"HangulSyllables", xmlUCSIsHangulSyllables}, |

94 | {"Hanunoo", xmlUCSIsHanunoo}, |

95 | {"Hebrew", xmlUCSIsHebrew}, |

96 | {"HighPrivateUseSurrogates", xmlUCSIsHighPrivateUseSurrogates}, |

97 | {"HighSurrogates", xmlUCSIsHighSurrogates}, |

98 | {"Hiragana", xmlUCSIsHiragana}, |

99 | {"IPAExtensions", xmlUCSIsIPAExtensions}, |

100 | {"IdeographicDescriptionCharacters", xmlUCSIsIdeographicDescriptionCharacters}, |

101 | {"Kanbun", xmlUCSIsKanbun}, |

102 | {"KangxiRadicals", xmlUCSIsKangxiRadicals}, |

103 | {"Kannada", xmlUCSIsKannada}, |

104 | {"Katakana", xmlUCSIsKatakana}, |

105 | {"KatakanaPhoneticExtensions", xmlUCSIsKatakanaPhoneticExtensions}, |

106 | {"Khmer", xmlUCSIsKhmer}, |

107 | {"KhmerSymbols", xmlUCSIsKhmerSymbols}, |

108 | {"Lao", xmlUCSIsLao}, |

109 | {"Latin-1Supplement", xmlUCSIsLatin1Supplement}, |

110 | {"LatinExtended-A", xmlUCSIsLatinExtendedA}, |

111 | {"LatinExtended-B", xmlUCSIsLatinExtendedB}, |

112 | {"LatinExtendedAdditional", xmlUCSIsLatinExtendedAdditional}, |

113 | {"LetterlikeSymbols", xmlUCSIsLetterlikeSymbols}, |

114 | {"Limbu", xmlUCSIsLimbu}, |

115 | {"LinearBIdeograms", xmlUCSIsLinearBIdeograms}, |

116 | {"LinearBSyllabary", xmlUCSIsLinearBSyllabary}, |

117 | {"LowSurrogates", xmlUCSIsLowSurrogates}, |

118 | {"Malayalam", xmlUCSIsMalayalam}, |

119 | {"MathematicalAlphanumericSymbols", xmlUCSIsMathematicalAlphanumericSymbols}, |

120 | {"MathematicalOperators", xmlUCSIsMathematicalOperators}, |

121 | {"MiscellaneousMathematicalSymbols-A", xmlUCSIsMiscellaneousMathematicalSymbolsA}, |

122 | {"MiscellaneousMathematicalSymbols-B", xmlUCSIsMiscellaneousMathematicalSymbolsB}, |

123 | {"MiscellaneousSymbols", xmlUCSIsMiscellaneousSymbols}, |

124 | {"MiscellaneousSymbolsandArrows", xmlUCSIsMiscellaneousSymbolsandArrows}, |

125 | {"MiscellaneousTechnical", xmlUCSIsMiscellaneousTechnical}, |

126 | {"Mongolian", xmlUCSIsMongolian}, |

127 | {"MusicalSymbols", xmlUCSIsMusicalSymbols}, |

128 | {"Myanmar", xmlUCSIsMyanmar}, |

129 | {"NumberForms", xmlUCSIsNumberForms}, |

130 | {"Ogham", xmlUCSIsOgham}, |

131 | {"OldItalic", xmlUCSIsOldItalic}, |

132 | {"OpticalCharacterRecognition", xmlUCSIsOpticalCharacterRecognition}, |

133 | {"Oriya", xmlUCSIsOriya}, |

134 | {"Osmanya", xmlUCSIsOsmanya}, |

135 | {"PhoneticExtensions", xmlUCSIsPhoneticExtensions}, |

136 | {"PrivateUse", xmlUCSIsPrivateUse}, |

137 | {"PrivateUseArea", xmlUCSIsPrivateUseArea}, |

138 | {"Runic", xmlUCSIsRunic}, |

139 | {"Shavian", xmlUCSIsShavian}, |

140 | {"Sinhala", xmlUCSIsSinhala}, |

141 | {"SmallFormVariants", xmlUCSIsSmallFormVariants}, |

142 | {"SpacingModifierLetters", xmlUCSIsSpacingModifierLetters}, |

143 | {"Specials", xmlUCSIsSpecials}, |

144 | {"SuperscriptsandSubscripts", xmlUCSIsSuperscriptsandSubscripts}, |

145 | {"SupplementalArrows-A", xmlUCSIsSupplementalArrowsA}, |

146 | {"SupplementalArrows-B", xmlUCSIsSupplementalArrowsB}, |

147 | {"SupplementalMathematicalOperators", xmlUCSIsSupplementalMathematicalOperators}, |

148 | {"SupplementaryPrivateUseArea-A", xmlUCSIsSupplementaryPrivateUseAreaA}, |

149 | {"SupplementaryPrivateUseArea-B", xmlUCSIsSupplementaryPrivateUseAreaB}, |

150 | {"Syriac", xmlUCSIsSyriac}, |

151 | {"Tagalog", xmlUCSIsTagalog}, |

152 | {"Tagbanwa", xmlUCSIsTagbanwa}, |

153 | {"Tags", xmlUCSIsTags}, |

154 | {"TaiLe", xmlUCSIsTaiLe}, |

155 | {"TaiXuanJingSymbols", xmlUCSIsTaiXuanJingSymbols}, |

156 | {"Tamil", xmlUCSIsTamil}, |

157 | {"Telugu", xmlUCSIsTelugu}, |

158 | {"Thaana", xmlUCSIsThaana}, |

159 | {"Thai", xmlUCSIsThai}, |

160 | {"Tibetan", xmlUCSIsTibetan}, |

161 | {"Ugaritic", xmlUCSIsUgaritic}, |

162 | {"UnifiedCanadianAboriginalSyllabics", xmlUCSIsUnifiedCanadianAboriginalSyllabics}, |

163 | {"VariationSelectors", xmlUCSIsVariationSelectors}, |

164 | {"VariationSelectorsSupplement", xmlUCSIsVariationSelectorsSupplement}, |

165 | {"YiRadicals", xmlUCSIsYiRadicals}, |

166 | {"YiSyllables", xmlUCSIsYiSyllables}, |

167 | {"YijingHexagramSymbols", xmlUCSIsYijingHexagramSymbols}}; |

168 | |

169 | static xmlUnicodeRange xmlUnicodeCats[] = { |

170 | {"C", xmlUCSIsCatC}, |

171 | {"Cc", xmlUCSIsCatCc}, |

172 | {"Cf", xmlUCSIsCatCf}, |

173 | {"Co", xmlUCSIsCatCo}, |

174 | {"Cs", xmlUCSIsCatCs}, |

175 | {"L", xmlUCSIsCatL}, |

176 | {"Ll", xmlUCSIsCatLl}, |

177 | {"Lm", xmlUCSIsCatLm}, |

178 | {"Lo", xmlUCSIsCatLo}, |

179 | {"Lt", xmlUCSIsCatLt}, |

180 | {"Lu", xmlUCSIsCatLu}, |

181 | {"M", xmlUCSIsCatM}, |

182 | {"Mc", xmlUCSIsCatMc}, |

183 | {"Me", xmlUCSIsCatMe}, |

184 | {"Mn", xmlUCSIsCatMn}, |

185 | {"N", xmlUCSIsCatN}, |

186 | {"Nd", xmlUCSIsCatNd}, |

187 | {"Nl", xmlUCSIsCatNl}, |

188 | {"No", xmlUCSIsCatNo}, |

189 | {"P", xmlUCSIsCatP}, |

190 | {"Pc", xmlUCSIsCatPc}, |

191 | {"Pd", xmlUCSIsCatPd}, |

192 | {"Pe", xmlUCSIsCatPe}, |

193 | {"Pf", xmlUCSIsCatPf}, |

194 | {"Pi", xmlUCSIsCatPi}, |

195 | {"Po", xmlUCSIsCatPo}, |

196 | {"Ps", xmlUCSIsCatPs}, |

197 | {"S", xmlUCSIsCatS}, |

198 | {"Sc", xmlUCSIsCatSc}, |

199 | {"Sk", xmlUCSIsCatSk}, |

200 | {"Sm", xmlUCSIsCatSm}, |

201 | {"So", xmlUCSIsCatSo}, |

202 | {"Z", xmlUCSIsCatZ}, |

203 | {"Zl", xmlUCSIsCatZl}, |

204 | {"Zp", xmlUCSIsCatZp}, |

205 | {"Zs", xmlUCSIsCatZs}}; |

206 | |

207 | static xmlChSRange xmlCS[] = {{0x0, 0x1f}, {0x7f, 0x9f}, {0xad, 0xad}, |

208 | {0x600, 0x603}, {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, |

209 | {0x200c, 0x200f}, {0x202a, 0x202e}, {0x2060, 0x2063}, {0x206a, 0x206f}, |

210 | {0xd800, 0xd800}, {0xdb7f, 0xdb80}, {0xdbff, 0xdc00}, {0xdfff, 0xe000}, |

211 | {0xf8ff, 0xf8ff}, {0xfeff, 0xfeff}, {0xfff9, 0xfffb} }; |

212 | static xmlChLRange xmlCL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, |

213 | {0xe0020, 0xe007f}, {0xf0000, 0xf0000}, {0xffffd, 0xffffd}, |

214 | {0x100000, 0x100000}, {0x10fffd, 0x10fffd} }; |

215 | static xmlChRangeGroup xmlCG = {18,7,xmlCS,xmlCL}; |

216 | |

217 | static xmlChSRange xmlCfS[] = {{0xad, 0xad}, {0x600, 0x603}, |

218 | {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, {0x200c, 0x200f}, |

219 | {0x202a, 0x202e}, {0x2060, 0x2063}, {0x206a, 0x206f}, {0xfeff, 0xfeff}, |

220 | {0xfff9, 0xfffb} }; |

221 | static xmlChLRange xmlCfL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, |

222 | {0xe0020, 0xe007f} }; |

223 | static xmlChRangeGroup xmlCfG = {11,3,xmlCfS,xmlCfL}; |

224 | |

225 | static xmlChSRange xmlLS[] = {{0x41, 0x5a}, {0x61, 0x7a}, {0xaa, 0xaa}, |

226 | {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x236}, |

227 | {0x250, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ee, 0x2ee}, |

228 | {0x37a, 0x37a}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, |

229 | {0x38e, 0x3a1}, {0x3a3, 0x3ce}, {0x3d0, 0x3f5}, {0x3f7, 0x3fb}, |

230 | {0x400, 0x481}, {0x48a, 0x4ce}, {0x4d0, 0x4f5}, {0x4f8, 0x4f9}, |

231 | {0x500, 0x50f}, {0x531, 0x556}, {0x559, 0x559}, {0x561, 0x587}, |

232 | {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a}, {0x640, 0x64a}, |

233 | {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, |

234 | {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, |

235 | {0x712, 0x72f}, {0x74d, 0x74f}, {0x780, 0x7a5}, {0x7b1, 0x7b1}, |

236 | {0x904, 0x939}, {0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961}, |

237 | {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, |

238 | {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9dc, 0x9dd}, |

239 | {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, |

240 | {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, |

241 | {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, |

242 | {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, |

243 | {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, |

244 | {0xae0, 0xae1}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, |

245 | {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d}, |

246 | {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, |

247 | {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, |

248 | {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, |

249 | {0xbae, 0xbb5}, {0xbb7, 0xbb9}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, |

250 | {0xc12, 0xc28}, {0xc2a, 0xc33}, {0xc35, 0xc39}, {0xc60, 0xc61}, |

251 | {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, |

252 | {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcde, 0xcde}, {0xce0, 0xce1}, |

253 | {0xd05, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd28}, {0xd2a, 0xd39}, |

254 | {0xd60, 0xd61}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, |

255 | {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30}, {0xe32, 0xe33}, |

256 | {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe87, 0xe88}, |

257 | {0xe8a, 0xe8a}, {0xe8d, 0xe8d}, {0xe94, 0xe97}, {0xe99, 0xe9f}, |

258 | {0xea1, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xea7}, {0xeaa, 0xeab}, |

259 | {0xead, 0xeb0}, {0xeb2, 0xeb3}, {0xebd, 0xebd}, {0xec0, 0xec4}, |

260 | {0xec6, 0xec6}, {0xedc, 0xedd}, {0xf00, 0xf00}, {0xf40, 0xf47}, |

261 | {0xf49, 0xf6a}, {0xf88, 0xf8b}, {0x1000, 0x1021}, {0x1023, 0x1027}, |

262 | {0x1029, 0x102a}, {0x1050, 0x1055}, {0x10a0, 0x10c5}, {0x10d0, 0x10f8}, |

263 | {0x1100, 0x1159}, {0x115f, 0x11a2}, {0x11a8, 0x11f9}, {0x1200, 0x1206}, |

264 | {0x1208, 0x1246}, {0x1248, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, |

265 | {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1286}, {0x1288, 0x1288}, |

266 | {0x128a, 0x128d}, {0x1290, 0x12ae}, {0x12b0, 0x12b0}, {0x12b2, 0x12b5}, |

267 | {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12ce}, |

268 | {0x12d0, 0x12d6}, {0x12d8, 0x12ee}, {0x12f0, 0x130e}, {0x1310, 0x1310}, |

269 | {0x1312, 0x1315}, {0x1318, 0x131e}, {0x1320, 0x1346}, {0x1348, 0x135a}, |

270 | {0x13a0, 0x13f4}, {0x1401, 0x166c}, {0x166f, 0x1676}, {0x1681, 0x169a}, |

271 | {0x16a0, 0x16ea}, {0x1700, 0x170c}, {0x170e, 0x1711}, {0x1720, 0x1731}, |

272 | {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, |

273 | {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1877}, {0x1880, 0x18a8}, |

274 | {0x1900, 0x191c}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1d00, 0x1d6b}, |

275 | {0x1e00, 0x1e9b}, {0x1ea0, 0x1ef9}, {0x1f00, 0x1f15}, {0x1f18, 0x1f1d}, |

276 | {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, |

277 | {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, |

278 | {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, |

279 | {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, |

280 | {0x1ff6, 0x1ffc}, {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2102, 0x2102}, |

281 | {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2119, 0x211d}, |

282 | {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x212d}, |

283 | {0x212f, 0x2131}, {0x2133, 0x2139}, {0x213d, 0x213f}, {0x2145, 0x2149}, |

284 | {0x3005, 0x3006}, {0x3031, 0x3035}, {0x303b, 0x303c}, {0x3041, 0x3096}, |

285 | {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312c}, |

286 | {0x3131, 0x318e}, {0x31a0, 0x31b7}, {0x31f0, 0x31ff}, {0x3400, 0x3400}, |

287 | {0x4db5, 0x4db5}, {0x4e00, 0x4e00}, {0x9fa5, 0x9fa5}, {0xa000, 0xa48c}, |

288 | {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xf900, 0xfa2d}, {0xfa30, 0xfa6a}, |

289 | {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, |

290 | {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, |

291 | {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, |

292 | {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, |

293 | {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe}, {0xffc2, 0xffc7}, |

294 | {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc} }; |

295 | static xmlChLRange xmlLL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026}, |

296 | {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, |

297 | {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e}, |

298 | {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10400, 0x1049d}, |

299 | {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, |

300 | {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f}, |

301 | {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, |

302 | {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, |

303 | {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, |

304 | {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, |

305 | {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, |

306 | {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, |

307 | {0x1d552, 0x1d6a3}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, |

308 | {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, |

309 | {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, |

310 | {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9}, |

311 | {0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} }; |

312 | static xmlChRangeGroup xmlLG = {279,50,xmlLS,xmlLL}; |

313 | |

314 | static xmlChSRange xmlLlS[] = {{0x61, 0x7a}, {0xaa, 0xaa}, {0xb5, 0xb5}, |

315 | {0xba, 0xba}, {0xdf, 0xf6}, {0xf8, 0xff}, {0x101, 0x101}, |

316 | {0x103, 0x103}, {0x105, 0x105}, {0x107, 0x107}, {0x109, 0x109}, |

317 | {0x10b, 0x10b}, {0x10d, 0x10d}, {0x10f, 0x10f}, {0x111, 0x111}, |

318 | {0x113, 0x113}, {0x115, 0x115}, {0x117, 0x117}, {0x119, 0x119}, |

319 | {0x11b, 0x11b}, {0x11d, 0x11d}, {0x11f, 0x11f}, {0x121, 0x121}, |

320 | {0x123, 0x123}, {0x125, 0x125}, {0x127, 0x127}, {0x129, 0x129}, |

321 | {0x12b, 0x12b}, {0x12d, 0x12d}, {0x12f, 0x12f}, {0x131, 0x131}, |

322 | {0x133, 0x133}, {0x135, 0x135}, {0x137, 0x138}, {0x13a, 0x13a}, |

323 | {0x13c, 0x13c}, {0x13e, 0x13e}, {0x140, 0x140}, {0x142, 0x142}, |

324 | {0x144, 0x144}, {0x146, 0x146}, {0x148, 0x149}, {0x14b, 0x14b}, |

325 | {0x14d, 0x14d}, {0x14f, 0x14f}, {0x151, 0x151}, {0x153, 0x153}, |

326 | {0x155, 0x155}, {0x157, 0x157}, {0x159, 0x159}, {0x15b, 0x15b}, |

327 | {0x15d, 0x15d}, {0x15f, 0x15f}, {0x161, 0x161}, {0x163, 0x163}, |

328 | {0x165, 0x165}, {0x167, 0x167}, {0x169, 0x169}, {0x16b, 0x16b}, |

329 | {0x16d, 0x16d}, {0x16f, 0x16f}, {0x171, 0x171}, {0x173, 0x173}, |

330 | {0x175, 0x175}, {0x177, 0x177}, {0x17a, 0x17a}, {0x17c, 0x17c}, |

331 | {0x17e, 0x180}, {0x183, 0x183}, {0x185, 0x185}, {0x188, 0x188}, |

332 | {0x18c, 0x18d}, {0x192, 0x192}, {0x195, 0x195}, {0x199, 0x19b}, |

333 | {0x19e, 0x19e}, {0x1a1, 0x1a1}, {0x1a3, 0x1a3}, {0x1a5, 0x1a5}, |

334 | {0x1a8, 0x1a8}, {0x1aa, 0x1ab}, {0x1ad, 0x1ad}, {0x1b0, 0x1b0}, |

335 | {0x1b4, 0x1b4}, {0x1b6, 0x1b6}, {0x1b9, 0x1ba}, {0x1bd, 0x1bf}, |

336 | {0x1c6, 0x1c6}, {0x1c9, 0x1c9}, {0x1cc, 0x1cc}, {0x1ce, 0x1ce}, |

337 | {0x1d0, 0x1d0}, {0x1d2, 0x1d2}, {0x1d4, 0x1d4}, {0x1d6, 0x1d6}, |

338 | {0x1d8, 0x1d8}, {0x1da, 0x1da}, {0x1dc, 0x1dd}, {0x1df, 0x1df}, |

339 | {0x1e1, 0x1e1}, {0x1e3, 0x1e3}, {0x1e5, 0x1e5}, {0x1e7, 0x1e7}, |

340 | {0x1e9, 0x1e9}, {0x1eb, 0x1eb}, {0x1ed, 0x1ed}, {0x1ef, 0x1f0}, |

341 | {0x1f3, 0x1f3}, {0x1f5, 0x1f5}, {0x1f9, 0x1f9}, {0x1fb, 0x1fb}, |

342 | {0x1fd, 0x1fd}, {0x1ff, 0x1ff}, {0x201, 0x201}, {0x203, 0x203}, |

343 | {0x205, 0x205}, {0x207, 0x207}, {0x209, 0x209}, {0x20b, 0x20b}, |

344 | {0x20d, 0x20d}, {0x20f, 0x20f}, {0x211, 0x211}, {0x213, 0x213}, |

345 | {0x215, 0x215}, {0x217, 0x217}, {0x219, 0x219}, {0x21b, 0x21b}, |

346 | {0x21d, 0x21d}, {0x21f, 0x21f}, {0x221, 0x221}, {0x223, 0x223}, |

347 | {0x225, 0x225}, {0x227, 0x227}, {0x229, 0x229}, {0x22b, 0x22b}, |

348 | {0x22d, 0x22d}, {0x22f, 0x22f}, {0x231, 0x231}, {0x233, 0x236}, |

349 | {0x250, 0x2af}, {0x390, 0x390}, {0x3ac, 0x3ce}, {0x3d0, 0x3d1}, |

350 | {0x3d5, 0x3d7}, {0x3d9, 0x3d9}, {0x3db, 0x3db}, {0x3dd, 0x3dd}, |

351 | {0x3df, 0x3df}, {0x3e1, 0x3e1}, {0x3e3, 0x3e3}, {0x3e5, 0x3e5}, |

352 | {0x3e7, 0x3e7}, {0x3e9, 0x3e9}, {0x3eb, 0x3eb}, {0x3ed, 0x3ed}, |

353 | {0x3ef, 0x3f3}, {0x3f5, 0x3f5}, {0x3f8, 0x3f8}, {0x3fb, 0x3fb}, |

354 | {0x430, 0x45f}, {0x461, 0x461}, {0x463, 0x463}, {0x465, 0x465}, |

355 | {0x467, 0x467}, {0x469, 0x469}, {0x46b, 0x46b}, {0x46d, 0x46d}, |

356 | {0x46f, 0x46f}, {0x471, 0x471}, {0x473, 0x473}, {0x475, 0x475}, |

357 | {0x477, 0x477}, {0x479, 0x479}, {0x47b, 0x47b}, {0x47d, 0x47d}, |

358 | {0x47f, 0x47f}, {0x481, 0x481}, {0x48b, 0x48b}, {0x48d, 0x48d}, |

359 | {0x48f, 0x48f}, {0x491, 0x491}, {0x493, 0x493}, {0x495, 0x495}, |

360 | {0x497, 0x497}, {0x499, 0x499}, {0x49b, 0x49b}, {0x49d, 0x49d}, |

361 | {0x49f, 0x49f}, {0x4a1, 0x4a1}, {0x4a3, 0x4a3}, {0x4a5, 0x4a5}, |

362 | {0x4a7, 0x4a7}, {0x4a9, 0x4a9}, {0x4ab, 0x4ab}, {0x4ad, 0x4ad}, |

363 | {0x4af, 0x4af}, {0x4b1, 0x4b1}, {0x4b3, 0x4b3}, {0x4b5, 0x4b5}, |

364 | {0x4b7, 0x4b7}, {0x4b9, 0x4b9}, {0x4bb, 0x4bb}, {0x4bd, 0x4bd}, |

365 | {0x4bf, 0x4bf}, {0x4c2, 0x4c2}, {0x4c4, 0x4c4}, {0x4c6, 0x4c6}, |

366 | {0x4c8, 0x4c8}, {0x4ca, 0x4ca}, {0x4cc, 0x4cc}, {0x4ce, 0x4ce}, |

367 | {0x4d1, 0x4d1}, {0x4d3, 0x4d3}, {0x4d5, 0x4d5}, {0x4d7, 0x4d7}, |

368 | {0x4d9, 0x4d9}, {0x4db, 0x4db}, {0x4dd, 0x4dd}, {0x4df, 0x4df}, |

369 | {0x4e1, 0x4e1}, {0x4e3, 0x4e3}, {0x4e5, 0x4e5}, {0x4e7, 0x4e7}, |

370 | {0x4e9, 0x4e9}, {0x4eb, 0x4eb}, {0x4ed, 0x4ed}, {0x4ef, 0x4ef}, |

371 | {0x4f1, 0x4f1}, {0x4f3, 0x4f3}, {0x4f5, 0x4f5}, {0x4f9, 0x4f9}, |

372 | {0x501, 0x501}, {0x503, 0x503}, {0x505, 0x505}, {0x507, 0x507}, |

373 | {0x509, 0x509}, {0x50b, 0x50b}, {0x50d, 0x50d}, {0x50f, 0x50f}, |

374 | {0x561, 0x587}, {0x1d00, 0x1d2b}, {0x1d62, 0x1d6b}, {0x1e01, 0x1e01}, |

375 | {0x1e03, 0x1e03}, {0x1e05, 0x1e05}, {0x1e07, 0x1e07}, {0x1e09, 0x1e09}, |

376 | {0x1e0b, 0x1e0b}, {0x1e0d, 0x1e0d}, {0x1e0f, 0x1e0f}, {0x1e11, 0x1e11}, |

377 | {0x1e13, 0x1e13}, {0x1e15, 0x1e15}, {0x1e17, 0x1e17}, {0x1e19, 0x1e19}, |

378 | {0x1e1b, 0x1e1b}, {0x1e1d, 0x1e1d}, {0x1e1f, 0x1e1f}, {0x1e21, 0x1e21}, |

379 | {0x1e23, 0x1e23}, {0x1e25, 0x1e25}, {0x1e27, 0x1e27}, {0x1e29, 0x1e29}, |

380 | {0x1e2b, 0x1e2b}, {0x1e2d, 0x1e2d}, {0x1e2f, 0x1e2f}, {0x1e31, 0x1e31}, |

381 | {0x1e33, 0x1e33}, {0x1e35, 0x1e35}, {0x1e37, 0x1e37}, {0x1e39, 0x1e39}, |

382 | {0x1e3b, 0x1e3b}, {0x1e3d, 0x1e3d}, {0x1e3f, 0x1e3f}, {0x1e41, 0x1e41}, |

383 | {0x1e43, 0x1e43}, {0x1e45, 0x1e45}, {0x1e47, 0x1e47}, {0x1e49, 0x1e49}, |

384 | {0x1e4b, 0x1e4b}, {0x1e4d, 0x1e4d}, {0x1e4f, 0x1e4f}, {0x1e51, 0x1e51}, |

385 | {0x1e53, 0x1e53}, {0x1e55, 0x1e55}, {0x1e57, 0x1e57}, {0x1e59, 0x1e59}, |

386 | {0x1e5b, 0x1e5b}, {0x1e5d, 0x1e5d}, {0x1e5f, 0x1e5f}, {0x1e61, 0x1e61}, |

387 | {0x1e63, 0x1e63}, {0x1e65, 0x1e65}, {0x1e67, 0x1e67}, {0x1e69, 0x1e69}, |

388 | {0x1e6b, 0x1e6b}, {0x1e6d, 0x1e6d}, {0x1e6f, 0x1e6f}, {0x1e71, 0x1e71}, |

389 | {0x1e73, 0x1e73}, {0x1e75, 0x1e75}, {0x1e77, 0x1e77}, {0x1e79, 0x1e79}, |

390 | {0x1e7b, 0x1e7b}, {0x1e7d, 0x1e7d}, {0x1e7f, 0x1e7f}, {0x1e81, 0x1e81}, |

391 | {0x1e83, 0x1e83}, {0x1e85, 0x1e85}, {0x1e87, 0x1e87}, {0x1e89, 0x1e89}, |

392 | {0x1e8b, 0x1e8b}, {0x1e8d, 0x1e8d}, {0x1e8f, 0x1e8f}, {0x1e91, 0x1e91}, |

393 | {0x1e93, 0x1e93}, {0x1e95, 0x1e9b}, {0x1ea1, 0x1ea1}, {0x1ea3, 0x1ea3}, |

394 | {0x1ea5, 0x1ea5}, {0x1ea7, 0x1ea7}, {0x1ea9, 0x1ea9}, {0x1eab, 0x1eab}, |

395 | {0x1ead, 0x1ead}, {0x1eaf, 0x1eaf}, {0x1eb1, 0x1eb1}, {0x1eb3, 0x1eb3}, |

396 | {0x1eb5, 0x1eb5}, {0x1eb7, 0x1eb7}, {0x1eb9, 0x1eb9}, {0x1ebb, 0x1ebb}, |

397 | {0x1ebd, 0x1ebd}, {0x1ebf, 0x1ebf}, {0x1ec1, 0x1ec1}, {0x1ec3, 0x1ec3}, |

398 | {0x1ec5, 0x1ec5}, {0x1ec7, 0x1ec7}, {0x1ec9, 0x1ec9}, {0x1ecb, 0x1ecb}, |

399 | {0x1ecd, 0x1ecd}, {0x1ecf, 0x1ecf}, {0x1ed1, 0x1ed1}, {0x1ed3, 0x1ed3}, |

400 | {0x1ed5, 0x1ed5}, {0x1ed7, 0x1ed7}, {0x1ed9, 0x1ed9}, {0x1edb, 0x1edb}, |

401 | {0x1edd, 0x1edd}, {0x1edf, 0x1edf}, {0x1ee1, 0x1ee1}, {0x1ee3, 0x1ee3}, |

402 | {0x1ee5, 0x1ee5}, {0x1ee7, 0x1ee7}, {0x1ee9, 0x1ee9}, {0x1eeb, 0x1eeb}, |

403 | {0x1eed, 0x1eed}, {0x1eef, 0x1eef}, {0x1ef1, 0x1ef1}, {0x1ef3, 0x1ef3}, |

404 | {0x1ef5, 0x1ef5}, {0x1ef7, 0x1ef7}, {0x1ef9, 0x1ef9}, {0x1f00, 0x1f07}, |

405 | {0x1f10, 0x1f15}, {0x1f20, 0x1f27}, {0x1f30, 0x1f37}, {0x1f40, 0x1f45}, |

406 | {0x1f50, 0x1f57}, {0x1f60, 0x1f67}, {0x1f70, 0x1f7d}, {0x1f80, 0x1f87}, |

407 | {0x1f90, 0x1f97}, {0x1fa0, 0x1fa7}, {0x1fb0, 0x1fb4}, {0x1fb6, 0x1fb7}, |

408 | {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fc7}, {0x1fd0, 0x1fd3}, |

409 | {0x1fd6, 0x1fd7}, {0x1fe0, 0x1fe7}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ff7}, |

410 | {0x2071, 0x2071}, {0x207f, 0x207f}, {0x210a, 0x210a}, {0x210e, 0x210f}, |

411 | {0x2113, 0x2113}, {0x212f, 0x212f}, {0x2134, 0x2134}, {0x2139, 0x2139}, |

412 | {0x213d, 0x213d}, {0x2146, 0x2149}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, |

413 | {0xff41, 0xff5a} }; |

414 | static xmlChLRange xmlLlL[] = {{0x10428, 0x1044f}, {0x1d41a, 0x1d433}, |

415 | {0x1d44e, 0x1d454}, {0x1d456, 0x1d467}, {0x1d482, 0x1d49b}, |

416 | {0x1d4b6, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, |

417 | {0x1d4c5, 0x1d4cf}, {0x1d4ea, 0x1d503}, {0x1d51e, 0x1d537}, |

418 | {0x1d552, 0x1d56b}, {0x1d586, 0x1d59f}, {0x1d5ba, 0x1d5d3}, |

419 | {0x1d5ee, 0x1d607}, {0x1d622, 0x1d63b}, {0x1d656, 0x1d66f}, |

420 | {0x1d68a, 0x1d6a3}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6e1}, |

421 | {0x1d6fc, 0x1d714}, {0x1d716, 0x1d71b}, {0x1d736, 0x1d74e}, |

422 | {0x1d750, 0x1d755}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d78f}, |

423 | {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9} }; |

424 | static xmlChRangeGroup xmlLlG = {396,28,xmlLlS,xmlLlL}; |

425 | |

426 | static xmlChSRange xmlLmS[] = {{0x2b0, 0x2c1}, {0x2c6, 0x2d1}, |

427 | {0x2e0, 0x2e4}, {0x2ee, 0x2ee}, {0x37a, 0x37a}, {0x559, 0x559}, |

428 | {0x640, 0x640}, {0x6e5, 0x6e6}, {0xe46, 0xe46}, {0xec6, 0xec6}, |

429 | {0x17d7, 0x17d7}, {0x1843, 0x1843}, {0x1d2c, 0x1d61}, {0x3005, 0x3005}, |

430 | {0x3031, 0x3035}, {0x303b, 0x303b}, {0x309d, 0x309e}, {0x30fc, 0x30fe}, |

431 | {0xff70, 0xff70}, {0xff9e, 0xff9f} }; |

432 | static xmlChRangeGroup xmlLmG = {20,0,xmlLmS,NULL}; |

433 | |

434 | static xmlChSRange xmlLoS[] = {{0x1bb, 0x1bb}, {0x1c0, 0x1c3}, |

435 | {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a}, {0x641, 0x64a}, |

436 | {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6ee, 0x6ef}, |

437 | {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f}, |

438 | {0x74d, 0x74f}, {0x780, 0x7a5}, {0x7b1, 0x7b1}, {0x904, 0x939}, |

439 | {0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961}, {0x985, 0x98c}, |

440 | {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, |

441 | {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, |

442 | {0x9f0, 0x9f1}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, |

443 | {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, |

444 | {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, {0xa85, 0xa8d}, |

445 | {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, |

446 | {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, {0xae0, 0xae1}, |

447 | {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, |

448 | {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, |

449 | {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, |

450 | {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, |

451 | {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb5}, |

452 | {0xbb7, 0xbb9}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, |

453 | {0xc2a, 0xc33}, {0xc35, 0xc39}, {0xc60, 0xc61}, {0xc85, 0xc8c}, |

454 | {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, |

455 | {0xcbd, 0xcbd}, {0xcde, 0xcde}, {0xce0, 0xce1}, {0xd05, 0xd0c}, |

456 | {0xd0e, 0xd10}, {0xd12, 0xd28}, {0xd2a, 0xd39}, {0xd60, 0xd61}, |

457 | {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, |

458 | {0xdc0, 0xdc6}, {0xe01, 0xe30}, {0xe32, 0xe33}, {0xe40, 0xe45}, |

459 | {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe87, 0xe88}, {0xe8a, 0xe8a}, |

460 | {0xe8d, 0xe8d}, {0xe94, 0xe97}, {0xe99, 0xe9f}, {0xea1, 0xea3}, |

461 | {0xea5, 0xea5}, {0xea7, 0xea7}, {0xeaa, 0xeab}, {0xead, 0xeb0}, |

462 | {0xeb2, 0xeb3}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xedc, 0xedd}, |

463 | {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6a}, {0xf88, 0xf8b}, |

464 | {0x1000, 0x1021}, {0x1023, 0x1027}, {0x1029, 0x102a}, {0x1050, 0x1055}, |

465 | {0x10d0, 0x10f8}, {0x1100, 0x1159}, {0x115f, 0x11a2}, {0x11a8, 0x11f9}, |

466 | {0x1200, 0x1206}, {0x1208, 0x1246}, {0x1248, 0x1248}, {0x124a, 0x124d}, |

467 | {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1286}, |

468 | {0x1288, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12ae}, {0x12b0, 0x12b0}, |

469 | {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, |

470 | {0x12c8, 0x12ce}, {0x12d0, 0x12d6}, {0x12d8, 0x12ee}, {0x12f0, 0x130e}, |

471 | {0x1310, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x131e}, {0x1320, 0x1346}, |

472 | {0x1348, 0x135a}, {0x13a0, 0x13f4}, {0x1401, 0x166c}, {0x166f, 0x1676}, |

473 | {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x1700, 0x170c}, {0x170e, 0x1711}, |

474 | {0x1720, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, |

475 | {0x1780, 0x17b3}, {0x17dc, 0x17dc}, {0x1820, 0x1842}, {0x1844, 0x1877}, |

476 | {0x1880, 0x18a8}, {0x1900, 0x191c}, {0x1950, 0x196d}, {0x1970, 0x1974}, |

477 | {0x2135, 0x2138}, {0x3006, 0x3006}, {0x303c, 0x303c}, {0x3041, 0x3096}, |

478 | {0x309f, 0x309f}, {0x30a1, 0x30fa}, {0x30ff, 0x30ff}, {0x3105, 0x312c}, |

479 | {0x3131, 0x318e}, {0x31a0, 0x31b7}, {0x31f0, 0x31ff}, {0x3400, 0x3400}, |

480 | {0x4db5, 0x4db5}, {0x4e00, 0x4e00}, {0x9fa5, 0x9fa5}, {0xa000, 0xa48c}, |

481 | {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xf900, 0xfa2d}, {0xfa30, 0xfa6a}, |

482 | {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, |

483 | {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, |

484 | {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, |

485 | {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff66, 0xff6f}, {0xff71, 0xff9d}, |

486 | {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, |

487 | {0xffda, 0xffdc} }; |

488 | static xmlChLRange xmlLoL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026}, |

489 | {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, |

490 | {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e}, |

491 | {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10450, 0x1049d}, |

492 | {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, |

493 | {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f}, |

494 | {0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} }; |

495 | static xmlChRangeGroup xmlLoG = {211,20,xmlLoS,xmlLoL}; |

496 | |

497 | static xmlChSRange xmlLtS[] = {{0x1c5, 0x1c5}, {0x1c8, 0x1c8}, |

498 | {0x1cb, 0x1cb}, {0x1f2, 0x1f2}, {0x1f88, 0x1f8f}, {0x1f98, 0x1f9f}, |

499 | {0x1fa8, 0x1faf}, {0x1fbc, 0x1fbc}, {0x1fcc, 0x1fcc}, {0x1ffc, 0x1ffc} }; |

500 | static xmlChRangeGroup xmlLtG = {10,0,xmlLtS,NULL}; |

501 | |

502 | static xmlChSRange xmlLuS[] = {{0x41, 0x5a}, {0xc0, 0xd6}, {0xd8, 0xde}, |

503 | {0x100, 0x100}, {0x102, 0x102}, {0x104, 0x104}, {0x106, 0x106}, |

504 | {0x108, 0x108}, {0x10a, 0x10a}, {0x10c, 0x10c}, {0x10e, 0x10e}, |

505 | {0x110, 0x110}, {0x112, 0x112}, {0x114, 0x114}, {0x116, 0x116}, |

506 | {0x118, 0x118}, {0x11a, 0x11a}, {0x11c, 0x11c}, {0x11e, 0x11e}, |

507 | {0x120, 0x120}, {0x122, 0x122}, {0x124, 0x124}, {0x126, 0x126}, |

508 | {0x128, 0x128}, {0x12a, 0x12a}, {0x12c, 0x12c}, {0x12e, 0x12e}, |

509 | {0x130, 0x130}, {0x132, 0x132}, {0x134, 0x134}, {0x136, 0x136}, |

510 | {0x139, 0x139}, {0x13b, 0x13b}, {0x13d, 0x13d}, {0x13f, 0x13f}, |

511 | {0x141, 0x141}, {0x143, 0x143}, {0x145, 0x145}, {0x147, 0x147}, |

512 | {0x14a, 0x14a}, {0x14c, 0x14c}, {0x14e, 0x14e}, {0x150, 0x150}, |

513 | {0x152, 0x152}, {0x154, 0x154}, {0x156, 0x156}, {0x158, 0x158}, |

514 | {0x15a, 0x15a}, {0x15c, 0x15c}, {0x15e, 0x15e}, {0x160, 0x160}, |

515 | {0x162, 0x162}, {0x164, 0x164}, {0x166, 0x166}, {0x168, 0x168}, |

516 | {0x16a, 0x16a}, {0x16c, 0x16c}, {0x16e, 0x16e}, {0x170, 0x170}, |

517 | {0x172, 0x172}, {0x174, 0x174}, {0x176, 0x176}, {0x178, 0x179}, |

518 | {0x17b, 0x17b}, {0x17d, 0x17d}, {0x181, 0x182}, {0x184, 0x184}, |

519 | {0x186, 0x187}, {0x189, 0x18b}, {0x18e, 0x191}, {0x193, 0x194}, |

520 | {0x196, 0x198}, {0x19c, 0x19d}, {0x19f, 0x1a0}, {0x1a2, 0x1a2}, |

521 | {0x1a4, 0x1a4}, {0x1a6, 0x1a7}, {0x1a9, 0x1a9}, {0x1ac, 0x1ac}, |

522 | {0x1ae, 0x1af}, {0x1b1, 0x1b3}, {0x1b5, 0x1b5}, {0x1b7, 0x1b8}, |

523 | {0x1bc, 0x1bc}, {0x1c4, 0x1c4}, {0x1c7, 0x1c7}, {0x1ca, 0x1ca}, |

524 | {0x1cd, 0x1cd}, {0x1cf, 0x1cf}, {0x1d1, 0x1d1}, {0x1d3, 0x1d3}, |

525 | {0x1d5, 0x1d5}, {0x1d7, 0x1d7}, {0x1d9, 0x1d9}, {0x1db, 0x1db}, |

526 | {0x1de, 0x1de}, {0x1e0, 0x1e0}, {0x1e2, 0x1e2}, {0x1e4, 0x1e4}, |

527 | {0x1e6, 0x1e6}, {0x1e8, 0x1e8}, {0x1ea, 0x1ea}, {0x1ec, 0x1ec}, |

528 | {0x1ee, 0x1ee}, {0x1f1, 0x1f1}, {0x1f4, 0x1f4}, {0x1f6, 0x1f8}, |

529 | {0x1fa, 0x1fa}, {0x1fc, 0x1fc}, {0x1fe, 0x1fe}, {0x200, 0x200}, |

530 | {0x202, 0x202}, {0x204, 0x204}, {0x206, 0x206}, {0x208, 0x208}, |

531 | {0x20a, 0x20a}, {0x20c, 0x20c}, {0x20e, 0x20e}, {0x210, 0x210}, |

532 | {0x212, 0x212}, {0x214, 0x214}, {0x216, 0x216}, {0x218, 0x218}, |

533 | {0x21a, 0x21a}, {0x21c, 0x21c}, {0x21e, 0x21e}, {0x220, 0x220}, |

534 | {0x222, 0x222}, {0x224, 0x224}, {0x226, 0x226}, {0x228, 0x228}, |

535 | {0x22a, 0x22a}, {0x22c, 0x22c}, {0x22e, 0x22e}, {0x230, 0x230}, |

536 | {0x232, 0x232}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, |

537 | {0x38e, 0x38f}, {0x391, 0x3a1}, {0x3a3, 0x3ab}, {0x3d2, 0x3d4}, |

538 | {0x3d8, 0x3d8}, {0x3da, 0x3da}, {0x3dc, 0x3dc}, {0x3de, 0x3de}, |

539 | {0x3e0, 0x3e0}, {0x3e2, 0x3e2}, {0x3e4, 0x3e4}, {0x3e6, 0x3e6}, |

540 | {0x3e8, 0x3e8}, {0x3ea, 0x3ea}, {0x3ec, 0x3ec}, {0x3ee, 0x3ee}, |

541 | {0x3f4, 0x3f4}, {0x3f7, 0x3f7}, {0x3f9, 0x3fa}, {0x400, 0x42f}, |

542 | {0x460, 0x460}, {0x462, 0x462}, {0x464, 0x464}, {0x466, 0x466}, |

543 | {0x468, 0x468}, {0x46a, 0x46a}, {0x46c, 0x46c}, {0x46e, 0x46e}, |

544 | {0x470, 0x470}, {0x472, 0x472}, {0x474, 0x474}, {0x476, 0x476}, |

545 | {0x478, 0x478}, {0x47a, 0x47a}, {0x47c, 0x47c}, {0x47e, 0x47e}, |

546 | {0x480, 0x480}, {0x48a, 0x48a}, {0x48c, 0x48c}, {0x48e, 0x48e}, |

547 | {0x490, 0x490}, {0x492, 0x492}, {0x494, 0x494}, {0x496, 0x496}, |

548 | {0x498, 0x498}, {0x49a, 0x49a}, {0x49c, 0x49c}, {0x49e, 0x49e}, |

549 | {0x4a0, 0x4a0}, {0x4a2, 0x4a2}, {0x4a4, 0x4a4}, {0x4a6, 0x4a6}, |

550 | {0x4a8, 0x4a8}, {0x4aa, 0x4aa}, {0x4ac, 0x4ac}, {0x4ae, 0x4ae}, |

551 | {0x4b0, 0x4b0}, {0x4b2, 0x4b2}, {0x4b4, 0x4b4}, {0x4b6, 0x4b6}, |

552 | {0x4b8, 0x4b8}, {0x4ba, 0x4ba}, {0x4bc, 0x4bc}, {0x4be, 0x4be}, |

553 | {0x4c0, 0x4c1}, {0x4c3, 0x4c3}, {0x4c5, 0x4c5}, {0x4c7, 0x4c7}, |

554 | {0x4c9, 0x4c9}, {0x4cb, 0x4cb}, {0x4cd, 0x4cd}, {0x4d0, 0x4d0}, |

555 | {0x4d2, 0x4d2}, {0x4d4, 0x4d4}, {0x4d6, 0x4d6}, {0x4d8, 0x4d8}, |

556 | {0x4da, 0x4da}, {0x4dc, 0x4dc}, {0x4de, 0x4de}, {0x4e0, 0x4e0}, |

557 | {0x4e2, 0x4e2}, {0x4e4, 0x4e4}, {0x4e6, 0x4e6}, {0x4e8, 0x4e8}, |

558 | {0x4ea, 0x4ea}, {0x4ec, 0x4ec}, {0x4ee, 0x4ee}, {0x4f0, 0x4f0}, |

559 | {0x4f2, 0x4f2}, {0x4f4, 0x4f4}, {0x4f8, 0x4f8}, {0x500, 0x500}, |

560 | {0x502, 0x502}, {0x504, 0x504}, {0x506, 0x506}, {0x508, 0x508}, |

561 | {0x50a, 0x50a}, {0x50c, 0x50c}, {0x50e, 0x50e}, {0x531, 0x556}, |

562 | {0x10a0, 0x10c5}, {0x1e00, 0x1e00}, {0x1e02, 0x1e02}, {0x1e04, 0x1e04}, |

563 | {0x1e06, 0x1e06}, {0x1e08, 0x1e08}, {0x1e0a, 0x1e0a}, {0x1e0c, 0x1e0c}, |

564 | {0x1e0e, 0x1e0e}, {0x1e10, 0x1e10}, {0x1e12, 0x1e12}, {0x1e14, 0x1e14}, |

565 | {0x1e16, 0x1e16}, {0x1e18, 0x1e18}, {0x1e1a, 0x1e1a}, {0x1e1c, 0x1e1c}, |

566 | {0x1e1e, 0x1e1e}, {0x1e20, 0x1e20}, {0x1e22, 0x1e22}, {0x1e24, 0x1e24}, |

567 | {0x1e26, 0x1e26}, {0x1e28, 0x1e28}, {0x1e2a, 0x1e2a}, {0x1e2c, 0x1e2c}, |

568 | {0x1e2e, 0x1e2e}, {0x1e30, 0x1e30}, {0x1e32, 0x1e32}, {0x1e34, 0x1e34}, |

569 | {0x1e36, 0x1e36}, {0x1e38, 0x1e38}, {0x1e3a, 0x1e3a}, {0x1e3c, 0x1e3c}, |

570 | {0x1e3e, 0x1e3e}, {0x1e40, 0x1e40}, {0x1e42, 0x1e42}, {0x1e44, 0x1e44}, |

571 | {0x1e46, 0x1e46}, {0x1e48, 0x1e48}, {0x1e4a, 0x1e4a}, {0x1e4c, 0x1e4c}, |

572 | {0x1e4e, 0x1e4e}, {0x1e50, 0x1e50}, {0x1e52, 0x1e52}, {0x1e54, 0x1e54}, |

573 | {0x1e56, 0x1e56}, {0x1e58, 0x1e58}, {0x1e5a, 0x1e5a}, {0x1e5c, 0x1e5c}, |

574 | {0x1e5e, 0x1e5e}, {0x1e60, 0x1e60}, {0x1e62, 0x1e62}, {0x1e64, 0x1e64}, |

575 | {0x1e66, 0x1e66}, {0x1e68, 0x1e68}, {0x1e6a, 0x1e6a}, {0x1e6c, 0x1e6c}, |

576 | {0x1e6e, 0x1e6e}, {0x1e70, 0x1e70}, {0x1e72, 0x1e72}, {0x1e74, 0x1e74}, |

577 | {0x1e76, 0x1e76}, {0x1e78, 0x1e78}, {0x1e7a, 0x1e7a}, {0x1e7c, 0x1e7c}, |

578 | {0x1e7e, 0x1e7e}, {0x1e80, 0x1e80}, {0x1e82, 0x1e82}, {0x1e84, 0x1e84}, |

579 | {0x1e86, 0x1e86}, {0x1e88, 0x1e88}, {0x1e8a, 0x1e8a}, {0x1e8c, 0x1e8c}, |

580 | {0x1e8e, 0x1e8e}, {0x1e90, 0x1e90}, {0x1e92, 0x1e92}, {0x1e94, 0x1e94}, |

581 | {0x1ea0, 0x1ea0}, {0x1ea2, 0x1ea2}, {0x1ea4, 0x1ea4}, {0x1ea6, 0x1ea6}, |

582 | {0x1ea8, 0x1ea8}, {0x1eaa, 0x1eaa}, {0x1eac, 0x1eac}, {0x1eae, 0x1eae}, |

583 | {0x1eb0, 0x1eb0}, {0x1eb2, 0x1eb2}, {0x1eb4, 0x1eb4}, {0x1eb6, 0x1eb6}, |

584 | {0x1eb8, 0x1eb8}, {0x1eba, 0x1eba}, {0x1ebc, 0x1ebc}, {0x1ebe, 0x1ebe}, |

585 | {0x1ec0, 0x1ec0}, {0x1ec2, 0x1ec2}, {0x1ec4, 0x1ec4}, {0x1ec6, 0x1ec6}, |

586 | {0x1ec8, 0x1ec8}, {0x1eca, 0x1eca}, {0x1ecc, 0x1ecc}, {0x1ece, 0x1ece}, |

587 | {0x1ed0, 0x1ed0}, {0x1ed2, 0x1ed2}, {0x1ed4, 0x1ed4}, {0x1ed6, 0x1ed6}, |

588 | {0x1ed8, 0x1ed8}, {0x1eda, 0x1eda}, {0x1edc, 0x1edc}, {0x1ede, 0x1ede}, |

589 | {0x1ee0, 0x1ee0}, {0x1ee2, 0x1ee2}, {0x1ee4, 0x1ee4}, {0x1ee6, 0x1ee6}, |

590 | {0x1ee8, 0x1ee8}, {0x1eea, 0x1eea}, {0x1eec, 0x1eec}, {0x1eee, 0x1eee}, |

591 | {0x1ef0, 0x1ef0}, {0x1ef2, 0x1ef2}, {0x1ef4, 0x1ef4}, {0x1ef6, 0x1ef6}, |

592 | {0x1ef8, 0x1ef8}, {0x1f08, 0x1f0f}, {0x1f18, 0x1f1d}, {0x1f28, 0x1f2f}, |

593 | {0x1f38, 0x1f3f}, {0x1f48, 0x1f4d}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, |

594 | {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f5f}, {0x1f68, 0x1f6f}, {0x1fb8, 0x1fbb}, |

595 | {0x1fc8, 0x1fcb}, {0x1fd8, 0x1fdb}, {0x1fe8, 0x1fec}, {0x1ff8, 0x1ffb}, |

596 | {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210b, 0x210d}, {0x2110, 0x2112}, |

597 | {0x2115, 0x2115}, {0x2119, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, |

598 | {0x2128, 0x2128}, {0x212a, 0x212d}, {0x2130, 0x2131}, {0x2133, 0x2133}, |

599 | {0x213e, 0x213f}, {0x2145, 0x2145}, {0xff21, 0xff3a} }; |

600 | static xmlChLRange xmlLuL[] = {{0x10400, 0x10427}, {0x1d400, 0x1d419}, |

601 | {0x1d434, 0x1d44d}, {0x1d468, 0x1d481}, {0x1d49c, 0x1d49c}, |

602 | {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, |

603 | {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b5}, {0x1d4d0, 0x1d4e9}, |

604 | {0x1d504, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, |

605 | {0x1d516, 0x1d51c}, {0x1d538, 0x1d539}, {0x1d53b, 0x1d53e}, |

606 | {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, |

607 | {0x1d56c, 0x1d585}, {0x1d5a0, 0x1d5b9}, {0x1d5d4, 0x1d5ed}, |

608 | {0x1d608, 0x1d621}, {0x1d63c, 0x1d655}, {0x1d670, 0x1d689}, |

609 | {0x1d6a8, 0x1d6c0}, {0x1d6e2, 0x1d6fa}, {0x1d71c, 0x1d734}, |

610 | {0x1d756, 0x1d76e}, {0x1d790, 0x1d7a8} }; |

611 | static xmlChRangeGroup xmlLuG = {390,31,xmlLuS,xmlLuL}; |

612 | |

613 | static xmlChSRange xmlMS[] = {{0x300, 0x357}, {0x35d, 0x36f}, |

614 | {0x483, 0x486}, {0x488, 0x489}, {0x591, 0x5a1}, {0x5a3, 0x5b9}, |

615 | {0x5bb, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4}, |

616 | {0x610, 0x615}, {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc}, |

617 | {0x6de, 0x6e4}, {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x711, 0x711}, |

618 | {0x730, 0x74a}, {0x7a6, 0x7b0}, {0x901, 0x903}, {0x93c, 0x93c}, |

619 | {0x93e, 0x94d}, {0x951, 0x954}, {0x962, 0x963}, {0x981, 0x983}, |

620 | {0x9bc, 0x9bc}, {0x9be, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9cd}, |

621 | {0x9d7, 0x9d7}, {0x9e2, 0x9e3}, {0xa01, 0xa03}, {0xa3c, 0xa3c}, |

622 | {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa70, 0xa71}, |

623 | {0xa81, 0xa83}, {0xabc, 0xabc}, {0xabe, 0xac5}, {0xac7, 0xac9}, |

624 | {0xacb, 0xacd}, {0xae2, 0xae3}, {0xb01, 0xb03}, {0xb3c, 0xb3c}, |

625 | {0xb3e, 0xb43}, {0xb47, 0xb48}, {0xb4b, 0xb4d}, {0xb56, 0xb57}, |

626 | {0xb82, 0xb82}, {0xbbe, 0xbc2}, {0xbc6, 0xbc8}, {0xbca, 0xbcd}, |

627 | {0xbd7, 0xbd7}, {0xc01, 0xc03}, {0xc3e, 0xc44}, {0xc46, 0xc48}, |

628 | {0xc4a, 0xc4d}, {0xc55, 0xc56}, {0xc82, 0xc83}, {0xcbc, 0xcbc}, |

629 | {0xcbe, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6}, |

630 | {0xd02, 0xd03}, {0xd3e, 0xd43}, {0xd46, 0xd48}, {0xd4a, 0xd4d}, |

631 | {0xd57, 0xd57}, {0xd82, 0xd83}, {0xdca, 0xdca}, {0xdcf, 0xdd4}, |

632 | {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xdf2, 0xdf3}, {0xe31, 0xe31}, |

633 | {0xe34, 0xe3a}, {0xe47, 0xe4e}, {0xeb1, 0xeb1}, {0xeb4, 0xeb9}, |

634 | {0xebb, 0xebc}, {0xec8, 0xecd}, {0xf18, 0xf19}, {0xf35, 0xf35}, |

635 | {0xf37, 0xf37}, {0xf39, 0xf39}, {0xf3e, 0xf3f}, {0xf71, 0xf84}, |

636 | {0xf86, 0xf87}, {0xf90, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, |

637 | {0x102c, 0x1032}, {0x1036, 0x1039}, {0x1056, 0x1059}, {0x1712, 0x1714}, |

638 | {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773}, {0x17b6, 0x17d3}, |

639 | {0x17dd, 0x17dd}, {0x180b, 0x180d}, {0x18a9, 0x18a9}, {0x1920, 0x192b}, |

640 | {0x1930, 0x193b}, {0x20d0, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a}, |

641 | {0xfb1e, 0xfb1e}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe23} }; |

642 | static xmlChLRange xmlML[] = {{0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, |

643 | {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, |

644 | {0xe0100, 0xe01ef} }; |

645 | static xmlChRangeGroup xmlMG = {113,6,xmlMS,xmlML}; |

646 | |

647 | static xmlChSRange xmlMcS[] = {{0x903, 0x903}, {0x93e, 0x940}, |

648 | {0x949, 0x94c}, {0x982, 0x983}, {0x9be, 0x9c0}, {0x9c7, 0x9c8}, |

649 | {0x9cb, 0x9cc}, {0x9d7, 0x9d7}, {0xa03, 0xa03}, {0xa3e, 0xa40}, |

650 | {0xa83, 0xa83}, {0xabe, 0xac0}, {0xac9, 0xac9}, {0xacb, 0xacc}, |

651 | {0xb02, 0xb03}, {0xb3e, 0xb3e}, {0xb40, 0xb40}, {0xb47, 0xb48}, |

652 | {0xb4b, 0xb4c}, {0xb57, 0xb57}, {0xbbe, 0xbbf}, {0xbc1, 0xbc2}, |

653 | {0xbc6, 0xbc8}, {0xbca, 0xbcc}, {0xbd7, 0xbd7}, {0xc01, 0xc03}, |

654 | {0xc41, 0xc44}, {0xc82, 0xc83}, {0xcbe, 0xcbe}, {0xcc0, 0xcc4}, |

655 | {0xcc7, 0xcc8}, {0xcca, 0xccb}, {0xcd5, 0xcd6}, {0xd02, 0xd03}, |

656 | {0xd3e, 0xd40}, {0xd46, 0xd48}, {0xd4a, 0xd4c}, {0xd57, 0xd57}, |

657 | {0xd82, 0xd83}, {0xdcf, 0xdd1}, {0xdd8, 0xddf}, {0xdf2, 0xdf3}, |

658 | {0xf3e, 0xf3f}, {0xf7f, 0xf7f}, {0x102c, 0x102c}, {0x1031, 0x1031}, |

659 | {0x1038, 0x1038}, {0x1056, 0x1057}, {0x17b6, 0x17b6}, {0x17be, 0x17c5}, |

660 | {0x17c7, 0x17c8}, {0x1923, 0x1926}, {0x1929, 0x192b}, {0x1930, 0x1931}, |

661 | {0x1933, 0x1938} }; |

662 | static xmlChLRange xmlMcL[] = {{0x1d165, 0x1d166}, {0x1d16d, 0x1d172} }; |

663 | static xmlChRangeGroup xmlMcG = {55,2,xmlMcS,xmlMcL}; |

664 | |

665 | static xmlChSRange xmlMnS[] = {{0x300, 0x357}, {0x35d, 0x36f}, |

666 | {0x483, 0x486}, {0x591, 0x5a1}, {0x5a3, 0x5b9}, {0x5bb, 0x5bd}, |

667 | {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4}, {0x610, 0x615}, |

668 | {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc}, {0x6df, 0x6e4}, |

669 | {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x711, 0x711}, {0x730, 0x74a}, |

670 | {0x7a6, 0x7b0}, {0x901, 0x902}, {0x93c, 0x93c}, {0x941, 0x948}, |

671 | {0x94d, 0x94d}, {0x951, 0x954}, {0x962, 0x963}, {0x981, 0x981}, |

672 | {0x9bc, 0x9bc}, {0x9c1, 0x9c4}, {0x9cd, 0x9cd}, {0x9e2, 0x9e3}, |

673 | {0xa01, 0xa02}, {0xa3c, 0xa3c}, {0xa41, 0xa42}, {0xa47, 0xa48}, |

674 | {0xa4b, 0xa4d}, {0xa70, 0xa71}, {0xa81, 0xa82}, {0xabc, 0xabc}, |

675 | {0xac1, 0xac5}, {0xac7, 0xac8}, {0xacd, 0xacd}, {0xae2, 0xae3}, |

676 | {0xb01, 0xb01}, {0xb3c, 0xb3c}, {0xb3f, 0xb3f}, {0xb41, 0xb43}, |

677 | {0xb4d, 0xb4d}, {0xb56, 0xb56}, {0xb82, 0xb82}, {0xbc0, 0xbc0}, |

678 | {0xbcd, 0xbcd}, {0xc3e, 0xc40}, {0xc46, 0xc48}, {0xc4a, 0xc4d}, |

679 | {0xc55, 0xc56}, {0xcbc, 0xcbc}, {0xcbf, 0xcbf}, {0xcc6, 0xcc6}, |

680 | {0xccc, 0xccd}, {0xd41, 0xd43}, {0xd4d, 0xd4d}, {0xdca, 0xdca}, |

681 | {0xdd2, 0xdd4}, {0xdd6, 0xdd6}, {0xe31, 0xe31}, {0xe34, 0xe3a}, |

682 | {0xe47, 0xe4e}, {0xeb1, 0xeb1}, {0xeb4, 0xeb9}, {0xebb, 0xebc}, |

683 | {0xec8, 0xecd}, {0xf18, 0xf19}, {0xf35, 0xf35}, {0xf37, 0xf37}, |

684 | {0xf39, 0xf39}, {0xf71, 0xf7e}, {0xf80, 0xf84}, {0xf86, 0xf87}, |

685 | {0xf90, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, {0x102d, 0x1030}, |

686 | {0x1032, 0x1032}, {0x1036, 0x1037}, {0x1039, 0x1039}, {0x1058, 0x1059}, |

687 | {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773}, |

688 | {0x17b7, 0x17bd}, {0x17c6, 0x17c6}, {0x17c9, 0x17d3}, {0x17dd, 0x17dd}, |

689 | {0x180b, 0x180d}, {0x18a9, 0x18a9}, {0x1920, 0x1922}, {0x1927, 0x1928}, |

690 | {0x1932, 0x1932}, {0x1939, 0x193b}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, |

691 | {0x20e5, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a}, {0xfb1e, 0xfb1e}, |

692 | {0xfe00, 0xfe0f}, {0xfe20, 0xfe23} }; |

693 | static xmlChLRange xmlMnL[] = {{0x1d167, 0x1d169}, {0x1d17b, 0x1d182}, |

694 | {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0xe0100, 0xe01ef} }; |

695 | static xmlChRangeGroup xmlMnG = {108,5,xmlMnS,xmlMnL}; |

696 | |

697 | static xmlChSRange xmlNS[] = {{0x30, 0x39}, {0xb2, 0xb3}, {0xb9, 0xb9}, |

698 | {0xbc, 0xbe}, {0x660, 0x669}, {0x6f0, 0x6f9}, {0x966, 0x96f}, |

699 | {0x9e6, 0x9ef}, {0x9f4, 0x9f9}, {0xa66, 0xa6f}, {0xae6, 0xaef}, |

700 | {0xb66, 0xb6f}, {0xbe7, 0xbf2}, {0xc66, 0xc6f}, {0xce6, 0xcef}, |

701 | {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9}, {0xf20, 0xf33}, |

702 | {0x1040, 0x1049}, {0x1369, 0x137c}, {0x16ee, 0x16f0}, {0x17e0, 0x17e9}, |

703 | {0x17f0, 0x17f9}, {0x1810, 0x1819}, {0x1946, 0x194f}, {0x2070, 0x2070}, |

704 | {0x2074, 0x2079}, {0x2080, 0x2089}, {0x2153, 0x2183}, {0x2460, 0x249b}, |

705 | {0x24ea, 0x24ff}, {0x2776, 0x2793}, {0x3007, 0x3007}, {0x3021, 0x3029}, |

706 | {0x3038, 0x303a}, {0x3192, 0x3195}, {0x3220, 0x3229}, {0x3251, 0x325f}, |

707 | {0x3280, 0x3289}, {0x32b1, 0x32bf}, {0xff10, 0xff19} }; |

708 | static xmlChLRange xmlNL[] = {{0x10107, 0x10133}, {0x10320, 0x10323}, |

709 | {0x1034a, 0x1034a}, {0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} }; |

710 | static xmlChRangeGroup xmlNG = {42,5,xmlNS,xmlNL}; |

711 | |

712 | static xmlChSRange xmlNdS[] = {{0x30, 0x39}, {0x660, 0x669}, |

713 | {0x6f0, 0x6f9}, {0x966, 0x96f}, {0x9e6, 0x9ef}, {0xa66, 0xa6f}, |

714 | {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbef}, {0xc66, 0xc6f}, |

715 | {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9}, |

716 | {0xf20, 0xf29}, {0x1040, 0x1049}, {0x1369, 0x1371}, {0x17e0, 0x17e9}, |

717 | {0x1810, 0x1819}, {0x1946, 0x194f}, {0xff10, 0xff19} }; |

718 | static xmlChLRange xmlNdL[] = {{0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} }; |

719 | static xmlChRangeGroup xmlNdG = {21,2,xmlNdS,xmlNdL}; |

720 | |

721 | static xmlChSRange xmlNoS[] = {{0xb2, 0xb3}, {0xb9, 0xb9}, {0xbc, 0xbe}, |

722 | {0x9f4, 0x9f9}, {0xbf0, 0xbf2}, {0xf2a, 0xf33}, {0x1372, 0x137c}, |

723 | {0x17f0, 0x17f9}, {0x2070, 0x2070}, {0x2074, 0x2079}, {0x2080, 0x2089}, |

724 | {0x2153, 0x215f}, {0x2460, 0x249b}, {0x24ea, 0x24ff}, {0x2776, 0x2793}, |

725 | {0x3192, 0x3195}, {0x3220, 0x3229}, {0x3251, 0x325f}, {0x3280, 0x3289}, |

726 | {0x32b1, 0x32bf} }; |

727 | static xmlChLRange xmlNoL[] = {{0x10107, 0x10133}, {0x10320, 0x10323} }; |

728 | static xmlChRangeGroup xmlNoG = {20,2,xmlNoS,xmlNoL}; |

729 | |

730 | static xmlChSRange xmlPS[] = {{0x21, 0x23}, {0x25, 0x2a}, {0x2c, 0x2f}, |

731 | {0x3a, 0x3b}, {0x3f, 0x40}, {0x5b, 0x5d}, {0x5f, 0x5f}, {0x7b, 0x7b}, |

732 | {0x7d, 0x7d}, {0xa1, 0xa1}, {0xab, 0xab}, {0xb7, 0xb7}, {0xbb, 0xbb}, |

733 | {0xbf, 0xbf}, {0x37e, 0x37e}, {0x387, 0x387}, {0x55a, 0x55f}, |

734 | {0x589, 0x58a}, {0x5be, 0x5be}, {0x5c0, 0x5c0}, {0x5c3, 0x5c3}, |

735 | {0x5f3, 0x5f4}, {0x60c, 0x60d}, {0x61b, 0x61b}, {0x61f, 0x61f}, |

736 | {0x66a, 0x66d}, {0x6d4, 0x6d4}, {0x700, 0x70d}, {0x964, 0x965}, |

737 | {0x970, 0x970}, {0xdf4, 0xdf4}, {0xe4f, 0xe4f}, {0xe5a, 0xe5b}, |

738 | {0xf04, 0xf12}, {0xf3a, 0xf3d}, {0xf85, 0xf85}, {0x104a, 0x104f}, |

739 | {0x10fb, 0x10fb}, {0x1361, 0x1368}, {0x166d, 0x166e}, {0x169b, 0x169c}, |

740 | {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x17d4, 0x17d6}, {0x17d8, 0x17da}, |

741 | {0x1800, 0x180a}, {0x1944, 0x1945}, {0x2010, 0x2027}, {0x2030, 0x2043}, |

742 | {0x2045, 0x2051}, {0x2053, 0x2054}, {0x2057, 0x2057}, {0x207d, 0x207e}, |

743 | {0x208d, 0x208e}, {0x2329, 0x232a}, {0x23b4, 0x23b6}, {0x2768, 0x2775}, |

744 | {0x27e6, 0x27eb}, {0x2983, 0x2998}, {0x29d8, 0x29db}, {0x29fc, 0x29fd}, |

745 | {0x3001, 0x3003}, {0x3008, 0x3011}, {0x3014, 0x301f}, {0x3030, 0x3030}, |

746 | {0x303d, 0x303d}, {0x30a0, 0x30a0}, {0x30fb, 0x30fb}, {0xfd3e, 0xfd3f}, |

747 | {0xfe30, 0xfe52}, {0xfe54, 0xfe61}, {0xfe63, 0xfe63}, {0xfe68, 0xfe68}, |

748 | {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff0a}, {0xff0c, 0xff0f}, |

749 | {0xff1a, 0xff1b}, {0xff1f, 0xff20}, {0xff3b, 0xff3d}, {0xff3f, 0xff3f}, |

750 | {0xff5b, 0xff5b}, {0xff5d, 0xff5d}, {0xff5f, 0xff65} }; |

751 | static xmlChLRange xmlPL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} }; |

752 | static xmlChRangeGroup xmlPG = {84,2,xmlPS,xmlPL}; |

753 | |

754 | static xmlChSRange xmlPdS[] = {{0x2d, 0x2d}, {0x58a, 0x58a}, |

755 | {0x1806, 0x1806}, {0x2010, 0x2015}, {0x301c, 0x301c}, {0x3030, 0x3030}, |

756 | {0x30a0, 0x30a0}, {0xfe31, 0xfe32}, {0xfe58, 0xfe58}, {0xfe63, 0xfe63}, |

757 | {0xff0d, 0xff0d} }; |

758 | static xmlChRangeGroup xmlPdG = {11,0,xmlPdS,NULL}; |

759 | |

760 | static xmlChSRange xmlPeS[] = {{0x29, 0x29}, {0x5d, 0x5d}, {0x7d, 0x7d}, |

761 | {0xf3b, 0xf3b}, {0xf3d, 0xf3d}, {0x169c, 0x169c}, {0x2046, 0x2046}, |

762 | {0x207e, 0x207e}, {0x208e, 0x208e}, {0x232a, 0x232a}, {0x23b5, 0x23b5}, |

763 | {0x2769, 0x2769}, {0x276b, 0x276b}, {0x276d, 0x276d}, {0x276f, 0x276f}, |

764 | {0x2771, 0x2771}, {0x2773, 0x2773}, {0x2775, 0x2775}, {0x27e7, 0x27e7}, |

765 | {0x27e9, 0x27e9}, {0x27eb, 0x27eb}, {0x2984, 0x2984}, {0x2986, 0x2986}, |

766 | {0x2988, 0x2988}, {0x298a, 0x298a}, {0x298c, 0x298c}, {0x298e, 0x298e}, |

767 | {0x2990, 0x2990}, {0x2992, 0x2992}, {0x2994, 0x2994}, {0x2996, 0x2996}, |

768 | {0x2998, 0x2998}, {0x29d9, 0x29d9}, {0x29db, 0x29db}, {0x29fd, 0x29fd}, |

769 | {0x3009, 0x3009}, {0x300b, 0x300b}, {0x300d, 0x300d}, {0x300f, 0x300f}, |

770 | {0x3011, 0x3011}, {0x3015, 0x3015}, {0x3017, 0x3017}, {0x3019, 0x3019}, |

771 | {0x301b, 0x301b}, {0x301e, 0x301f}, {0xfd3f, 0xfd3f}, {0xfe36, 0xfe36}, |

772 | {0xfe38, 0xfe38}, {0xfe3a, 0xfe3a}, {0xfe3c, 0xfe3c}, {0xfe3e, 0xfe3e}, |

773 | {0xfe40, 0xfe40}, {0xfe42, 0xfe42}, {0xfe44, 0xfe44}, {0xfe48, 0xfe48}, |

774 | {0xfe5a, 0xfe5a}, {0xfe5c, 0xfe5c}, {0xfe5e, 0xfe5e}, {0xff09, 0xff09}, |

775 | {0xff3d, 0xff3d}, {0xff5d, 0xff5d}, {0xff60, 0xff60}, {0xff63, 0xff63} }; |

776 | static xmlChRangeGroup xmlPeG = {63,0,xmlPeS,NULL}; |

777 | |

778 | static xmlChSRange xmlPoS[] = {{0x21, 0x23}, {0x25, 0x27}, {0x2a, 0x2a}, |

779 | {0x2c, 0x2c}, {0x2e, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40}, {0x5c, 0x5c}, |

780 | {0xa1, 0xa1}, {0xb7, 0xb7}, {0xbf, 0xbf}, {0x37e, 0x37e}, |

781 | {0x387, 0x387}, {0x55a, 0x55f}, {0x589, 0x589}, {0x5be, 0x5be}, |

782 | {0x5c0, 0x5c0}, {0x5c3, 0x5c3}, {0x5f3, 0x5f4}, {0x60c, 0x60d}, |

783 | {0x61b, 0x61b}, {0x61f, 0x61f}, {0x66a, 0x66d}, {0x6d4, 0x6d4}, |

784 | {0x700, 0x70d}, {0x964, 0x965}, {0x970, 0x970}, {0xdf4, 0xdf4}, |

785 | {0xe4f, 0xe4f}, {0xe5a, 0xe5b}, {0xf04, 0xf12}, {0xf85, 0xf85}, |

786 | {0x104a, 0x104f}, {0x10fb, 0x10fb}, {0x1361, 0x1368}, {0x166d, 0x166e}, |

787 | {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x17d4, 0x17d6}, {0x17d8, 0x17da}, |

788 | {0x1800, 0x1805}, {0x1807, 0x180a}, {0x1944, 0x1945}, {0x2016, 0x2017}, |

789 | {0x2020, 0x2027}, {0x2030, 0x2038}, {0x203b, 0x203e}, {0x2041, 0x2043}, |

790 | {0x2047, 0x2051}, {0x2053, 0x2053}, {0x2057, 0x2057}, {0x23b6, 0x23b6}, |

791 | {0x3001, 0x3003}, {0x303d, 0x303d}, {0xfe30, 0xfe30}, {0xfe45, 0xfe46}, |

792 | {0xfe49, 0xfe4c}, {0xfe50, 0xfe52}, {0xfe54, 0xfe57}, {0xfe5f, 0xfe61}, |

793 | {0xfe68, 0xfe68}, {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff07}, |

794 | {0xff0a, 0xff0a}, {0xff0c, 0xff0c}, {0xff0e, 0xff0f}, {0xff1a, 0xff1b}, |

795 | {0xff1f, 0xff20}, {0xff3c, 0xff3c}, {0xff61, 0xff61}, {0xff64, 0xff64} }; |

796 | static xmlChLRange xmlPoL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} }; |

797 | static xmlChRangeGroup xmlPoG = {72,2,xmlPoS,xmlPoL}; |

798 | |

799 | static xmlChSRange xmlPsS[] = {{0x28, 0x28}, {0x5b, 0x5b}, {0x7b, 0x7b}, |

800 | {0xf3a, 0xf3a}, {0xf3c, 0xf3c}, {0x169b, 0x169b}, {0x201a, 0x201a}, |

801 | {0x201e, 0x201e}, {0x2045, 0x2045}, {0x207d, 0x207d}, {0x208d, 0x208d}, |

802 | {0x2329, 0x2329}, {0x23b4, 0x23b4}, {0x2768, 0x2768}, {0x276a, 0x276a}, |

803 | {0x276c, 0x276c}, {0x276e, 0x276e}, {0x2770, 0x2770}, {0x2772, 0x2772}, |

804 | {0x2774, 0x2774}, {0x27e6, 0x27e6}, {0x27e8, 0x27e8}, {0x27ea, 0x27ea}, |

805 | {0x2983, 0x2983}, {0x2985, 0x2985}, {0x2987, 0x2987}, {0x2989, 0x2989}, |

806 | {0x298b, 0x298b}, {0x298d, 0x298d}, {0x298f, 0x298f}, {0x2991, 0x2991}, |

807 | {0x2993, 0x2993}, {0x2995, 0x2995}, {0x2997, 0x2997}, {0x29d8, 0x29d8}, |

808 | {0x29da, 0x29da}, {0x29fc, 0x29fc}, {0x3008, 0x3008}, {0x300a, 0x300a}, |

809 | {0x300c, 0x300c}, {0x300e, 0x300e}, {0x3010, 0x3010}, {0x3014, 0x3014}, |

810 | {0x3016, 0x3016}, {0x3018, 0x3018}, {0x301a, 0x301a}, {0x301d, 0x301d}, |

811 | {0xfd3e, 0xfd3e}, {0xfe35, 0xfe35}, {0xfe37, 0xfe37}, {0xfe39, 0xfe39}, |

812 | {0xfe3b, 0xfe3b}, {0xfe3d, 0xfe3d}, {0xfe3f, 0xfe3f}, {0xfe41, 0xfe41}, |

813 | {0xfe43, 0xfe43}, {0xfe47, 0xfe47}, {0xfe59, 0xfe59}, {0xfe5b, 0xfe5b}, |

814 | {0xfe5d, 0xfe5d}, {0xff08, 0xff08}, {0xff3b, 0xff3b}, {0xff5b, 0xff5b}, |

815 | {0xff5f, 0xff5f}, {0xff62, 0xff62} }; |

816 | static xmlChRangeGroup xmlPsG = {65,0,xmlPsS,NULL}; |

817 | |

818 | static xmlChSRange xmlSS[] = {{0x24, 0x24}, {0x2b, 0x2b}, {0x3c, 0x3e}, |

819 | {0x5e, 0x5e}, {0x60, 0x60}, {0x7c, 0x7c}, {0x7e, 0x7e}, {0xa2, 0xa9}, |

820 | {0xac, 0xac}, {0xae, 0xb1}, {0xb4, 0xb4}, {0xb6, 0xb6}, {0xb8, 0xb8}, |

821 | {0xd7, 0xd7}, {0xf7, 0xf7}, {0x2c2, 0x2c5}, {0x2d2, 0x2df}, |

822 | {0x2e5, 0x2ed}, {0x2ef, 0x2ff}, {0x374, 0x375}, {0x384, 0x385}, |

823 | {0x3f6, 0x3f6}, {0x482, 0x482}, {0x60e, 0x60f}, {0x6e9, 0x6e9}, |

824 | {0x6fd, 0x6fe}, {0x9f2, 0x9f3}, {0x9fa, 0x9fa}, {0xaf1, 0xaf1}, |

825 | {0xb70, 0xb70}, {0xbf3, 0xbfa}, {0xe3f, 0xe3f}, {0xf01, 0xf03}, |

826 | {0xf13, 0xf17}, {0xf1a, 0xf1f}, {0xf34, 0xf34}, {0xf36, 0xf36}, |

827 | {0xf38, 0xf38}, {0xfbe, 0xfc5}, {0xfc7, 0xfcc}, {0xfcf, 0xfcf}, |

828 | {0x17db, 0x17db}, {0x1940, 0x1940}, {0x19e0, 0x19ff}, {0x1fbd, 0x1fbd}, |

829 | {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, {0x1fdd, 0x1fdf}, {0x1fed, 0x1fef}, |

830 | {0x1ffd, 0x1ffe}, {0x2044, 0x2044}, {0x2052, 0x2052}, {0x207a, 0x207c}, |

831 | {0x208a, 0x208c}, {0x20a0, 0x20b1}, {0x2100, 0x2101}, {0x2103, 0x2106}, |

832 | {0x2108, 0x2109}, {0x2114, 0x2114}, {0x2116, 0x2118}, {0x211e, 0x2123}, |

833 | {0x2125, 0x2125}, {0x2127, 0x2127}, {0x2129, 0x2129}, {0x212e, 0x212e}, |

834 | {0x2132, 0x2132}, {0x213a, 0x213b}, {0x2140, 0x2144}, {0x214a, 0x214b}, |

835 | {0x2190, 0x2328}, {0x232b, 0x23b3}, {0x23b7, 0x23d0}, {0x2400, 0x2426}, |

836 | {0x2440, 0x244a}, {0x249c, 0x24e9}, {0x2500, 0x2617}, {0x2619, 0x267d}, |

837 | {0x2680, 0x2691}, {0x26a0, 0x26a1}, {0x2701, 0x2704}, {0x2706, 0x2709}, |

838 | {0x270c, 0x2727}, {0x2729, 0x274b}, {0x274d, 0x274d}, {0x274f, 0x2752}, |

839 | {0x2756, 0x2756}, {0x2758, 0x275e}, {0x2761, 0x2767}, {0x2794, 0x2794}, |

840 | {0x2798, 0x27af}, {0x27b1, 0x27be}, {0x27d0, 0x27e5}, {0x27f0, 0x2982}, |

841 | {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2b0d}, {0x2e80, 0x2e99}, |

842 | {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb}, {0x3004, 0x3004}, |

843 | {0x3012, 0x3013}, {0x3020, 0x3020}, {0x3036, 0x3037}, {0x303e, 0x303f}, |

844 | {0x309b, 0x309c}, {0x3190, 0x3191}, {0x3196, 0x319f}, {0x3200, 0x321e}, |

845 | {0x322a, 0x3243}, {0x3250, 0x3250}, {0x3260, 0x327d}, {0x327f, 0x327f}, |

846 | {0x328a, 0x32b0}, {0x32c0, 0x32fe}, {0x3300, 0x33ff}, {0x4dc0, 0x4dff}, |

847 | {0xa490, 0xa4c6}, {0xfb29, 0xfb29}, {0xfdfc, 0xfdfd}, {0xfe62, 0xfe62}, |

848 | {0xfe64, 0xfe66}, {0xfe69, 0xfe69}, {0xff04, 0xff04}, {0xff0b, 0xff0b}, |

849 | {0xff1c, 0xff1e}, {0xff3e, 0xff3e}, {0xff40, 0xff40}, {0xff5c, 0xff5c}, |

850 | {0xff5e, 0xff5e}, {0xffe0, 0xffe6}, {0xffe8, 0xffee}, {0xfffc, 0xfffd} }; |

851 | static xmlChLRange xmlSL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f}, |

852 | {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164}, |

853 | {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, |

854 | {0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356}, {0x1d6c1, 0x1d6c1}, |

855 | {0x1d6db, 0x1d6db}, {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715}, |

856 | {0x1d735, 0x1d735}, {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f}, |

857 | {0x1d789, 0x1d789}, {0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} }; |

858 | static xmlChRangeGroup xmlSG = {133,20,xmlSS,xmlSL}; |

859 | |

860 | static xmlChSRange xmlScS[] = {{0x24, 0x24}, {0xa2, 0xa5}, {0x9f2, 0x9f3}, |

861 | {0xaf1, 0xaf1}, {0xbf9, 0xbf9}, {0xe3f, 0xe3f}, {0x17db, 0x17db}, |

862 | {0x20a0, 0x20b1}, {0xfdfc, 0xfdfc}, {0xfe69, 0xfe69}, {0xff04, 0xff04}, |

863 | {0xffe0, 0xffe1}, {0xffe5, 0xffe6} }; |

864 | static xmlChRangeGroup xmlScG = {13,0,xmlScS,NULL}; |

865 | |

866 | static xmlChSRange xmlSkS[] = {{0x5e, 0x5e}, {0x60, 0x60}, {0xa8, 0xa8}, |

867 | {0xaf, 0xaf}, {0xb4, 0xb4}, {0xb8, 0xb8}, {0x2c2, 0x2c5}, |

868 | {0x2d2, 0x2df}, {0x2e5, 0x2ed}, {0x2ef, 0x2ff}, {0x374, 0x375}, |

869 | {0x384, 0x385}, {0x1fbd, 0x1fbd}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, |

870 | {0x1fdd, 0x1fdf}, {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x309b, 0x309c}, |

871 | {0xff3e, 0xff3e}, {0xff40, 0xff40}, {0xffe3, 0xffe3} }; |

872 | static xmlChRangeGroup xmlSkG = {22,0,xmlSkS,NULL}; |

873 | |

874 | static xmlChSRange xmlSmS[] = {{0x2b, 0x2b}, {0x3c, 0x3e}, {0x7c, 0x7c}, |

875 | {0x7e, 0x7e}, {0xac, 0xac}, {0xb1, 0xb1}, {0xd7, 0xd7}, {0xf7, 0xf7}, |

876 | {0x3f6, 0x3f6}, {0x2044, 0x2044}, {0x2052, 0x2052}, {0x207a, 0x207c}, |

877 | {0x208a, 0x208c}, {0x2140, 0x2144}, {0x214b, 0x214b}, {0x2190, 0x2194}, |

878 | {0x219a, 0x219b}, {0x21a0, 0x21a0}, {0x21a3, 0x21a3}, {0x21a6, 0x21a6}, |

879 | {0x21ae, 0x21ae}, {0x21ce, 0x21cf}, {0x21d2, 0x21d2}, {0x21d4, 0x21d4}, |

880 | {0x21f4, 0x22ff}, {0x2308, 0x230b}, {0x2320, 0x2321}, {0x237c, 0x237c}, |

881 | {0x239b, 0x23b3}, {0x25b7, 0x25b7}, {0x25c1, 0x25c1}, {0x25f8, 0x25ff}, |

882 | {0x266f, 0x266f}, {0x27d0, 0x27e5}, {0x27f0, 0x27ff}, {0x2900, 0x2982}, |

883 | {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2aff}, {0xfb29, 0xfb29}, |

884 | {0xfe62, 0xfe62}, {0xfe64, 0xfe66}, {0xff0b, 0xff0b}, {0xff1c, 0xff1e}, |

885 | {0xff5c, 0xff5c}, {0xff5e, 0xff5e}, {0xffe2, 0xffe2}, {0xffe9, 0xffec} }; |

886 | static xmlChLRange xmlSmL[] = {{0x1d6c1, 0x1d6c1}, {0x1d6db, 0x1d6db}, |

887 | {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715}, {0x1d735, 0x1d735}, |

888 | {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f}, {0x1d789, 0x1d789}, |

889 | {0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} }; |

890 | static xmlChRangeGroup xmlSmG = {48,10,xmlSmS,xmlSmL}; |

891 | |

892 | static xmlChSRange xmlSoS[] = {{0xa6, 0xa7}, {0xa9, 0xa9}, {0xae, 0xae}, |

893 | {0xb0, 0xb0}, {0xb6, 0xb6}, {0x482, 0x482}, {0x60e, 0x60f}, |

894 | {0x6e9, 0x6e9}, {0x6fd, 0x6fe}, {0x9fa, 0x9fa}, {0xb70, 0xb70}, |

895 | {0xbf3, 0xbf8}, {0xbfa, 0xbfa}, {0xf01, 0xf03}, {0xf13, 0xf17}, |

896 | {0xf1a, 0xf1f}, {0xf34, 0xf34}, {0xf36, 0xf36}, {0xf38, 0xf38}, |

897 | {0xfbe, 0xfc5}, {0xfc7, 0xfcc}, {0xfcf, 0xfcf}, {0x1940, 0x1940}, |

898 | {0x19e0, 0x19ff}, {0x2100, 0x2101}, {0x2103, 0x2106}, {0x2108, 0x2109}, |

899 | {0x2114, 0x2114}, {0x2116, 0x2118}, {0x211e, 0x2123}, {0x2125, 0x2125}, |

900 | {0x2127, 0x2127}, {0x2129, 0x2129}, {0x212e, 0x212e}, {0x2132, 0x2132}, |

901 | {0x213a, 0x213b}, {0x214a, 0x214a}, {0x2195, 0x2199}, {0x219c, 0x219f}, |

902 | {0x21a1, 0x21a2}, {0x21a4, 0x21a5}, {0x21a7, 0x21ad}, {0x21af, 0x21cd}, |

903 | {0x21d0, 0x21d1}, {0x21d3, 0x21d3}, {0x21d5, 0x21f3}, {0x2300, 0x2307}, |

904 | {0x230c, 0x231f}, {0x2322, 0x2328}, {0x232b, 0x237b}, {0x237d, 0x239a}, |

905 | {0x23b7, 0x23d0}, {0x2400, 0x2426}, {0x2440, 0x244a}, {0x249c, 0x24e9}, |

906 | {0x2500, 0x25b6}, {0x25b8, 0x25c0}, {0x25c2, 0x25f7}, {0x2600, 0x2617}, |

907 | {0x2619, 0x266e}, {0x2670, 0x267d}, {0x2680, 0x2691}, {0x26a0, 0x26a1}, |

908 | {0x2701, 0x2704}, {0x2706, 0x2709}, {0x270c, 0x2727}, {0x2729, 0x274b}, |

909 | {0x274d, 0x274d}, {0x274f, 0x2752}, {0x2756, 0x2756}, {0x2758, 0x275e}, |

910 | {0x2761, 0x2767}, {0x2794, 0x2794}, {0x2798, 0x27af}, {0x27b1, 0x27be}, |

911 | {0x2800, 0x28ff}, {0x2b00, 0x2b0d}, {0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, |

912 | {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb}, {0x3004, 0x3004}, {0x3012, 0x3013}, |

913 | {0x3020, 0x3020}, {0x3036, 0x3037}, {0x303e, 0x303f}, {0x3190, 0x3191}, |

914 | {0x3196, 0x319f}, {0x3200, 0x321e}, {0x322a, 0x3243}, {0x3250, 0x3250}, |

915 | {0x3260, 0x327d}, {0x327f, 0x327f}, {0x328a, 0x32b0}, {0x32c0, 0x32fe}, |

916 | {0x3300, 0x33ff}, {0x4dc0, 0x4dff}, {0xa490, 0xa4c6}, {0xfdfd, 0xfdfd}, |

917 | {0xffe4, 0xffe4}, {0xffe8, 0xffe8}, {0xffed, 0xffee}, {0xfffc, 0xfffd} }; |

918 | static xmlChLRange xmlSoL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f}, |

919 | {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164}, |

920 | {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, |

921 | {0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356} }; |

922 | static xmlChRangeGroup xmlSoG = {103,10,xmlSoS,xmlSoL}; |

923 | |

924 | static xmlChSRange xmlZS[] = {{0x20, 0x20}, {0xa0, 0xa0}, {0x1680, 0x1680}, |

925 | {0x180e, 0x180e}, {0x2000, 0x200b}, {0x2028, 0x2029}, {0x202f, 0x202f}, |

926 | {0x205f, 0x205f}, {0x3000, 0x3000} }; |

927 | static xmlChRangeGroup xmlZG = {9,0,xmlZS,NULL}; |

928 | |

929 | xmlUnicodeNameTable xmlUnicodeBlockTbl = {xmlUnicodeBlocks, 128}; |

930 | xmlUnicodeNameTable xmlUnicodeCatTbl = {xmlUnicodeCats, 36}; |

931 | |

932 | /** |

933 | * xmlUnicodeLookup: |

934 | * @tptr: pointer to the name table |

935 | * @name: name to be found |

936 | * |

937 | * binary table lookup for user-supplied name |

938 | * |

939 | * Returns pointer to range function if found, otherwise NULL |

940 | */ |

941 | static xmlIntFunc |

942 | *xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname) { |

943 | int low, high, mid, cmp; |

944 | xmlUnicodeRange *sptr; |

945 | |

946 | if ((tptr == NULL) || (tname == NULL)) return(NULL); |

947 | |

948 | low = 0; |

949 | high = tptr->numentries - 1; |

950 | sptr = tptr->table; |

951 | while (low <= high) { |

952 | mid = (low + high) / 2; |

953 | if ((cmp=strcmp(tname, sptr[mid].rangename)) == 0) |

954 | return (sptr[mid].func); |

955 | if (cmp < 0) |

956 | high = mid - 1; |

957 | else |

958 | low = mid + 1; |

959 | } |

960 | return (NULL); |

961 | } |

962 | |

963 | /** |

964 | * xmlUCSIsAegeanNumbers: |

965 | * @code: UCS code point |

966 | * |

967 | * Check whether the character is part of AegeanNumbers UCS Block |

968 | * |

969 | * Returns 1 if true 0 otherwise |

970 | */ |

971 | int |

972 | xmlUCSIsAegeanNumbers(int code) { |

973 | return(((code >= 0x10100) && (code <= 0x1013F))); |

974 | } |

975 | |

976 | /** |

977 | * xmlUCSIsAlphabeticPresentationForms: |

978 | * @code: UCS code point |

979 | * |

980 | * Check whether the character is part of AlphabeticPresentationForms UCS Block |

981 | * |

982 | * Returns 1 if true 0 otherwise |

983 | */ |

984 | int |

985 | xmlUCSIsAlphabeticPresentationForms(int code) { |

986 | return(((code >= 0xFB00) && (code <= 0xFB4F))); |

987 | } |

988 | |

989 | /** |

990 | * xmlUCSIsArabic: |

991 | * @code: UCS code point |

992 | * |

993 | * Check whether the character is part of Arabic UCS Block |

994 | * |

995 | * Returns 1 if true 0 otherwise |

996 | */ |

997 | int |

998 | xmlUCSIsArabic(int code) { |

999 | return(((code >= 0x0600) && (code <= 0x06FF))); |

1000 | } |

1001 | |

1002 | /** |

1003 | * xmlUCSIsArabicPresentationFormsA: |

1004 | * @code: UCS code point |

1005 | * |

1006 | * Check whether the character is part of ArabicPresentationForms-A UCS Block |

1007 | * |

1008 | * Returns 1 if true 0 otherwise |

1009 | */ |

1010 | int |

1011 | xmlUCSIsArabicPresentationFormsA(int code) { |

1012 | return(((code >= 0xFB50) && (code <= 0xFDFF))); |

1013 | } |

1014 | |

1015 | /** |

1016 | * xmlUCSIsArabicPresentationFormsB: |

1017 | * @code: UCS code point |

1018 | * |

1019 | * Check whether the character is part of ArabicPresentationForms-B UCS Block |

1020 | * |

1021 | * Returns 1 if true 0 otherwise |

1022 | */ |

1023 | int |

1024 | xmlUCSIsArabicPresentationFormsB(int code) { |

1025 | return(((code >= 0xFE70) && (code <= 0xFEFF))); |

1026 | } |

1027 | |

1028 | /** |

1029 | * xmlUCSIsArmenian: |

1030 | * @code: UCS code point |

1031 | * |

1032 | * Check whether the character is part of Armenian UCS Block |

1033 | * |

1034 | * Returns 1 if true 0 otherwise |

1035 | */ |

1036 | int |

1037 | xmlUCSIsArmenian(int code) { |

1038 | return(((code >= 0x0530) && (code <= 0x058F))); |

1039 | } |

1040 | |

1041 | /** |

1042 | * xmlUCSIsArrows: |

1043 | * @code: UCS code point |

1044 | * |

1045 | * Check whether the character is part of Arrows UCS Block |

1046 | * |

1047 | * Returns 1 if true 0 otherwise |

1048 | */ |

1049 | int |

1050 | xmlUCSIsArrows(int code) { |

1051 | return(((code >= 0x2190) && (code <= 0x21FF))); |

1052 | } |

1053 | |

1054 | /** |

1055 | * xmlUCSIsBasicLatin: |

1056 | * @code: UCS code point |

1057 | * |

1058 | * Check whether the character is part of BasicLatin UCS Block |

1059 | * |

1060 | * Returns 1 if true 0 otherwise |

1061 | */ |

1062 | int |

1063 | xmlUCSIsBasicLatin(int code) { |

1064 | return(((code >= 0x0000) && (code <= 0x007F))); |

1065 | } |

1066 | |

1067 | /** |

1068 | * xmlUCSIsBengali: |

1069 | * @code: UCS code point |

1070 | * |

1071 | * Check whether the character is part of Bengali UCS Block |

1072 | * |

1073 | * Returns 1 if true 0 otherwise |

1074 | */ |

1075 | int |

1076 | xmlUCSIsBengali(int code) { |

1077 | return(((code >= 0x0980) && (code <= 0x09FF))); |

1078 | } |

1079 | |

1080 | /** |

1081 | * xmlUCSIsBlockElements: |

1082 | * @code: UCS code point |

1083 | * |

1084 | * Check whether the character is part of BlockElements UCS Block |

1085 | * |

1086 | * Returns 1 if true 0 otherwise |

1087 | */ |

1088 | int |

1089 | xmlUCSIsBlockElements(int code) { |

1090 | return(((code >= 0x2580) && (code <= 0x259F))); |

1091 | } |

1092 | |

1093 | /** |

1094 | * xmlUCSIsBopomofo: |

1095 | * @code: UCS code point |

1096 | * |

1097 | * Check whether the character is part of Bopomofo UCS Block |

1098 | * |

1099 | * Returns 1 if true 0 otherwise |

1100 | */ |

1101 | int |

1102 | xmlUCSIsBopomofo(int code) { |

1103 | return(((code >= 0x3100) && (code <= 0x312F))); |

1104 | } |

1105 | |

1106 | /** |

1107 | * xmlUCSIsBopomofoExtended: |

1108 | * @code: UCS code point |

1109 | * |

1110 | * Check whether the character is part of BopomofoExtended UCS Block |

1111 | * |

1112 | * Returns 1 if true 0 otherwise |

1113 | */ |

1114 | int |

1115 | xmlUCSIsBopomofoExtended(int code) { |

1116 | return(((code >= 0x31A0) && (code <= 0x31BF))); |

1117 | } |

1118 | |

1119 | /** |

1120 | * xmlUCSIsBoxDrawing: |

1121 | * @code: UCS code point |

1122 | * |

1123 | * Check whether the character is part of BoxDrawing UCS Block |

1124 | * |

1125 | * Returns 1 if true 0 otherwise |

1126 | */ |

1127 | int |

1128 | xmlUCSIsBoxDrawing(int code) { |

1129 | return(((code >= 0x2500) && (code <= 0x257F))); |

1130 | } |

1131 | |

1132 | /** |

1133 | * xmlUCSIsBraillePatterns: |

1134 | * @code: UCS code point |

1135 | * |

1136 | * Check whether the character is part of BraillePatterns UCS Block |

1137 | * |

1138 | * Returns 1 if true 0 otherwise |

1139 | */ |

1140 | int |

1141 | xmlUCSIsBraillePatterns(int code) { |

1142 | return(((code >= 0x2800) && (code <= 0x28FF))); |

1143 | } |

1144 | |

1145 | /** |

1146 | * xmlUCSIsBuhid: |

1147 | * @code: UCS code point |

1148 | * |

1149 | * Check whether the character is part of Buhid UCS Block |

1150 | * |

1151 | * Returns 1 if true 0 otherwise |

1152 | */ |

1153 | int |

1154 | xmlUCSIsBuhid(int code) { |

1155 | return(((code >= 0x1740) && (code <= 0x175F))); |

1156 | } |

1157 | |

1158 | /** |

1159 | * xmlUCSIsByzantineMusicalSymbols: |

1160 | * @code: UCS code point |

1161 | * |

1162 | * Check whether the character is part of ByzantineMusicalSymbols UCS Block |

1163 | * |

1164 | * Returns 1 if true 0 otherwise |

1165 | */ |

1166 | int |

1167 | xmlUCSIsByzantineMusicalSymbols(int code) { |

1168 | return(((code >= 0x1D000) && (code <= 0x1D0FF))); |

1169 | } |

1170 | |

1171 | /** |

1172 | * xmlUCSIsCJKCompatibility: |

1173 | * @code: UCS code point |

1174 | * |

1175 | * Check whether the character is part of CJKCompatibility UCS Block |

1176 | * |

1177 | * Returns 1 if true 0 otherwise |

1178 | */ |

1179 | int |

1180 | xmlUCSIsCJKCompatibility(int code) { |

1181 | return(((code >= 0x3300) && (code <= 0x33FF))); |

1182 | } |

1183 | |

1184 | /** |

1185 | * xmlUCSIsCJKCompatibilityForms: |

1186 | * @code: UCS code point |

1187 | * |

1188 | * Check whether the character is part of CJKCompatibilityForms UCS Block |

1189 | * |

1190 | * Returns 1 if true 0 otherwise |

1191 | */ |

1192 | int |

1193 | xmlUCSIsCJKCompatibilityForms(int code) { |

1194 | return(((code >= 0xFE30) && (code <= 0xFE4F))); |

1195 | } |

1196 | |

1197 | /** |

1198 | * xmlUCSIsCJKCompatibilityIdeographs: |

1199 | * @code: UCS code point |

1200 | * |

1201 | * Check whether the character is part of CJKCompatibilityIdeographs UCS Block |

1202 | * |

1203 | * Returns 1 if true 0 otherwise |

1204 | */ |

1205 | int |

1206 | xmlUCSIsCJKCompatibilityIdeographs(int code) { |

1207 | return(((code >= 0xF900) && (code <= 0xFAFF))); |

1208 | } |

1209 | |

1210 | /** |

1211 | * xmlUCSIsCJKCompatibilityIdeographsSupplement: |

1212 | * @code: UCS code point |

1213 | * |

1214 | * Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block |

1215 | * |

1216 | * Returns 1 if true 0 otherwise |

1217 | */ |

1218 | int |

1219 | xmlUCSIsCJKCompatibilityIdeographsSupplement(int code) { |

1220 | return(((code >= 0x2F800) && (code <= 0x2FA1F))); |

1221 | } |

1222 | |

1223 | /** |

1224 | * xmlUCSIsCJKRadicalsSupplement: |

1225 | * @code: UCS code point |

1226 | * |

1227 | * Check whether the character is part of CJKRadicalsSupplement UCS Block |

1228 | * |

1229 | * Returns 1 if true 0 otherwise |

1230 | */ |

1231 | int |

1232 | xmlUCSIsCJKRadicalsSupplement(int code) { |

1233 | return(((code >= 0x2E80) && (code <= 0x2EFF))); |

1234 | } |

1235 | |

1236 | /** |

1237 | * xmlUCSIsCJKSymbolsandPunctuation: |

1238 | * @code: UCS code point |

1239 | * |

1240 | * Check whether the character is part of CJKSymbolsandPunctuation UCS Block |

1241 | * |

1242 | * Returns 1 if true 0 otherwise |

1243 | */ |

1244 | int |

1245 | xmlUCSIsCJKSymbolsandPunctuation(int code) { |

1246 | return(((code >= 0x3000) && (code <= 0x303F))); |

1247 | } |

1248 | |

1249 | /** |

1250 | * xmlUCSIsCJKUnifiedIdeographs: |

1251 | * @code: UCS code point |

1252 | * |

1253 | * Check whether the character is part of CJKUnifiedIdeographs UCS Block |

1254 | * |

1255 | * Returns 1 if true 0 otherwise |

1256 | */ |

1257 | int |

1258 | xmlUCSIsCJKUnifiedIdeographs(int code) { |

1259 | return(((code >= 0x4E00) && (code <= 0x9FFF))); |

1260 | } |

1261 | |

1262 | /** |

1263 | * xmlUCSIsCJKUnifiedIdeographsExtensionA: |

1264 | * @code: UCS code point |

1265 | * |

1266 | * Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block |

1267 | * |

1268 | * Returns 1 if true 0 otherwise |

1269 | */ |

1270 | int |

1271 | xmlUCSIsCJKUnifiedIdeographsExtensionA(int code) { |

1272 | return(((code >= 0x3400) && (code <= 0x4DBF))); |

1273 | } |

1274 | |

1275 | /** |

1276 | * xmlUCSIsCJKUnifiedIdeographsExtensionB: |

1277 | * @code: UCS code point |

1278 | * |

1279 | * Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block |

1280 | * |

1281 | * Returns 1 if true 0 otherwise |

1282 | */ |

1283 | int |

1284 | xmlUCSIsCJKUnifiedIdeographsExtensionB(int code) { |

1285 | return(((code >= 0x20000) && (code <= 0x2A6DF))); |

1286 | } |

1287 | |

1288 | /** |

1289 | * xmlUCSIsCherokee: |

1290 | * @code: UCS code point |

1291 | * |

1292 | * Check whether the character is part of Cherokee UCS Block |

1293 | * |

1294 | * Returns 1 if true 0 otherwise |

1295 | */ |

1296 | int |

1297 | xmlUCSIsCherokee(int code) { |

1298 | return(((code >= 0x13A0) && (code <= 0x13FF))); |

1299 | } |

1300 | |

1301 | /** |

1302 | * xmlUCSIsCombiningDiacriticalMarks: |

1303 | * @code: UCS code point |

1304 | * |

1305 | * Check whether the character is part of CombiningDiacriticalMarks UCS Block |

1306 | * |

1307 | * Returns 1 if true 0 otherwise |

1308 | */ |

1309 | int |

1310 | xmlUCSIsCombiningDiacriticalMarks(int code) { |

1311 | return(((code >= 0x0300) && (code <= 0x036F))); |

1312 | } |

1313 | |

1314 | /** |

1315 | * xmlUCSIsCombiningDiacriticalMarksforSymbols: |

1316 | * @code: UCS code point |

1317 | * |

1318 | * Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block |

1319 | * |

1320 | * Returns 1 if true 0 otherwise |

1321 | */ |

1322 | int |

1323 | xmlUCSIsCombiningDiacriticalMarksforSymbols(int code) { |

1324 | return(((code >= 0x20D0) && (code <= 0x20FF))); |

1325 | } |

1326 | |

1327 | /** |

1328 | * xmlUCSIsCombiningHalfMarks: |

1329 | * @code: UCS code point |

1330 | * |

1331 | * Check whether the character is part of CombiningHalfMarks UCS Block |

1332 | * |

1333 | * Returns 1 if true 0 otherwise |

1334 | */ |

1335 | int |

1336 | xmlUCSIsCombiningHalfMarks(int code) { |

1337 | return(((code >= 0xFE20) && (code <= 0xFE2F))); |

1338 | } |

1339 | |

1340 | /** |

1341 | * xmlUCSIsCombiningMarksforSymbols: |

1342 | * @code: UCS code point |

1343 | * |

1344 | * Check whether the character is part of CombiningMarksforSymbols UCS Block |

1345 | * |

1346 | * Returns 1 if true 0 otherwise |

1347 | */ |

1348 | int |

1349 | xmlUCSIsCombiningMarksforSymbols(int code) { |

1350 | return(((code >= 0x20D0) && (code <= 0x20FF))); |

1351 | } |

1352 | |

1353 | /** |

1354 | * xmlUCSIsControlPictures: |

1355 | * @code: UCS code point |

1356 | * |

1357 | * Check whether the character is part of ControlPictures UCS Block |

1358 | * |

1359 | * Returns 1 if true 0 otherwise |

1360 | */ |

1361 | int |

1362 | xmlUCSIsControlPictures(int code) { |

1363 | return(((code >= 0x2400) && (code <= 0x243F))); |

1364 | } |

1365 | |

1366 | /** |

1367 | * xmlUCSIsCurrencySymbols: |

1368 | * @code: UCS code point |

1369 | * |

1370 | * Check whether the character is part of CurrencySymbols UCS Block |

1371 | * |

1372 | * Returns 1 if true 0 otherwise |

1373 | */ |

1374 | int |

1375 | xmlUCSIsCurrencySymbols(int code) { |

1376 | return(((code >= 0x20A0) && (code <= 0x20CF))); |

1377 | } |

1378 | |

1379 | /** |

1380 | * xmlUCSIsCypriotSyllabary: |

1381 | * @code: UCS code point |

1382 | * |

1383 | * Check whether the character is part of CypriotSyllabary UCS Block |

1384 | * |

1385 | * Returns 1 if true 0 otherwise |

1386 | */ |

1387 | int |

1388 | xmlUCSIsCypriotSyllabary(int code) { |

1389 | return(((code >= 0x10800) && (code <= 0x1083F))); |

1390 | } |

1391 | |

1392 | /** |

1393 | * xmlUCSIsCyrillic: |

1394 | * @code: UCS code point |

1395 | * |

1396 | * Check whether the character is part of Cyrillic UCS Block |

1397 | * |

1398 | * Returns 1 if true 0 otherwise |

1399 | */ |

1400 | int |

1401 | xmlUCSIsCyrillic(int code) { |

1402 | return(((code >= 0x0400) && (code <= 0x04FF))); |

1403 | } |

1404 | |

1405 | /** |

1406 | * xmlUCSIsCyrillicSupplement: |

1407 | * @code: UCS code point |

1408 | * |

1409 | * Check whether the character is part of CyrillicSupplement UCS Block |

1410 | * |

1411 | * Returns 1 if true 0 otherwise |

1412 | */ |

1413 | int |

1414 | xmlUCSIsCyrillicSupplement(int code) { |

1415 | return(((code >= 0x0500) && (code <= 0x052F))); |

1416 | } |

1417 | |

1418 | /** |

1419 | * xmlUCSIsDeseret: |

1420 | * @code: UCS code point |

1421 | * |

1422 | * Check whether the character is part of Deseret UCS Block |

1423 | * |

1424 | * Returns 1 if true 0 otherwise |

1425 | */ |

1426 | int |

1427 | xmlUCSIsDeseret(int code) { |

1428 | return(((code >= 0x10400) && (code <= 0x1044F))); |

1429 | } |

1430 | |

1431 | /** |

1432 | * xmlUCSIsDevanagari: |

1433 | * @code: UCS code point |

1434 | * |

1435 | * Check whether the character is part of Devanagari UCS Block |

1436 | * |

1437 | * Returns 1 if true 0 otherwise |

1438 | */ |

1439 | int |

1440 | xmlUCSIsDevanagari(int code) { |

1441 | return(((code >= 0x0900) && (code <= 0x097F))); |

1442 | } |

1443 | |

1444 | /** |

1445 | * xmlUCSIsDingbats: |

1446 | * @code: UCS code point |

1447 | * |

1448 | * Check whether the character is part of Dingbats UCS Block |

1449 | * |

1450 | * Returns 1 if true 0 otherwise |

1451 | */ |

1452 | int |

1453 | xmlUCSIsDingbats(int code) { |

1454 | return(((code >= 0x2700) && (code <= 0x27BF))); |

1455 | } |

1456 | |

1457 | /** |

1458 | * xmlUCSIsEnclosedAlphanumerics: |

1459 | * @code: UCS code point |

1460 | * |

1461 | * Check whether the character is part of EnclosedAlphanumerics UCS Block |

1462 | * |

1463 | * Returns 1 if true 0 otherwise |

1464 | */ |

1465 | int |

1466 | xmlUCSIsEnclosedAlphanumerics(int code) { |

1467 | return(((code >= 0x2460) && (code <= 0x24FF))); |

1468 | } |

1469 | |

1470 | /** |

1471 | * xmlUCSIsEnclosedCJKLettersandMonths: |

1472 | * @code: UCS code point |

1473 | * |

1474 | * Check whether the character is part of EnclosedCJKLettersandMonths UCS Block |

1475 | * |

1476 | * Returns 1 if true 0 otherwise |

1477 | */ |

1478 | int |

1479 | xmlUCSIsEnclosedCJKLettersandMonths(int code) { |

1480 | return(((code >= 0x3200) && (code <= 0x32FF))); |

1481 | } |

1482 | |

1483 | /** |

1484 | * xmlUCSIsEthiopic: |

1485 | * @code: UCS code point |

1486 | * |

1487 | * Check whether the character is part of Ethiopic UCS Block |

1488 | * |

1489 | * Returns 1 if true 0 otherwise |

1490 | */ |

1491 | int |

1492 | xmlUCSIsEthiopic(int code) { |

1493 | return(((code >= 0x1200) && (code <= 0x137F))); |

1494 | } |

1495 | |

1496 | /** |

1497 | * xmlUCSIsGeneralPunctuation: |

1498 | * @code: UCS code point |

1499 | * |

1500 | * Check whether the character is part of GeneralPunctuation UCS Block |

1501 | * |

1502 | * Returns 1 if true 0 otherwise |

1503 | */ |

1504 | int |

1505 | xmlUCSIsGeneralPunctuation(int code) { |

1506 | return(((code >= 0x2000) && (code <= 0x206F))); |

1507 | } |

1508 | |

1509 | /** |

1510 | * xmlUCSIsGeometricShapes: |

1511 | * @code: UCS code point |

1512 | * |

1513 | * Check whether the character is part of GeometricShapes UCS Block |

1514 | * |

1515 | * Returns 1 if true 0 otherwise |

1516 | */ |

1517 | int |

1518 | xmlUCSIsGeometricShapes(int code) { |

1519 | return(((code >= 0x25A0) && (code <= 0x25FF))); |

1520 | } |

1521 | |

1522 | /** |

1523 | * xmlUCSIsGeorgian: |

1524 | * @code: UCS code point |

1525 | * |

1526 | * Check whether the character is part of Georgian UCS Block |

1527 | * |

1528 | * Returns 1 if true 0 otherwise |

1529 | */ |

1530 | int |

1531 | xmlUCSIsGeorgian(int code) { |

1532 | return(((code >= 0x10A0) && (code <= 0x10FF))); |

1533 | } |

1534 | |

1535 | /** |

1536 | * xmlUCSIsGothic: |

1537 | * @code: UCS code point |

1538 | * |

1539 | * Check whether the character is part of Gothic UCS Block |

1540 | * |

1541 | * Returns 1 if true 0 otherwise |

1542 | */ |

1543 | int |

1544 | xmlUCSIsGothic(int code) { |

1545 | return(((code >= 0x10330) && (code <= 0x1034F))); |

1546 | } |

1547 | |

1548 | /** |

1549 | * xmlUCSIsGreek: |

1550 | * @code: UCS code point |

1551 | * |

1552 | * Check whether the character is part of Greek UCS Block |

1553 | * |

1554 | * Returns 1 if true 0 otherwise |

1555 | */ |

1556 | int |

1557 | xmlUCSIsGreek(int code) { |

1558 | return(((code >= 0x0370) && (code <= 0x03FF))); |

1559 | } |

1560 | |

1561 | /** |

1562 | * xmlUCSIsGreekExtended: |

1563 | * @code: UCS code point |

1564 | * |

1565 | * Check whether the character is part of GreekExtended UCS Block |

1566 | * |

1567 | * Returns 1 if true 0 otherwise |

1568 | */ |

1569 | int |

1570 | xmlUCSIsGreekExtended(int code) { |

1571 | return(((code >= 0x1F00) && (code <= 0x1FFF))); |

1572 | } |

1573 | |

1574 | /** |

1575 | * xmlUCSIsGreekandCoptic: |

1576 | * @code: UCS code point |

1577 | * |

1578 | * Check whether the character is part of GreekandCoptic UCS Block |

1579 | * |

1580 | * Returns 1 if true 0 otherwise |

1581 | */ |

1582 | int |

1583 | xmlUCSIsGreekandCoptic(int code) { |

1584 | return(((code >= 0x0370) && (code <= 0x03FF))); |

1585 | } |

1586 | |

1587 | /** |

1588 | * xmlUCSIsGujarati: |

1589 | * @code: UCS code point |

1590 | * |

1591 | * Check whether the character is part of Gujarati UCS Block |

1592 | * |

1593 | * Returns 1 if true 0 otherwise |

1594 | */ |

1595 | int |

1596 | xmlUCSIsGujarati(int code) { |

1597 | return(((code >= 0x0A80) && (code <= 0x0AFF))); |

1598 | } |

1599 | |

1600 | /** |

1601 | * xmlUCSIsGurmukhi: |

1602 | * @code: UCS code point |

1603 | * |

1604 | * Check whether the character is part of Gurmukhi UCS Block |

1605 | * |

1606 | * Returns 1 if true 0 otherwise |

1607 | */ |

1608 | int |

1609 | xmlUCSIsGurmukhi(int code) { |

1610 | return(((code >= 0x0A00) && (code <= 0x0A7F))); |

1611 | } |

1612 | |

1613 | /** |

1614 | * xmlUCSIsHalfwidthandFullwidthForms: |

1615 | * @code: UCS code point |

1616 | * |

1617 | * Check whether the character is part of HalfwidthandFullwidthForms UCS Block |

1618 | * |

1619 | * Returns 1 if true 0 otherwise |

1620 | */ |

1621 | int |

1622 | xmlUCSIsHalfwidthandFullwidthForms(int code) { |

1623 | return(((code >= 0xFF00) && (code <= 0xFFEF))); |

1624 | } |

1625 | |

1626 | /** |

1627 | * xmlUCSIsHangulCompatibilityJamo: |

1628 | * @code: UCS code point |

1629 | * |

1630 | * Check whether the character is part of HangulCompatibilityJamo UCS Block |

1631 | * |

1632 | * Returns 1 if true 0 otherwise |

1633 | */ |

1634 | int |

1635 | xmlUCSIsHangulCompatibilityJamo(int code) { |

1636 | return(((code >= 0x3130) && (code <= 0x318F))); |

1637 | } |

1638 | |

1639 | /** |

1640 | * xmlUCSIsHangulJamo: |

1641 | * @code: UCS code point |

1642 | * |

1643 | * Check whether the character is part of HangulJamo UCS Block |

1644 | * |

1645 | * Returns 1 if true 0 otherwise |

1646 | */ |

1647 | int |

1648 | xmlUCSIsHangulJamo(int code) { |

1649 | return(((code >= 0x1100) && (code <= 0x11FF))); |

1650 | } |

1651 | |

1652 | /** |

1653 | * xmlUCSIsHangulSyllables: |

1654 | * @code: UCS code point |

1655 | * |

1656 | * Check whether the character is part of HangulSyllables UCS Block |

1657 | * |

1658 | * Returns 1 if true 0 otherwise |

1659 | */ |

1660 | int |

1661 | xmlUCSIsHangulSyllables(int code) { |

1662 | return(((code >= 0xAC00) && (code <= 0xD7AF))); |

1663 | } |

1664 | |

1665 | /** |

1666 | * xmlUCSIsHanunoo: |

1667 | * @code: UCS code point |

1668 | * |

1669 | * Check whether the character is part of Hanunoo UCS Block |

1670 | * |

1671 | * Returns 1 if true 0 otherwise |

1672 | */ |

1673 | int |

1674 | xmlUCSIsHanunoo(int code) { |

1675 | return(((code >= 0x1720) && (code <= 0x173F))); |

1676 | } |

1677 | |

1678 | /** |

1679 | * xmlUCSIsHebrew: |

1680 | * @code: UCS code point |

1681 | * |

1682 | * Check whether the character is part of Hebrew UCS Block |

1683 | * |

1684 | * Returns 1 if true 0 otherwise |

1685 | */ |

1686 | int |

1687 | xmlUCSIsHebrew(int code) { |

1688 | return(((code >= 0x0590) && (code <= 0x05FF))); |

1689 | } |

1690 | |

1691 | /** |

1692 | * xmlUCSIsHighPrivateUseSurrogates: |

1693 | * @code: UCS code point |

1694 | * |

1695 | * Check whether the character is part of HighPrivateUseSurrogates UCS Block |

1696 | * |

1697 | * Returns 1 if true 0 otherwise |

1698 | */ |

1699 | int |

1700 | xmlUCSIsHighPrivateUseSurrogates(int code) { |

1701 | return(((code >= 0xDB80) && (code <= 0xDBFF))); |

1702 | } |

1703 | |

1704 | /** |

1705 | * xmlUCSIsHighSurrogates: |

1706 | * @code: UCS code point |

1707 | * |

1708 | * Check whether the character is part of HighSurrogates UCS Block |

1709 | * |

1710 | * Returns 1 if true 0 otherwise |

1711 | */ |

1712 | int |

1713 | xmlUCSIsHighSurrogates(int code) { |

1714 | return(((code >= 0xD800) && (code <= 0xDB7F))); |

1715 | } |

1716 | |

1717 | /** |

1718 | * xmlUCSIsHiragana: |

1719 | * @code: UCS code point |

1720 | * |

1721 | * Check whether the character is part of Hiragana UCS Block |

1722 | * |

1723 | * Returns 1 if true 0 otherwise |

1724 | */ |

1725 | int |

1726 | xmlUCSIsHiragana(int code) { |

1727 | return(((code >= 0x3040) && (code <= 0x309F))); |

1728 | } |

1729 | |

1730 | /** |

1731 | * xmlUCSIsIPAExtensions: |

1732 | * @code: UCS code point |

1733 | * |

1734 | * Check whether the character is part of IPAExtensions UCS Block |

1735 | * |

1736 | * Returns 1 if true 0 otherwise |

1737 | */ |

1738 | int |

1739 | xmlUCSIsIPAExtensions(int code) { |

1740 | return(((code >= 0x0250) && (code <= 0x02AF))); |

1741 | } |

1742 | |

1743 | /** |

1744 | * xmlUCSIsIdeographicDescriptionCharacters: |

1745 | * @code: UCS code point |

1746 | * |

1747 | * Check whether the character is part of IdeographicDescriptionCharacters UCS Block |

1748 | * |

1749 | * Returns 1 if true 0 otherwise |

1750 | */ |

1751 | int |

1752 | xmlUCSIsIdeographicDescriptionCharacters(int code) { |

1753 | return(((code >= 0x2FF0) && (code <= 0x2FFF))); |

1754 | } |

1755 | |

1756 | /** |

1757 | * xmlUCSIsKanbun: |

1758 | * @code: UCS code point |

1759 | * |

1760 | * Check whether the character is part of Kanbun UCS Block |

1761 | * |

1762 | * Returns 1 if true 0 otherwise |

1763 | */ |

1764 | int |

1765 | xmlUCSIsKanbun(int code) { |

1766 | return(((code >= 0x3190) && (code <= 0x319F))); |

1767 | } |

1768 | |

1769 | /** |

1770 | * xmlUCSIsKangxiRadicals: |

1771 | * @code: UCS code point |

1772 | * |

1773 | * Check whether the character is part of KangxiRadicals UCS Block |

1774 | * |

1775 | * Returns 1 if true 0 otherwise |

1776 | */ |

1777 | int |

1778 | xmlUCSIsKangxiRadicals(int code) { |

1779 | return(((code >= 0x2F00) && (code <= 0x2FDF))); |

1780 | } |

1781 | |

1782 | /** |

1783 | * xmlUCSIsKannada: |

1784 | * @code: UCS code point |

1785 | * |

1786 | * Check whether the character is part of Kannada UCS Block |

1787 | * |

1788 | * Returns 1 if true 0 otherwise |

1789 | */ |

1790 | int |

1791 | xmlUCSIsKannada(int code) { |

1792 | return(((code >= 0x0C80) && (code <= 0x0CFF))); |

1793 | } |

1794 | |

1795 | /** |

1796 | * xmlUCSIsKatakana: |

1797 | * @code: UCS code point |

1798 | * |

1799 | * Check whether the character is part of Katakana UCS Block |

1800 | * |

1801 | * Returns 1 if true 0 otherwise |

1802 | */ |

1803 | int |

1804 | xmlUCSIsKatakana(int code) { |

1805 | return(((code >= 0x30A0) && (code <= 0x30FF))); |

1806 | } |

1807 | |

1808 | /** |

1809 | * xmlUCSIsKatakanaPhoneticExtensions: |

1810 | * @code: UCS code point |

1811 | * |

1812 | * Check whether the character is part of KatakanaPhoneticExtensions UCS Block |

1813 | * |

1814 | * Returns 1 if true 0 otherwise |

1815 | */ |

1816 | int |

1817 | xmlUCSIsKatakanaPhoneticExtensions(int code) { |

1818 | return(((code >= 0x31F0) && (code <= 0x31FF))); |

1819 | } |

1820 | |

1821 | /** |

1822 | * xmlUCSIsKhmer: |

1823 | * @code: UCS code point |

1824 | * |

1825 | * Check whether the character is part of Khmer UCS Block |

1826 | * |

1827 | * Returns 1 if true 0 otherwise |

1828 | */ |

1829 | int |

1830 | xmlUCSIsKhmer(int code) { |

1831 | return(((code >= 0x1780) && (code <= 0x17FF))); |

1832 | } |

1833 | |

1834 | /** |

1835 | * xmlUCSIsKhmerSymbols: |

1836 | * @code: UCS code point |

1837 | * |

1838 | * Check whether the character is part of KhmerSymbols UCS Block |

1839 | * |

1840 | * Returns 1 if true 0 otherwise |

1841 | */ |

1842 | int |

1843 | xmlUCSIsKhmerSymbols(int code) { |

1844 | return(((code >= 0x19E0) && (code <= 0x19FF))); |

1845 | } |

1846 | |

1847 | /** |

1848 | * xmlUCSIsLao: |

1849 | * @code: UCS code point |

1850 | * |

1851 | * Check whether the character is part of Lao UCS Block |

1852 | * |

1853 | * Returns 1 if true 0 otherwise |

1854 | */ |

1855 | int |

1856 | xmlUCSIsLao(int code) { |

1857 | return(((code >= 0x0E80) && (code <= 0x0EFF))); |

1858 | } |

1859 | |

1860 | /** |

1861 | * xmlUCSIsLatin1Supplement: |

1862 | * @code: UCS code point |

1863 | * |

1864 | * Check whether the character is part of Latin-1Supplement UCS Block |

1865 | * |

1866 | * Returns 1 if true 0 otherwise |

1867 | */ |

1868 | int |

1869 | xmlUCSIsLatin1Supplement(int code) { |

1870 | return(((code >= 0x0080) && (code <= 0x00FF))); |

1871 | } |

1872 | |

1873 | /** |

1874 | * xmlUCSIsLatinExtendedA: |

1875 | * @code: UCS code point |

1876 | * |

1877 | * Check whether the character is part of LatinExtended-A UCS Block |

1878 | * |

1879 | * Returns 1 if true 0 otherwise |

1880 | */ |

1881 | int |

1882 | xmlUCSIsLatinExtendedA(int code) { |

1883 | return(((code >= 0x0100) && (code <= 0x017F))); |

1884 | } |

1885 | |

1886 | /** |

1887 | * xmlUCSIsLatinExtendedB: |

1888 | * @code: UCS code point |

1889 | * |

1890 | * Check whether the character is part of LatinExtended-B UCS Block |

1891 | * |

1892 | * Returns 1 if true 0 otherwise |

1893 | */ |

1894 | int |

1895 | xmlUCSIsLatinExtendedB(int code) { |

1896 | return(((code >= 0x0180) && (code <= 0x024F))); |

1897 | } |

1898 | |

1899 | /** |

1900 | * xmlUCSIsLatinExtendedAdditional: |

1901 | * @code: UCS code point |

1902 | * |

1903 | * Check whether the character is part of LatinExtendedAdditional UCS Block |

1904 | * |

1905 | * Returns 1 if true 0 otherwise |

1906 | */ |

1907 | int |

1908 | xmlUCSIsLatinExtendedAdditional(int code) { |

1909 | return(((code >= 0x1E00) && (code <= 0x1EFF))); |

1910 | } |

1911 | |

1912 | /** |

1913 | * xmlUCSIsLetterlikeSymbols: |

1914 | * @code: UCS code point |

1915 | * |

1916 | * Check whether the character is part of LetterlikeSymbols UCS Block |

1917 | * |

1918 | * Returns 1 if true 0 otherwise |

1919 | */ |

1920 | int |

1921 | xmlUCSIsLetterlikeSymbols(int code) { |

1922 | return(((code >= 0x2100) && (code <= 0x214F))); |

1923 | } |

1924 | |

1925 | /** |

1926 | * xmlUCSIsLimbu: |

1927 | * @code: UCS code point |

1928 | * |

1929 | * Check whether the character is part of Limbu UCS Block |

1930 | * |

1931 | * Returns 1 if true 0 otherwise |

1932 | */ |

1933 | int |

1934 | xmlUCSIsLimbu(int code) { |

1935 | return(((code >= 0x1900) && (code <= 0x194F))); |

1936 | } |

1937 | |

1938 | /** |

1939 | * xmlUCSIsLinearBIdeograms: |

1940 | * @code: UCS code point |

1941 | * |

1942 | * Check whether the character is part of LinearBIdeograms UCS Block |

1943 | * |

1944 | * Returns 1 if true 0 otherwise |

1945 | */ |

1946 | int |

1947 | xmlUCSIsLinearBIdeograms(int code) { |

1948 | return(((code >= 0x10080) && (code <= 0x100FF))); |

1949 | } |

1950 | |

1951 | /** |

1952 | * xmlUCSIsLinearBSyllabary: |

1953 | * @code: UCS code point |

1954 | * |

1955 | * Check whether the character is part of LinearBSyllabary UCS Block |

1956 | * |

1957 | * Returns 1 if true 0 otherwise |

1958 | */ |

1959 | int |

1960 | xmlUCSIsLinearBSyllabary(int code) { |

1961 | return(((code >= 0x10000) && (code <= 0x1007F))); |

1962 | } |

1963 | |

1964 | /** |

1965 | * xmlUCSIsLowSurrogates: |

1966 | * @code: UCS code point |

1967 | * |

1968 | * Check whether the character is part of LowSurrogates UCS Block |

1969 | * |

1970 | * Returns 1 if true 0 otherwise |

1971 | */ |

1972 | int |

1973 | xmlUCSIsLowSurrogates(int code) { |

1974 | return(((code >= 0xDC00) && (code <= 0xDFFF))); |

1975 | } |

1976 | |

1977 | /** |

1978 | * xmlUCSIsMalayalam: |

1979 | * @code: UCS code point |

1980 | * |

1981 | * Check whether the character is part of Malayalam UCS Block |

1982 | * |

1983 | * Returns 1 if true 0 otherwise |

1984 | */ |

1985 | int |

1986 | xmlUCSIsMalayalam(int code) { |

1987 | return(((code >= 0x0D00) && (code <= 0x0D7F))); |

1988 | } |

1989 | |

1990 | /** |

1991 | * xmlUCSIsMathematicalAlphanumericSymbols: |

1992 | * @code: UCS code point |

1993 | * |

1994 | * Check whether the character is part of MathematicalAlphanumericSymbols UCS Block |

1995 | * |

1996 | * Returns 1 if true 0 otherwise |

1997 | */ |

1998 | int |

1999 | xmlUCSIsMathematicalAlphanumericSymbols(int code) { |

2000 | return(((code >= 0x1D400) && (code <= 0x1D7FF))); |

2001 | } |

2002 | |

2003 | /** |

2004 | * xmlUCSIsMathematicalOperators: |

2005 | * @code: UCS code point |

2006 | * |

2007 | * Check whether the character is part of MathematicalOperators UCS Block |

2008 | * |

2009 | * Returns 1 if true 0 otherwise |

2010 | */ |

2011 | int |

2012 | xmlUCSIsMathematicalOperators(int code) { |

2013 | return(((code >= 0x2200) && (code <= 0x22FF))); |

2014 | } |

2015 | |

2016 | /** |

2017 | * xmlUCSIsMiscellaneousMathematicalSymbolsA: |

2018 | * @code: UCS code point |

2019 | * |

2020 | * Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block |

2021 | * |

2022 | * Returns 1 if true 0 otherwise |

2023 | */ |

2024 | int |

2025 | xmlUCSIsMiscellaneousMathematicalSymbolsA(int code) { |

2026 | return(((code >= 0x27C0) && (code <= 0x27EF))); |

2027 | } |

2028 | |

2029 | /** |

2030 | * xmlUCSIsMiscellaneousMathematicalSymbolsB: |

2031 | * @code: UCS code point |

2032 | * |

2033 | * Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block |

2034 | * |

2035 | * Returns 1 if true 0 otherwise |

2036 | */ |

2037 | int |

2038 | xmlUCSIsMiscellaneousMathematicalSymbolsB(int code) { |

2039 | return(((code >= 0x2980) && (code <= 0x29FF))); |

2040 | } |

2041 | |

2042 | /** |

2043 | * xmlUCSIsMiscellaneousSymbols: |

2044 | * @code: UCS code point |

2045 | * |

2046 | * Check whether the character is part of MiscellaneousSymbols UCS Block |

2047 | * |

2048 | * Returns 1 if true 0 otherwise |

2049 | */ |

2050 | int |

2051 | xmlUCSIsMiscellaneousSymbols(int code) { |

2052 | return(((code >= 0x2600) && (code <= 0x26FF))); |

2053 | } |

2054 | |

2055 | /** |

2056 | * xmlUCSIsMiscellaneousSymbolsandArrows: |

2057 | * @code: UCS code point |

2058 | * |

2059 | * Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block |

2060 | * |

2061 | * Returns 1 if true 0 otherwise |

2062 | */ |

2063 | int |

2064 | xmlUCSIsMiscellaneousSymbolsandArrows(int code) { |

2065 | return(((code >= 0x2B00) && (code <= 0x2BFF))); |

2066 | } |

2067 | |

2068 | /** |

2069 | * xmlUCSIsMiscellaneousTechnical: |

2070 | * @code: UCS code point |

2071 | * |

2072 | * Check whether the character is part of MiscellaneousTechnical UCS Block |

2073 | * |

2074 | * Returns 1 if true 0 otherwise |

2075 | */ |

2076 | int |

2077 | xmlUCSIsMiscellaneousTechnical(int code) { |

2078 | return(((code >= 0x2300) && (code <= 0x23FF))); |

2079 | } |

2080 | |

2081 | /** |

2082 | * xmlUCSIsMongolian: |

2083 | * @code: UCS code point |

2084 | * |

2085 | * Check whether the character is part of Mongolian UCS Block |

2086 | * |

2087 | * Returns 1 if true 0 otherwise |

2088 | */ |

2089 | int |

2090 | xmlUCSIsMongolian(int code) { |

2091 | return(((code >= 0x1800) && (code <= 0x18AF))); |

2092 | } |

2093 | |

2094 | /** |

2095 | * xmlUCSIsMusicalSymbols: |

2096 | * @code: UCS code point |

2097 | * |

2098 | * Check whether the character is part of MusicalSymbols UCS Block |

2099 | * |

2100 | * Returns 1 if true 0 otherwise |

2101 | */ |

2102 | int |

2103 | xmlUCSIsMusicalSymbols(int code) { |

2104 | return(((code >= 0x1D100) && (code <= 0x1D1FF))); |

2105 | } |

2106 | |

2107 | /** |

2108 | * xmlUCSIsMyanmar: |

2109 | * @code: UCS code point |

2110 | * |

2111 | * Check whether the character is part of Myanmar UCS Block |

2112 | * |

2113 | * Returns 1 if true 0 otherwise |

2114 | */ |

2115 | int |

2116 | xmlUCSIsMyanmar(int code) { |

2117 | return(((code >= 0x1000) && (code <= 0x109F))); |

2118 | } |

2119 | |

2120 | /** |

2121 | * xmlUCSIsNumberForms: |

2122 | * @code: UCS code point |

2123 | * |

2124 | * Check whether the character is part of NumberForms UCS Block |

2125 | * |

2126 | * Returns 1 if true 0 otherwise |

2127 | */ |

2128 | int |

2129 | xmlUCSIsNumberForms(int code) { |

2130 | return(((code >= 0x2150) && (code <= 0x218F))); |

2131 | } |

2132 | |

2133 | /** |

2134 | * xmlUCSIsOgham: |

2135 | * @code: UCS code point |

2136 | * |

2137 | * Check whether the character is part of Ogham UCS Block |

2138 | * |

2139 | * Returns 1 if true 0 otherwise |

2140 | */ |

2141 | int |

2142 | xmlUCSIsOgham(int code) { |

2143 | return(((code >= 0x1680) && (code <= 0x169F))); |

2144 | } |

2145 | |

2146 | /** |

2147 | * xmlUCSIsOldItalic: |

2148 | * @code: UCS code point |

2149 | * |

2150 | * Check whether the character is part of OldItalic UCS Block |

2151 | * |

2152 | * Returns 1 if true 0 otherwise |

2153 | */ |

2154 | int |

2155 | xmlUCSIsOldItalic(int code) { |

2156 | return(((code >= 0x10300) && (code <= 0x1032F))); |

2157 | } |

2158 | |

2159 | /** |

2160 | * xmlUCSIsOpticalCharacterRecognition: |

2161 | * @code: UCS code point |

2162 | * |

2163 | * Check whether the character is part of OpticalCharacterRecognition UCS Block |

2164 | * |

2165 | * Returns 1 if true 0 otherwise |

2166 | */ |

2167 | int |

2168 | xmlUCSIsOpticalCharacterRecognition(int code) { |

2169 | return(((code >= 0x2440) && (code <= 0x245F))); |

2170 | } |

2171 | |

2172 | /** |

2173 | * xmlUCSIsOriya: |

2174 | * @code: UCS code point |

2175 | * |

2176 | * Check whether the character is part of Oriya UCS Block |

2177 | * |

2178 | * Returns 1 if true 0 otherwise |

2179 | */ |

2180 | int |

2181 | xmlUCSIsOriya(int code) { |

2182 | return(((code >= 0x0B00) && (code <= 0x0B7F))); |

2183 | } |

2184 | |

2185 | /** |

2186 | * xmlUCSIsOsmanya: |

2187 | * @code: UCS code point |

2188 | * |

2189 | * Check whether the character is part of Osmanya UCS Block |

2190 | * |

2191 | * Returns 1 if true 0 otherwise |

2192 | */ |

2193 | int |

2194 | xmlUCSIsOsmanya(int code) { |

2195 | return(((code >= 0x10480) && (code <= 0x104AF))); |

2196 | } |

2197 | |

2198 | /** |

2199 | * xmlUCSIsPhoneticExtensions: |

2200 | * @code: UCS code point |

2201 | * |

2202 | * Check whether the character is part of PhoneticExtensions UCS Block |

2203 | * |

2204 | * Returns 1 if true 0 otherwise |

2205 | */ |

2206 | int |

2207 | xmlUCSIsPhoneticExtensions(int code) { |

2208 | return(((code >= 0x1D00) && (code <= 0x1D7F))); |

2209 | } |

2210 | |

2211 | /** |

2212 | * xmlUCSIsPrivateUse: |

2213 | * @code: UCS code point |

2214 | * |

2215 | * Check whether the character is part of PrivateUse UCS Block |

2216 | * |

2217 | * Returns 1 if true 0 otherwise |

2218 | */ |

2219 | int |

2220 | xmlUCSIsPrivateUse(int code) { |

2221 | return(((code >= 0xE000) && (code <= 0xF8FF)) || |

2222 | ((code >= 0xF0000) && (code <= 0xFFFFF)) || |

2223 | ((code >= 0x100000) && (code <= 0x10FFFF))); |

2224 | } |

2225 | |

2226 | /** |

2227 | * xmlUCSIsPrivateUseArea: |

2228 | * @code: UCS code point |

2229 | * |

2230 | * Check whether the character is part of PrivateUseArea UCS Block |

2231 | * |

2232 | * Returns 1 if true 0 otherwise |

2233 | */ |

2234 | int |

2235 | xmlUCSIsPrivateUseArea(int code) { |

2236 | return(((code >= 0xE000) && (code <= 0xF8FF))); |

2237 | } |

2238 | |

2239 | /** |

2240 | * xmlUCSIsRunic: |

2241 | * @code: UCS code point |

2242 | * |

2243 | * Check whether the character is part of Runic UCS Block |

2244 | * |

2245 | * Returns 1 if true 0 otherwise |

2246 | */ |

2247 | int |

2248 | xmlUCSIsRunic(int code) { |

2249 | return(((code >= 0x16A0) && (code <= 0x16FF))); |

2250 | } |

2251 | |

2252 | /** |

2253 | * xmlUCSIsShavian: |

2254 | * @code: UCS code point |

2255 | * |

2256 | * Check whether the character is part of Shavian UCS Block |

2257 | * |

2258 | * Returns 1 if true 0 otherwise |

2259 | */ |

2260 | int |

2261 | xmlUCSIsShavian(int code) { |

2262 | return(((code >= 0x10450) && (code <= 0x1047F))); |

2263 | } |

2264 | |

2265 | /** |

2266 | * xmlUCSIsSinhala: |

2267 | * @code: UCS code point |

2268 | * |

2269 | * Check whether the character is part of Sinhala UCS Block |

2270 | * |

2271 | * Returns 1 if true 0 otherwise |

2272 | */ |

2273 | int |

2274 | xmlUCSIsSinhala(int code) { |

2275 | return(((code >= 0x0D80) && (code <= 0x0DFF))); |

2276 | } |

2277 | |

2278 | /** |

2279 | * xmlUCSIsSmallFormVariants: |

2280 | * @code: UCS code point |

2281 | * |

2282 | * Check whether the character is part of SmallFormVariants UCS Block |

2283 | * |

2284 | * Returns 1 if true 0 otherwise |

2285 | */ |

2286 | int |

2287 | xmlUCSIsSmallFormVariants(int code) { |

2288 | return(((code >= 0xFE50) && (code <= 0xFE6F))); |

2289 | } |

2290 | |

2291 | /** |

2292 | * xmlUCSIsSpacingModifierLetters: |

2293 | * @code: UCS code point |

2294 | * |

2295 | * Check whether the character is part of SpacingModifierLetters UCS Block |

2296 | * |

2297 | * Returns 1 if true 0 otherwise |

2298 | */ |

2299 | int |

2300 | xmlUCSIsSpacingModifierLetters(int code) { |

2301 | return(((code >= 0x02B0) && (code <= 0x02FF))); |

2302 | } |

2303 | |

2304 | /** |

2305 | * xmlUCSIsSpecials: |

2306 | * @code: UCS code point |

2307 | * |

2308 | * Check whether the character is part of Specials UCS Block |

2309 | * |

2310 | * Returns 1 if true 0 otherwise |

2311 | */ |

2312 | int |

2313 | xmlUCSIsSpecials(int code) { |

2314 | return(((code >= 0xFFF0) && (code <= 0xFFFF))); |

2315 | } |

2316 | |

2317 | /** |

2318 | * xmlUCSIsSuperscriptsandSubscripts: |

2319 | * @code: UCS code point |

2320 | * |

2321 | * Check whether the character is part of SuperscriptsandSubscripts UCS Block |

2322 | * |

2323 | * Returns 1 if true 0 otherwise |

2324 | */ |

2325 | int |

2326 | xmlUCSIsSuperscriptsandSubscripts(int code) { |

2327 | return(((code >= 0x2070) && (code <= 0x209F))); |

2328 | } |

2329 | |

2330 | /** |

2331 | * xmlUCSIsSupplementalArrowsA: |

2332 | * @code: UCS code point |

2333 | * |

2334 | * Check whether the character is part of SupplementalArrows-A UCS Block |

2335 | * |

2336 | * Returns 1 if true 0 otherwise |

2337 | */ |

2338 | int |

2339 | xmlUCSIsSupplementalArrowsA(int code) { |

2340 | return(((code >= 0x27F0) && (code <= 0x27FF))); |

2341 | } |

2342 | |

2343 | /** |

2344 | * xmlUCSIsSupplementalArrowsB: |

2345 | * @code: UCS code point |

2346 | * |

2347 | * Check whether the character is part of SupplementalArrows-B UCS Block |

2348 | * |

2349 | * Returns 1 if true 0 otherwise |

2350 | */ |

2351 | int |

2352 | xmlUCSIsSupplementalArrowsB(int code) { |

2353 | return(((code >= 0x2900) && (code <= 0x297F))); |

2354 | } |

2355 | |

2356 | /** |

2357 | * xmlUCSIsSupplementalMathematicalOperators: |

2358 | * @code: UCS code point |

2359 | * |

2360 | * Check whether the character is part of SupplementalMathematicalOperators UCS Block |

2361 | * |

2362 | * Returns 1 if true 0 otherwise |

2363 | */ |

2364 | int |

2365 | xmlUCSIsSupplementalMathematicalOperators(int code) { |

2366 | return(((code >= 0x2A00) && (code <= 0x2AFF))); |

2367 | } |

2368 | |

2369 | /** |

2370 | * xmlUCSIsSupplementaryPrivateUseAreaA: |

2371 | * @code: UCS code point |

2372 | * |

2373 | * Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block |

2374 | * |

2375 | * Returns 1 if true 0 otherwise |

2376 | */ |

2377 | int |

2378 | xmlUCSIsSupplementaryPrivateUseAreaA(int code) { |

2379 | return(((code >= 0xF0000) && (code <= 0xFFFFF))); |

2380 | } |

2381 | |

2382 | /** |

2383 | * xmlUCSIsSupplementaryPrivateUseAreaB: |

2384 | * @code: UCS code point |

2385 | * |

2386 | * Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block |

2387 | * |

2388 | * Returns 1 if true 0 otherwise |

2389 | */ |

2390 | int |

2391 | xmlUCSIsSupplementaryPrivateUseAreaB(int code) { |

2392 | return(((code >= 0x100000) && (code <= 0x10FFFF))); |

2393 | } |

2394 | |

2395 | /** |

2396 | * xmlUCSIsSyriac: |

2397 | * @code: UCS code point |

2398 | * |

2399 | * Check whether the character is part of Syriac UCS Block |

2400 | * |

2401 | * Returns 1 if true 0 otherwise |

2402 | */ |

2403 | int |

2404 | xmlUCSIsSyriac(int code) { |

2405 | return(((code >= 0x0700) && (code <= 0x074F))); |

2406 | } |

2407 | |

2408 | /** |

2409 | * xmlUCSIsTagalog: |

2410 | * @code: UCS code point |

2411 | * |

2412 | * Check whether the character is part of Tagalog UCS Block |

2413 | * |

2414 | * Returns 1 if true 0 otherwise |

2415 | */ |

2416 | int |

2417 | xmlUCSIsTagalog(int code) { |

2418 | return(((code >= 0x1700) && (code <= 0x171F))); |

2419 | } |

2420 | |

2421 | /** |

2422 | * xmlUCSIsTagbanwa: |

2423 | * @code: UCS code point |

2424 | * |

2425 | * Check whether the character is part of Tagbanwa UCS Block |

2426 | * |

2427 | * Returns 1 if true 0 otherwise |

2428 | */ |

2429 | int |

2430 | xmlUCSIsTagbanwa(int code) { |

2431 | return(((code >= 0x1760) && (code <= 0x177F))); |

2432 | } |

2433 | |

2434 | /** |

2435 | * xmlUCSIsTags: |

2436 | * @code: UCS code point |

2437 | * |

2438 | * Check whether the character is part of Tags UCS Block |

2439 | * |

2440 | * Returns 1 if true 0 otherwise |

2441 | */ |

2442 | int |

2443 | xmlUCSIsTags(int code) { |

2444 | return(((code >= 0xE0000) && (code <= 0xE007F))); |

2445 | } |

2446 | |

2447 | /** |

2448 | * xmlUCSIsTaiLe: |

2449 | * @code: UCS code point |

2450 | * |

2451 | * Check whether the character is part of TaiLe UCS Block |

2452 | * |

2453 | * Returns 1 if true 0 otherwise |

2454 | */ |

2455 | int |

2456 | xmlUCSIsTaiLe(int code) { |

2457 | return(((code >= 0x1950) && (code <= 0x197F))); |

2458 | } |

2459 | |

2460 | /** |

2461 | * xmlUCSIsTaiXuanJingSymbols: |

2462 | * @code: UCS code point |

2463 | * |

2464 | * Check whether the character is part of TaiXuanJingSymbols UCS Block |

2465 | * |

2466 | * Returns 1 if true 0 otherwise |

2467 | */ |

2468 | int |

2469 | xmlUCSIsTaiXuanJingSymbols(int code) { |

2470 | return(((code >= 0x1D300) && (code <= 0x1D35F))); |

2471 | } |

2472 | |

2473 | /** |

2474 | * xmlUCSIsTamil: |

2475 | * @code: UCS code point |

2476 | * |

2477 | * Check whether the character is part of Tamil UCS Block |

2478 | * |

2479 | * Returns 1 if true 0 otherwise |

2480 | */ |

2481 | int |

2482 | xmlUCSIsTamil(int code) { |

2483 | return(((code >= 0x0B80) && (code <= 0x0BFF))); |

2484 | } |

2485 | |

2486 | /** |

2487 | * xmlUCSIsTelugu: |

2488 | * @code: UCS code point |

2489 | * |

2490 | * Check whether the character is part of Telugu UCS Block |

2491 | * |

2492 | * Returns 1 if true 0 otherwise |

2493 | */ |

2494 | int |

2495 | xmlUCSIsTelugu(int code) { |

2496 | return(((code >= 0x0C00) && (code <= 0x0C7F))); |

2497 | } |

2498 | |

2499 | /** |

2500 | * xmlUCSIsThaana: |

2501 | * @code: UCS code point |

2502 | * |

2503 | * Check whether the character is part of Thaana UCS Block |

2504 | * |

2505 | * Returns 1 if true 0 otherwise |

2506 | */ |

2507 | int |

2508 | xmlUCSIsThaana(int code) { |

2509 | return(((code >= 0x0780) && (code <= 0x07BF))); |

2510 | } |

2511 | |

2512 | /** |

2513 | * xmlUCSIsThai: |

2514 | * @code: UCS code point |

2515 | * |

2516 | * Check whether the character is part of Thai UCS Block |

2517 | * |

2518 | * Returns 1 if true 0 otherwise |

2519 | */ |

2520 | int |

2521 | xmlUCSIsThai(int code) { |

2522 | return(((code >= 0x0E00) && (code <= 0x0E7F))); |

2523 | } |

2524 | |

2525 | /** |

2526 | * xmlUCSIsTibetan: |

2527 | * @code: UCS code point |

2528 | * |

2529 | * Check whether the character is part of Tibetan UCS Block |

2530 | * |

2531 | * Returns 1 if true 0 otherwise |

2532 | */ |

2533 | int |

2534 | xmlUCSIsTibetan(int code) { |

2535 | return(((code >= 0x0F00) && (code <= 0x0FFF))); |

2536 | } |

2537 | |

2538 | /** |

2539 | * xmlUCSIsUgaritic: |

2540 | * @code: UCS code point |

2541 | * |

2542 | * Check whether the character is part of Ugaritic UCS Block |

2543 | * |

2544 | * Returns 1 if true 0 otherwise |

2545 | */ |

2546 | int |

2547 | xmlUCSIsUgaritic(int code) { |

2548 | return(((code >= 0x10380) && (code <= 0x1039F))); |

2549 | } |

2550 | |

2551 | /** |

2552 | * xmlUCSIsUnifiedCanadianAboriginalSyllabics: |

2553 | * @code: UCS code point |

2554 | * |

2555 | * Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block |

2556 | * |

2557 | * Returns 1 if true 0 otherwise |

2558 | */ |

2559 | int |

2560 | xmlUCSIsUnifiedCanadianAboriginalSyllabics(int code) { |

2561 | return(((code >= 0x1400) && (code <= 0x167F))); |

2562 | } |

2563 | |

2564 | /** |

2565 | * xmlUCSIsVariationSelectors: |

2566 | * @code: UCS code point |

2567 | * |

2568 | * Check whether the character is part of VariationSelectors UCS Block |

2569 | * |

2570 | * Returns 1 if true 0 otherwise |

2571 | */ |

2572 | int |

2573 | xmlUCSIsVariationSelectors(int code) { |

2574 | return(((code >= 0xFE00) && (code <= 0xFE0F))); |

2575 | } |

2576 | |

2577 | /** |

2578 | * xmlUCSIsVariationSelectorsSupplement: |

2579 | * @code: UCS code point |

2580 | * |

2581 | * Check whether the character is part of VariationSelectorsSupplement UCS Block |

2582 | * |

2583 | * Returns 1 if true 0 otherwise |

2584 | */ |

2585 | int |

2586 | xmlUCSIsVariationSelectorsSupplement(int code) { |

2587 | return(((code >= 0xE0100) && (code <= 0xE01EF))); |

2588 | } |

2589 | |

2590 | /** |

2591 | * xmlUCSIsYiRadicals: |

2592 | * @code: UCS code point |

2593 | * |

2594 | * Check whether the character is part of YiRadicals UCS Block |

2595 | * |

2596 | * Returns 1 if true 0 otherwise |

2597 | */ |

2598 | int |

2599 | xmlUCSIsYiRadicals(int code) { |

2600 | return(((code >= 0xA490) && (code <= 0xA4CF))); |

2601 | } |

2602 | |

2603 | /** |

2604 | * xmlUCSIsYiSyllables: |

2605 | * @code: UCS code point |

2606 | * |

2607 | * Check whether the character is part of YiSyllables UCS Block |

2608 | * |

2609 | * Returns 1 if true 0 otherwise |

2610 | */ |

2611 | int |

2612 | xmlUCSIsYiSyllables(int code) { |

2613 | return(((code >= 0xA000) && (code <= 0xA48F))); |

2614 | } |

2615 | |

2616 | /** |

2617 | * xmlUCSIsYijingHexagramSymbols: |

2618 | * @code: UCS code point |

2619 | * |

2620 | * Check whether the character is part of YijingHexagramSymbols UCS Block |

2621 | * |

2622 | * Returns 1 if true 0 otherwise |

2623 | */ |

2624 | int |

2625 | xmlUCSIsYijingHexagramSymbols(int code) { |

2626 | return(((code >= 0x4DC0) && (code <= 0x4DFF))); |

2627 | } |

2628 | |

2629 | /** |

2630 | * xmlUCSIsBlock: |

2631 | * @code: UCS code point |

2632 | * @block: UCS block name |

2633 | * |

2634 | * Check whether the character is part of the UCS Block |

2635 | * |

2636 | * Returns 1 if true, 0 if false and -1 on unknown block |

2637 | */ |

2638 | int |

2639 | xmlUCSIsBlock(int code, const char *block) { |

2640 | xmlIntFunc *func; |

2641 | |

2642 | func = xmlUnicodeLookup(&xmlUnicodeBlockTbl, block); |

2643 | if (func == NULL) |

2644 | return (-1); |

2645 | return (func(code)); |

2646 | } |

2647 | |

2648 | /** |

2649 | * xmlUCSIsCatC: |

2650 | * @code: UCS code point |

2651 | * |

2652 | * Check whether the character is part of C UCS Category |

2653 | * |

2654 | * Returns 1 if true 0 otherwise |

2655 | */ |

2656 | int |

2657 | xmlUCSIsCatC(int code) { |

2658 | return(xmlCharInRange((unsigned int)code, &xmlCG)); |

2659 | } |

2660 | |

2661 | /** |

2662 | * xmlUCSIsCatCc: |

2663 | * @code: UCS code point |

2664 | * |

2665 | * Check whether the character is part of Cc UCS Category |

2666 | * |

2667 | * Returns 1 if true 0 otherwise |

2668 | */ |

2669 | int |

2670 | xmlUCSIsCatCc(int code) { |

2671 | return(((code >= 0x0) && (code <= 0x1f)) || |

2672 | ((code >= 0x7f) && (code <= 0x9f))); |

2673 | } |

2674 | |

2675 | /** |

2676 | * xmlUCSIsCatCf: |

2677 | * @code: UCS code point |

2678 | * |

2679 | * Check whether the character is part of Cf UCS Category |

2680 | * |

2681 | * Returns 1 if true 0 otherwise |

2682 | */ |

2683 | int |

2684 | xmlUCSIsCatCf(int code) { |

2685 | return(xmlCharInRange((unsigned int)code, &xmlCfG)); |

2686 | } |

2687 | |

2688 | /** |

2689 | * xmlUCSIsCatCo: |

2690 | * @code: UCS code point |

2691 | * |

2692 | * Check whether the character is part of Co UCS Category |

2693 | * |

2694 | * Returns 1 if true 0 otherwise |

2695 | */ |

2696 | int |

2697 | xmlUCSIsCatCo(int code) { |

2698 | return((code == 0xe000) || |

2699 | (code == 0xf8ff) || |

2700 | (code == 0xf0000) || |

2701 | (code == 0xffffd) || |

2702 | (code == 0x100000) || |

2703 | (code == 0x10fffd)); |

2704 | } |

2705 | |

2706 | /** |

2707 | * xmlUCSIsCatCs: |

2708 | * @code: UCS code point |

2709 | * |

2710 | * Check whether the character is part of Cs UCS Category |

2711 | * |

2712 | * Returns 1 if true 0 otherwise |

2713 | */ |

2714 | int |

2715 | xmlUCSIsCatCs(int code) { |

2716 | return((code == 0xd800) || |

2717 | ((code >= 0xdb7f) && (code <= 0xdb80)) || |

2718 | ((code >= 0xdbff) && (code <= 0xdc00)) || |

2719 | (code == 0xdfff)); |

2720 | } |

2721 | |

2722 | /** |

2723 | * xmlUCSIsCatL: |

2724 | * @code: UCS code point |

2725 | * |

2726 | * Check whether the character is part of L UCS Category |

2727 | * |

2728 | * Returns 1 if true 0 otherwise |

2729 | */ |

2730 | int |

2731 | xmlUCSIsCatL(int code) { |

2732 | return(xmlCharInRange((unsigned int)code, &xmlLG)); |

2733 | } |

2734 | |

2735 | /** |

2736 | * xmlUCSIsCatLl: |

2737 | * @code: UCS code point |

2738 | * |

2739 | * Check whether the character is part of Ll UCS Category |

2740 | * |

2741 | * Returns 1 if true 0 otherwise |

2742 | */ |

2743 | int |

2744 | xmlUCSIsCatLl(int code) { |

2745 | return(xmlCharInRange((unsigned int)code, &xmlLlG)); |

2746 | } |

2747 | |

2748 | /** |

2749 | * xmlUCSIsCatLm: |

2750 | * @code: UCS code point |

2751 | * |

2752 | * Check whether the character is part of Lm UCS Category |

2753 | * |

2754 | * Returns 1 if true 0 otherwise |

2755 | */ |

2756 | int |

2757 | xmlUCSIsCatLm(int code) { |

2758 | return(xmlCharInRange((unsigned int)code, &xmlLmG)); |

2759 | } |

2760 | |

2761 | /** |

2762 | * xmlUCSIsCatLo: |

2763 | * @code: UCS code point |

2764 | * |

2765 | * Check whether the character is part of Lo UCS Category |

2766 | * |

2767 | * Returns 1 if true 0 otherwise |

2768 | */ |

2769 | int |

2770 | xmlUCSIsCatLo(int code) { |

2771 | return(xmlCharInRange((unsigned int)code, &xmlLoG)); |

2772 | } |

2773 | |

2774 | /** |

2775 | * xmlUCSIsCatLt: |

2776 | * @code: UCS code point |

2777 | * |

2778 | * Check whether the character is part of Lt UCS Category |

2779 | * |

2780 | * Returns 1 if true 0 otherwise |

2781 | */ |

2782 | int |

2783 | xmlUCSIsCatLt(int code) { |

2784 | return(xmlCharInRange((unsigned int)code, &xmlLtG)); |

2785 | } |

2786 | |

2787 | /** |

2788 | * xmlUCSIsCatLu: |

2789 | * @code: UCS code point |

2790 | * |

2791 | * Check whether the character is part of Lu UCS Category |

2792 | * |

2793 | * Returns 1 if true 0 otherwise |

2794 | */ |

2795 | int |

2796 | xmlUCSIsCatLu(int code) { |

2797 | return(xmlCharInRange((unsigned int)code, &xmlLuG)); |

2798 | } |

2799 | |

2800 | /** |

2801 | * xmlUCSIsCatM: |

2802 | * @code: UCS code point |

2803 | * |

2804 | * Check whether the character is part of M UCS Category |

2805 | * |

2806 | * Returns 1 if true 0 otherwise |

2807 | */ |

2808 | int |

2809 | xmlUCSIsCatM(int code) { |

2810 | return(xmlCharInRange((unsigned int)code, &xmlMG)); |

2811 | } |

2812 | |

2813 | /** |

2814 | * xmlUCSIsCatMc: |

2815 | * @code: UCS code point |

2816 | * |

2817 | * Check whether the character is part of Mc UCS Category |

2818 | * |

2819 | * Returns 1 if true 0 otherwise |

2820 | */ |

2821 | int |

2822 | xmlUCSIsCatMc(int code) { |

2823 | return(xmlCharInRange((unsigned int)code, &xmlMcG)); |

2824 | } |

2825 | |

2826 | /** |

2827 | * xmlUCSIsCatMe: |

2828 | * @code: UCS code point |

2829 | * |

2830 | * Check whether the character is part of Me UCS Category |

2831 | * |

2832 | * Returns 1 if true 0 otherwise |

2833 | */ |

2834 | int |

2835 | xmlUCSIsCatMe(int code) { |

2836 | return(((code >= 0x488) && (code <= 0x489)) || |

2837 | (code == 0x6de) || |

2838 | ((code >= 0x20dd) && (code <= 0x20e0)) || |

2839 | ((code >= 0x20e2) && (code <= 0x20e4))); |

2840 | } |

2841 | |

2842 | /** |

2843 | * xmlUCSIsCatMn: |

2844 | * @code: UCS code point |

2845 | * |

2846 | * Check whether the character is part of Mn UCS Category |

2847 | * |

2848 | * Returns 1 if true 0 otherwise |

2849 | */ |

2850 | int |

2851 | xmlUCSIsCatMn(int code) { |

2852 | return(xmlCharInRange((unsigned int)code, &xmlMnG)); |

2853 | } |

2854 | |

2855 | /** |

2856 | * xmlUCSIsCatN: |

2857 | * @code: UCS code point |

2858 | * |

2859 | * Check whether the character is part of N UCS Category |

2860 | * |

2861 | * Returns 1 if true 0 otherwise |

2862 | */ |

2863 | int |

2864 | xmlUCSIsCatN(int code) { |

2865 | return(xmlCharInRange((unsigned int)code, &xmlNG)); |

2866 | } |

2867 | |

2868 | /** |

2869 | * xmlUCSIsCatNd: |

2870 | * @code: UCS code point |

2871 | * |

2872 | * Check whether the character is part of Nd UCS Category |

2873 | * |

2874 | * Returns 1 if true 0 otherwise |

2875 | */ |

2876 | int |

2877 | xmlUCSIsCatNd(int code) { |

2878 | return(xmlCharInRange((unsigned int)code, &xmlNdG)); |

2879 | } |

2880 | |

2881 | /** |

2882 | * xmlUCSIsCatNl: |

2883 | * @code: UCS code point |

2884 | * |

2885 | * Check whether the character is part of Nl UCS Category |

2886 | * |

2887 | * Returns 1 if true 0 otherwise |

2888 | */ |

2889 | int |

2890 | xmlUCSIsCatNl(int code) { |

2891 | return(((code >= 0x16ee) && (code <= 0x16f0)) || |

2892 | ((code >= 0x2160) && (code <= 0x2183)) || |

2893 | (code == 0x3007) || |

2894 | ((code >= 0x3021) && (code <= 0x3029)) || |

2895 | ((code >= 0x3038) && (code <= 0x303a)) || |

2896 | (code == 0x1034a)); |

2897 | } |

2898 | |

2899 | /** |

2900 | * xmlUCSIsCatNo: |

2901 | * @code: UCS code point |

2902 | * |

2903 | * Check whether the character is part of No UCS Category |

2904 | * |

2905 | * Returns 1 if true 0 otherwise |

2906 | */ |

2907 | int |

2908 | xmlUCSIsCatNo(int code) { |

2909 | return(xmlCharInRange((unsigned int)code, &xmlNoG)); |

2910 | } |

2911 | |

2912 | /** |

2913 | * xmlUCSIsCatP: |

2914 | * @code: UCS code point |

2915 | * |

2916 | * Check whether the character is part of P UCS Category |

2917 | * |

2918 | * Returns 1 if true 0 otherwise |

2919 | */ |

2920 | int |

2921 | xmlUCSIsCatP(int code) { |

2922 | return(xmlCharInRange((unsigned int)code, &xmlPG)); |

2923 | } |

2924 | |

2925 | /** |

2926 | * xmlUCSIsCatPc: |

2927 | * @code: UCS code point |

2928 | * |

2929 | * Check whether the character is part of Pc UCS Category |

2930 | * |

2931 | * Returns 1 if true 0 otherwise |

2932 | */ |

2933 | int |

2934 | xmlUCSIsCatPc(int code) { |

2935 | return((code == 0x5f) || |

2936 | ((code >= 0x203f) && (code <= 0x2040)) || |

2937 | (code == 0x2054) || |

2938 | (code == 0x30fb) || |

2939 | ((code >= 0xfe33) && (code <= 0xfe34)) || |

2940 | ((code >= 0xfe4d) && (code <= 0xfe4f)) || |

2941 | (code == 0xff3f) || |

2942 | (code == 0xff65)); |

2943 | } |

2944 | |

2945 | /** |

2946 | * xmlUCSIsCatPd: |

2947 | * @code: UCS code point |

2948 | * |

2949 | * Check whether the character is part of Pd UCS Category |

2950 | * |

2951 | * Returns 1 if true 0 otherwise |

2952 | */ |

2953 | int |

2954 | xmlUCSIsCatPd(int code) { |

2955 | return(xmlCharInRange((unsigned int)code, &xmlPdG)); |

2956 | } |

2957 | |

2958 | /** |

2959 | * xmlUCSIsCatPe: |

2960 | * @code: UCS code point |

2961 | * |

2962 | * Check whether the character is part of Pe UCS Category |

2963 | * |

2964 | * Returns 1 if true 0 otherwise |

2965 | */ |

2966 | int |

2967 | xmlUCSIsCatPe(int code) { |

2968 | return(xmlCharInRange((unsigned int)code, &xmlPeG)); |

2969 | } |

2970 | |

2971 | /** |

2972 | * xmlUCSIsCatPf: |

2973 | * @code: UCS code point |

2974 | * |

2975 | * Check whether the character is part of Pf UCS Category |

2976 | * |

2977 | * Returns 1 if true 0 otherwise |

2978 | */ |

2979 | int |

2980 | xmlUCSIsCatPf(int code) { |

2981 | return((code == 0xbb) || |

2982 | (code == 0x2019) || |

2983 | (code == 0x201d) || |

2984 | (code == 0x203a)); |

2985 | } |

2986 | |

2987 | /** |

2988 | * xmlUCSIsCatPi: |

2989 | * @code: UCS code point |

2990 | * |

2991 | * Check whether the character is part of Pi UCS Category |

2992 | * |

2993 | * Returns 1 if true 0 otherwise |

2994 | */ |

2995 | int |

2996 | xmlUCSIsCatPi(int code) { |

2997 | return((code == 0xab) || |

2998 | (code == 0x2018) || |

2999 | ((code >= 0x201b) && (code <= 0x201c)) || |

3000 | (code == 0x201f) || |

3001 | (code == 0x2039)); |

3002 | } |

3003 | |

3004 | /** |

3005 | * xmlUCSIsCatPo: |

3006 | * @code: UCS code point |

3007 | * |

3008 | * Check whether the character is part of Po UCS Category |

3009 | * |

3010 | * Returns 1 if true 0 otherwise |

3011 | */ |

3012 | int |

3013 | xmlUCSIsCatPo(int code) { |

3014 | return(xmlCharInRange((unsigned int)code, &xmlPoG)); |

3015 | } |

3016 | |

3017 | /** |

3018 | * xmlUCSIsCatPs: |

3019 | * @code: UCS code point |

3020 | * |

3021 | * Check whether the character is part of Ps UCS Category |

3022 | * |

3023 | * Returns 1 if true 0 otherwise |

3024 | */ |

3025 | int |

3026 | xmlUCSIsCatPs(int code) { |

3027 | return(xmlCharInRange((unsigned int)code, &xmlPsG)); |

3028 | } |

3029 | |

3030 | /** |

3031 | * xmlUCSIsCatS: |

3032 | * @code: UCS code point |

3033 | * |

3034 | * Check whether the character is part of S UCS Category |

3035 | * |

3036 | * Returns 1 if true 0 otherwise |

3037 | */ |

3038 | int |

3039 | xmlUCSIsCatS(int code) { |

3040 | return(xmlCharInRange((unsigned int)code, &xmlSG)); |

3041 | } |

3042 | |

3043 | /** |

3044 | * xmlUCSIsCatSc: |

3045 | * @code: UCS code point |

3046 | * |

3047 | * Check whether the character is part of Sc UCS Category |

3048 | * |

3049 | * Returns 1 if true 0 otherwise |

3050 | */ |

3051 | int |

3052 | xmlUCSIsCatSc(int code) { |

3053 | return(xmlCharInRange((unsigned int)code, &xmlScG)); |

3054 | } |

3055 | |

3056 | /** |

3057 | * xmlUCSIsCatSk: |

3058 | * @code: UCS code point |

3059 | * |

3060 | * Check whether the character is part of Sk UCS Category |

3061 | * |

3062 | * Returns 1 if true 0 otherwise |

3063 | */ |

3064 | int |

3065 | xmlUCSIsCatSk(int code) { |

3066 | return(xmlCharInRange((unsigned int)code, &xmlSkG)); |

3067 | } |

3068 | |

3069 | /** |

3070 | * xmlUCSIsCatSm: |

3071 | * @code: UCS code point |

3072 | * |

3073 | * Check whether the character is part of Sm UCS Category |

3074 | * |

3075 | * Returns 1 if true 0 otherwise |

3076 | */ |

3077 | int |

3078 | xmlUCSIsCatSm(int code) { |

3079 | return(xmlCharInRange((unsigned int)code, &xmlSmG)); |

3080 | } |

3081 | |

3082 | /** |

3083 | * xmlUCSIsCatSo: |

3084 | * @code: UCS code point |

3085 | * |

3086 | * Check whether the character is part of So UCS Category |

3087 | * |

3088 | * Returns 1 if true 0 otherwise |

3089 | */ |

3090 | int |

3091 | xmlUCSIsCatSo(int code) { |

3092 | return(xmlCharInRange((unsigned int)code, &xmlSoG)); |

3093 | } |

3094 | |

3095 | /** |

3096 | * xmlUCSIsCatZ: |

3097 | * @code: UCS code point |

3098 | * |

3099 | * Check whether the character is part of Z UCS Category |

3100 | * |

3101 | * Returns 1 if true 0 otherwise |

3102 | */ |

3103 | int |

3104 | xmlUCSIsCatZ(int code) { |

3105 | return(xmlCharInRange((unsigned int)code, &xmlZG)); |

3106 | } |

3107 | |

3108 | /** |

3109 | * xmlUCSIsCatZl: |

3110 | * @code: UCS code point |

3111 | * |

3112 | * Check whether the character is part of Zl UCS Category |

3113 | * |

3114 | * Returns 1 if true 0 otherwise |

3115 | */ |

3116 | int |

3117 | xmlUCSIsCatZl(int code) { |

3118 | return((code == 0x2028)); |

3119 | } |

3120 | |

3121 | /** |

3122 | * xmlUCSIsCatZp: |

3123 | * @code: UCS code point |

3124 | * |

3125 | * Check whether the character is part of Zp UCS Category |

3126 | * |

3127 | * Returns 1 if true 0 otherwise |

3128 | */ |

3129 | int |

3130 | xmlUCSIsCatZp(int code) { |

3131 | return((code == 0x2029)); |

3132 | } |

3133 | |

3134 | /** |

3135 | * xmlUCSIsCatZs: |

3136 | * @code: UCS code point |

3137 | * |

3138 | * Check whether the character is part of Zs UCS Category |

3139 | * |

3140 | * Returns 1 if true 0 otherwise |

3141 | */ |

3142 | int |

3143 | xmlUCSIsCatZs(int code) { |

3144 | return((code == 0x20) || |

3145 | (code == 0xa0) || |

3146 | (code == 0x1680) || |

3147 | (code == 0x180e) || |

3148 | ((code >= 0x2000) && (code <= 0x200b)) || |

3149 | (code == 0x202f) || |

3150 | (code == 0x205f) || |

3151 | (code == 0x3000)); |

3152 | } |

3153 | |

3154 | /** |

3155 | * xmlUCSIsCat: |

3156 | * @code: UCS code point |

3157 | * @cat: UCS Category name |

3158 | * |

3159 | * Check whether the character is part of the UCS Category |

3160 | * |

3161 | * Returns 1 if true, 0 if false and -1 on unknown category |

3162 | */ |

3163 | int |

3164 | xmlUCSIsCat(int code, const char *cat) { |

3165 | xmlIntFunc *func; |

3166 | |

3167 | func = xmlUnicodeLookup(&xmlUnicodeCatTbl, cat); |

3168 | if (func == NULL) |

3169 | return (-1); |

3170 | return (func(code)); |

3171 | } |

3172 | |

3173 | |

3174 | #endif /* LIBXML_UNICODE_ENABLED */ |

**Note:**See TracBrowser for help on using the repository browser.