Ruby 1.9.3p327(2012-11-10revision37606)
|
00001 /********************************************************************** 00002 unicode.c - Oniguruma (regular expression library) 00003 **********************************************************************/ 00004 /*- 00005 * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 00006 * All rights reserved. 00007 * 00008 * Redistribution and use in source and binary forms, with or without 00009 * modification, are permitted provided that the following conditions 00010 * are met: 00011 * 1. Redistributions of source code must retain the above copyright 00012 * notice, this list of conditions and the following disclaimer. 00013 * 2. Redistributions in binary form must reproduce the above copyright 00014 * notice, this list of conditions and the following disclaimer in the 00015 * documentation and/or other materials provided with the distribution. 00016 * 00017 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 00018 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00019 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00020 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 00021 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00022 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 00023 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00024 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00025 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 00026 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00027 * SUCH DAMAGE. 00028 */ 00029 00030 #include "regint.h" 00031 00032 #define ONIGENC_IS_UNICODE_ISO_8859_1_CTYPE(code,ctype) \ 00033 ((EncUNICODE_ISO_8859_1_CtypeTable[code] & CTYPE_TO_BIT(ctype)) != 0) 00034 #if 0 00035 #define ONIGENC_IS_UNICODE_ISO_8859_1_BIT_CTYPE(code,cbit) \ 00036 ((EncUNICODE_ISO_8859_1_CtypeTable[code] & (cbit)) != 0) 00037 #endif 00038 00039 static const unsigned short EncUNICODE_ISO_8859_1_CtypeTable[256] = { 00040 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 00041 0x4008, 0x428c, 0x4289, 0x4288, 0x4288, 0x4288, 0x4008, 0x4008, 00042 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 00043 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 00044 0x4284, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 00045 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 00046 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 00047 0x78b0, 0x78b0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 00048 0x41a0, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x74a2, 00049 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 00050 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 00051 0x74a2, 0x74a2, 0x74a2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x51a0, 00052 0x41a0, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x70e2, 00053 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 00054 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 00055 0x70e2, 0x70e2, 0x70e2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x4008, 00056 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0288, 0x0008, 0x0008, 00057 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 00058 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 00059 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 00060 0x0284, 0x01a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 00061 0x00a0, 0x00a0, 0x30e2, 0x01a0, 0x00a0, 0x00a8, 0x00a0, 0x00a0, 00062 0x00a0, 0x00a0, 0x10a0, 0x10a0, 0x00a0, 0x30e2, 0x00a0, 0x01a0, 00063 0x00a0, 0x10a0, 0x30e2, 0x01a0, 0x10a0, 0x10a0, 0x10a0, 0x01a0, 00064 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 00065 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 00066 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x00a0, 00067 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x30e2, 00068 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 00069 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 00070 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x00a0, 00071 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2 00072 }; 00073 00074 #include "enc/unicode/name2ctype.h" 00075 00076 typedef struct { 00077 int n; 00078 OnigCodePoint code[3]; 00079 } CodePointList3; 00080 00081 typedef struct { 00082 OnigCodePoint from; 00083 CodePointList3 to; 00084 } CaseFold_11_Type; 00085 00086 typedef struct { 00087 OnigCodePoint from; 00088 CodePointList3 to; 00089 } CaseUnfold_11_Type; 00090 00091 typedef struct { 00092 int n; 00093 OnigCodePoint code[2]; 00094 } CodePointList2; 00095 00096 typedef struct { 00097 OnigCodePoint from[2]; 00098 CodePointList2 to; 00099 } CaseUnfold_12_Type; 00100 00101 typedef struct { 00102 OnigCodePoint from[3]; 00103 CodePointList2 to; 00104 } CaseUnfold_13_Type; 00105 00106 static const CaseFold_11_Type CaseFold[] = { 00107 { 0x0041, {1, {0x0061}}}, 00108 { 0x0042, {1, {0x0062}}}, 00109 { 0x0043, {1, {0x0063}}}, 00110 { 0x0044, {1, {0x0064}}}, 00111 { 0x0045, {1, {0x0065}}}, 00112 { 0x0046, {1, {0x0066}}}, 00113 { 0x0047, {1, {0x0067}}}, 00114 { 0x0048, {1, {0x0068}}}, 00115 { 0x004a, {1, {0x006a}}}, 00116 { 0x004b, {1, {0x006b}}}, 00117 { 0x004c, {1, {0x006c}}}, 00118 { 0x004d, {1, {0x006d}}}, 00119 { 0x004e, {1, {0x006e}}}, 00120 { 0x004f, {1, {0x006f}}}, 00121 { 0x0050, {1, {0x0070}}}, 00122 { 0x0051, {1, {0x0071}}}, 00123 { 0x0052, {1, {0x0072}}}, 00124 { 0x0053, {1, {0x0073}}}, 00125 { 0x0054, {1, {0x0074}}}, 00126 { 0x0055, {1, {0x0075}}}, 00127 { 0x0056, {1, {0x0076}}}, 00128 { 0x0057, {1, {0x0077}}}, 00129 { 0x0058, {1, {0x0078}}}, 00130 { 0x0059, {1, {0x0079}}}, 00131 { 0x005a, {1, {0x007a}}}, 00132 { 0x00b5, {1, {0x03bc}}}, 00133 { 0x00c0, {1, {0x00e0}}}, 00134 { 0x00c1, {1, {0x00e1}}}, 00135 { 0x00c2, {1, {0x00e2}}}, 00136 { 0x00c3, {1, {0x00e3}}}, 00137 { 0x00c4, {1, {0x00e4}}}, 00138 { 0x00c5, {1, {0x00e5}}}, 00139 { 0x00c6, {1, {0x00e6}}}, 00140 { 0x00c7, {1, {0x00e7}}}, 00141 { 0x00c8, {1, {0x00e8}}}, 00142 { 0x00c9, {1, {0x00e9}}}, 00143 { 0x00ca, {1, {0x00ea}}}, 00144 { 0x00cb, {1, {0x00eb}}}, 00145 { 0x00cc, {1, {0x00ec}}}, 00146 { 0x00cd, {1, {0x00ed}}}, 00147 { 0x00ce, {1, {0x00ee}}}, 00148 { 0x00cf, {1, {0x00ef}}}, 00149 { 0x00d0, {1, {0x00f0}}}, 00150 { 0x00d1, {1, {0x00f1}}}, 00151 { 0x00d2, {1, {0x00f2}}}, 00152 { 0x00d3, {1, {0x00f3}}}, 00153 { 0x00d4, {1, {0x00f4}}}, 00154 { 0x00d5, {1, {0x00f5}}}, 00155 { 0x00d6, {1, {0x00f6}}}, 00156 { 0x00d8, {1, {0x00f8}}}, 00157 { 0x00d9, {1, {0x00f9}}}, 00158 { 0x00da, {1, {0x00fa}}}, 00159 { 0x00db, {1, {0x00fb}}}, 00160 { 0x00dc, {1, {0x00fc}}}, 00161 { 0x00dd, {1, {0x00fd}}}, 00162 { 0x00de, {1, {0x00fe}}}, 00163 { 0x00df, {2, {0x0073, 0x0073}}}, 00164 { 0x0100, {1, {0x0101}}}, 00165 { 0x0102, {1, {0x0103}}}, 00166 { 0x0104, {1, {0x0105}}}, 00167 { 0x0106, {1, {0x0107}}}, 00168 { 0x0108, {1, {0x0109}}}, 00169 { 0x010a, {1, {0x010b}}}, 00170 { 0x010c, {1, {0x010d}}}, 00171 { 0x010e, {1, {0x010f}}}, 00172 { 0x0110, {1, {0x0111}}}, 00173 { 0x0112, {1, {0x0113}}}, 00174 { 0x0114, {1, {0x0115}}}, 00175 { 0x0116, {1, {0x0117}}}, 00176 { 0x0118, {1, {0x0119}}}, 00177 { 0x011a, {1, {0x011b}}}, 00178 { 0x011c, {1, {0x011d}}}, 00179 { 0x011e, {1, {0x011f}}}, 00180 { 0x0120, {1, {0x0121}}}, 00181 { 0x0122, {1, {0x0123}}}, 00182 { 0x0124, {1, {0x0125}}}, 00183 { 0x0126, {1, {0x0127}}}, 00184 { 0x0128, {1, {0x0129}}}, 00185 { 0x012a, {1, {0x012b}}}, 00186 { 0x012c, {1, {0x012d}}}, 00187 { 0x012e, {1, {0x012f}}}, 00188 { 0x0132, {1, {0x0133}}}, 00189 { 0x0134, {1, {0x0135}}}, 00190 { 0x0136, {1, {0x0137}}}, 00191 { 0x0139, {1, {0x013a}}}, 00192 { 0x013b, {1, {0x013c}}}, 00193 { 0x013d, {1, {0x013e}}}, 00194 { 0x013f, {1, {0x0140}}}, 00195 { 0x0141, {1, {0x0142}}}, 00196 { 0x0143, {1, {0x0144}}}, 00197 { 0x0145, {1, {0x0146}}}, 00198 { 0x0147, {1, {0x0148}}}, 00199 { 0x0149, {2, {0x02bc, 0x006e}}}, 00200 { 0x014a, {1, {0x014b}}}, 00201 { 0x014c, {1, {0x014d}}}, 00202 { 0x014e, {1, {0x014f}}}, 00203 { 0x0150, {1, {0x0151}}}, 00204 { 0x0152, {1, {0x0153}}}, 00205 { 0x0154, {1, {0x0155}}}, 00206 { 0x0156, {1, {0x0157}}}, 00207 { 0x0158, {1, {0x0159}}}, 00208 { 0x015a, {1, {0x015b}}}, 00209 { 0x015c, {1, {0x015d}}}, 00210 { 0x015e, {1, {0x015f}}}, 00211 { 0x0160, {1, {0x0161}}}, 00212 { 0x0162, {1, {0x0163}}}, 00213 { 0x0164, {1, {0x0165}}}, 00214 { 0x0166, {1, {0x0167}}}, 00215 { 0x0168, {1, {0x0169}}}, 00216 { 0x016a, {1, {0x016b}}}, 00217 { 0x016c, {1, {0x016d}}}, 00218 { 0x016e, {1, {0x016f}}}, 00219 { 0x0170, {1, {0x0171}}}, 00220 { 0x0172, {1, {0x0173}}}, 00221 { 0x0174, {1, {0x0175}}}, 00222 { 0x0176, {1, {0x0177}}}, 00223 { 0x0178, {1, {0x00ff}}}, 00224 { 0x0179, {1, {0x017a}}}, 00225 { 0x017b, {1, {0x017c}}}, 00226 { 0x017d, {1, {0x017e}}}, 00227 { 0x017f, {1, {0x0073}}}, 00228 { 0x0181, {1, {0x0253}}}, 00229 { 0x0182, {1, {0x0183}}}, 00230 { 0x0184, {1, {0x0185}}}, 00231 { 0x0186, {1, {0x0254}}}, 00232 { 0x0187, {1, {0x0188}}}, 00233 { 0x0189, {1, {0x0256}}}, 00234 { 0x018a, {1, {0x0257}}}, 00235 { 0x018b, {1, {0x018c}}}, 00236 { 0x018e, {1, {0x01dd}}}, 00237 { 0x018f, {1, {0x0259}}}, 00238 { 0x0190, {1, {0x025b}}}, 00239 { 0x0191, {1, {0x0192}}}, 00240 { 0x0193, {1, {0x0260}}}, 00241 { 0x0194, {1, {0x0263}}}, 00242 { 0x0196, {1, {0x0269}}}, 00243 { 0x0197, {1, {0x0268}}}, 00244 { 0x0198, {1, {0x0199}}}, 00245 { 0x019c, {1, {0x026f}}}, 00246 { 0x019d, {1, {0x0272}}}, 00247 { 0x019f, {1, {0x0275}}}, 00248 { 0x01a0, {1, {0x01a1}}}, 00249 { 0x01a2, {1, {0x01a3}}}, 00250 { 0x01a4, {1, {0x01a5}}}, 00251 { 0x01a6, {1, {0x0280}}}, 00252 { 0x01a7, {1, {0x01a8}}}, 00253 { 0x01a9, {1, {0x0283}}}, 00254 { 0x01ac, {1, {0x01ad}}}, 00255 { 0x01ae, {1, {0x0288}}}, 00256 { 0x01af, {1, {0x01b0}}}, 00257 { 0x01b1, {1, {0x028a}}}, 00258 { 0x01b2, {1, {0x028b}}}, 00259 { 0x01b3, {1, {0x01b4}}}, 00260 { 0x01b5, {1, {0x01b6}}}, 00261 { 0x01b7, {1, {0x0292}}}, 00262 { 0x01b8, {1, {0x01b9}}}, 00263 { 0x01bc, {1, {0x01bd}}}, 00264 { 0x01c4, {1, {0x01c6}}}, 00265 { 0x01c5, {1, {0x01c6}}}, 00266 { 0x01c7, {1, {0x01c9}}}, 00267 { 0x01c8, {1, {0x01c9}}}, 00268 { 0x01ca, {1, {0x01cc}}}, 00269 { 0x01cb, {1, {0x01cc}}}, 00270 { 0x01cd, {1, {0x01ce}}}, 00271 { 0x01cf, {1, {0x01d0}}}, 00272 { 0x01d1, {1, {0x01d2}}}, 00273 { 0x01d3, {1, {0x01d4}}}, 00274 { 0x01d5, {1, {0x01d6}}}, 00275 { 0x01d7, {1, {0x01d8}}}, 00276 { 0x01d9, {1, {0x01da}}}, 00277 { 0x01db, {1, {0x01dc}}}, 00278 { 0x01de, {1, {0x01df}}}, 00279 { 0x01e0, {1, {0x01e1}}}, 00280 { 0x01e2, {1, {0x01e3}}}, 00281 { 0x01e4, {1, {0x01e5}}}, 00282 { 0x01e6, {1, {0x01e7}}}, 00283 { 0x01e8, {1, {0x01e9}}}, 00284 { 0x01ea, {1, {0x01eb}}}, 00285 { 0x01ec, {1, {0x01ed}}}, 00286 { 0x01ee, {1, {0x01ef}}}, 00287 { 0x01f0, {2, {0x006a, 0x030c}}}, 00288 { 0x01f1, {1, {0x01f3}}}, 00289 { 0x01f2, {1, {0x01f3}}}, 00290 { 0x01f4, {1, {0x01f5}}}, 00291 { 0x01f6, {1, {0x0195}}}, 00292 { 0x01f7, {1, {0x01bf}}}, 00293 { 0x01f8, {1, {0x01f9}}}, 00294 { 0x01fa, {1, {0x01fb}}}, 00295 { 0x01fc, {1, {0x01fd}}}, 00296 { 0x01fe, {1, {0x01ff}}}, 00297 { 0x0200, {1, {0x0201}}}, 00298 { 0x0202, {1, {0x0203}}}, 00299 { 0x0204, {1, {0x0205}}}, 00300 { 0x0206, {1, {0x0207}}}, 00301 { 0x0208, {1, {0x0209}}}, 00302 { 0x020a, {1, {0x020b}}}, 00303 { 0x020c, {1, {0x020d}}}, 00304 { 0x020e, {1, {0x020f}}}, 00305 { 0x0210, {1, {0x0211}}}, 00306 { 0x0212, {1, {0x0213}}}, 00307 { 0x0214, {1, {0x0215}}}, 00308 { 0x0216, {1, {0x0217}}}, 00309 { 0x0218, {1, {0x0219}}}, 00310 { 0x021a, {1, {0x021b}}}, 00311 { 0x021c, {1, {0x021d}}}, 00312 { 0x021e, {1, {0x021f}}}, 00313 { 0x0220, {1, {0x019e}}}, 00314 { 0x0222, {1, {0x0223}}}, 00315 { 0x0224, {1, {0x0225}}}, 00316 { 0x0226, {1, {0x0227}}}, 00317 { 0x0228, {1, {0x0229}}}, 00318 { 0x022a, {1, {0x022b}}}, 00319 { 0x022c, {1, {0x022d}}}, 00320 { 0x022e, {1, {0x022f}}}, 00321 { 0x0230, {1, {0x0231}}}, 00322 { 0x0232, {1, {0x0233}}}, 00323 { 0x023b, {1, {0x023c}}}, 00324 { 0x023d, {1, {0x019a}}}, 00325 { 0x0241, {1, {0x0294}}}, 00326 { 0x0345, {1, {0x03b9}}}, 00327 { 0x0386, {1, {0x03ac}}}, 00328 { 0x0388, {1, {0x03ad}}}, 00329 { 0x0389, {1, {0x03ae}}}, 00330 { 0x038a, {1, {0x03af}}}, 00331 { 0x038c, {1, {0x03cc}}}, 00332 { 0x038e, {1, {0x03cd}}}, 00333 { 0x038f, {1, {0x03ce}}}, 00334 { 0x0390, {3, {0x03b9, 0x0308, 0x0301}}}, 00335 { 0x0391, {1, {0x03b1}}}, 00336 { 0x0392, {1, {0x03b2}}}, 00337 { 0x0393, {1, {0x03b3}}}, 00338 { 0x0394, {1, {0x03b4}}}, 00339 { 0x0395, {1, {0x03b5}}}, 00340 { 0x0396, {1, {0x03b6}}}, 00341 { 0x0397, {1, {0x03b7}}}, 00342 { 0x0398, {1, {0x03b8}}}, 00343 { 0x0399, {1, {0x03b9}}}, 00344 { 0x039a, {1, {0x03ba}}}, 00345 { 0x039b, {1, {0x03bb}}}, 00346 { 0x039c, {1, {0x03bc}}}, 00347 { 0x039d, {1, {0x03bd}}}, 00348 { 0x039e, {1, {0x03be}}}, 00349 { 0x039f, {1, {0x03bf}}}, 00350 { 0x03a0, {1, {0x03c0}}}, 00351 { 0x03a1, {1, {0x03c1}}}, 00352 { 0x03a3, {1, {0x03c3}}}, 00353 { 0x03a4, {1, {0x03c4}}}, 00354 { 0x03a5, {1, {0x03c5}}}, 00355 { 0x03a6, {1, {0x03c6}}}, 00356 { 0x03a7, {1, {0x03c7}}}, 00357 { 0x03a8, {1, {0x03c8}}}, 00358 { 0x03a9, {1, {0x03c9}}}, 00359 { 0x03aa, {1, {0x03ca}}}, 00360 { 0x03ab, {1, {0x03cb}}}, 00361 { 0x03b0, {3, {0x03c5, 0x0308, 0x0301}}}, 00362 { 0x03c2, {1, {0x03c3}}}, 00363 { 0x03d0, {1, {0x03b2}}}, 00364 { 0x03d1, {1, {0x03b8}}}, 00365 { 0x03d5, {1, {0x03c6}}}, 00366 { 0x03d6, {1, {0x03c0}}}, 00367 { 0x03d8, {1, {0x03d9}}}, 00368 { 0x03da, {1, {0x03db}}}, 00369 { 0x03dc, {1, {0x03dd}}}, 00370 { 0x03de, {1, {0x03df}}}, 00371 { 0x03e0, {1, {0x03e1}}}, 00372 { 0x03e2, {1, {0x03e3}}}, 00373 { 0x03e4, {1, {0x03e5}}}, 00374 { 0x03e6, {1, {0x03e7}}}, 00375 { 0x03e8, {1, {0x03e9}}}, 00376 { 0x03ea, {1, {0x03eb}}}, 00377 { 0x03ec, {1, {0x03ed}}}, 00378 { 0x03ee, {1, {0x03ef}}}, 00379 { 0x03f0, {1, {0x03ba}}}, 00380 { 0x03f1, {1, {0x03c1}}}, 00381 { 0x03f4, {1, {0x03b8}}}, 00382 { 0x03f5, {1, {0x03b5}}}, 00383 { 0x03f7, {1, {0x03f8}}}, 00384 { 0x03f9, {1, {0x03f2}}}, 00385 { 0x03fa, {1, {0x03fb}}}, 00386 { 0x0400, {1, {0x0450}}}, 00387 { 0x0401, {1, {0x0451}}}, 00388 { 0x0402, {1, {0x0452}}}, 00389 { 0x0403, {1, {0x0453}}}, 00390 { 0x0404, {1, {0x0454}}}, 00391 { 0x0405, {1, {0x0455}}}, 00392 { 0x0406, {1, {0x0456}}}, 00393 { 0x0407, {1, {0x0457}}}, 00394 { 0x0408, {1, {0x0458}}}, 00395 { 0x0409, {1, {0x0459}}}, 00396 { 0x040a, {1, {0x045a}}}, 00397 { 0x040b, {1, {0x045b}}}, 00398 { 0x040c, {1, {0x045c}}}, 00399 { 0x040d, {1, {0x045d}}}, 00400 { 0x040e, {1, {0x045e}}}, 00401 { 0x040f, {1, {0x045f}}}, 00402 { 0x0410, {1, {0x0430}}}, 00403 { 0x0411, {1, {0x0431}}}, 00404 { 0x0412, {1, {0x0432}}}, 00405 { 0x0413, {1, {0x0433}}}, 00406 { 0x0414, {1, {0x0434}}}, 00407 { 0x0415, {1, {0x0435}}}, 00408 { 0x0416, {1, {0x0436}}}, 00409 { 0x0417, {1, {0x0437}}}, 00410 { 0x0418, {1, {0x0438}}}, 00411 { 0x0419, {1, {0x0439}}}, 00412 { 0x041a, {1, {0x043a}}}, 00413 { 0x041b, {1, {0x043b}}}, 00414 { 0x041c, {1, {0x043c}}}, 00415 { 0x041d, {1, {0x043d}}}, 00416 { 0x041e, {1, {0x043e}}}, 00417 { 0x041f, {1, {0x043f}}}, 00418 { 0x0420, {1, {0x0440}}}, 00419 { 0x0421, {1, {0x0441}}}, 00420 { 0x0422, {1, {0x0442}}}, 00421 { 0x0423, {1, {0x0443}}}, 00422 { 0x0424, {1, {0x0444}}}, 00423 { 0x0425, {1, {0x0445}}}, 00424 { 0x0426, {1, {0x0446}}}, 00425 { 0x0427, {1, {0x0447}}}, 00426 { 0x0428, {1, {0x0448}}}, 00427 { 0x0429, {1, {0x0449}}}, 00428 { 0x042a, {1, {0x044a}}}, 00429 { 0x042b, {1, {0x044b}}}, 00430 { 0x042c, {1, {0x044c}}}, 00431 { 0x042d, {1, {0x044d}}}, 00432 { 0x042e, {1, {0x044e}}}, 00433 { 0x042f, {1, {0x044f}}}, 00434 { 0x0460, {1, {0x0461}}}, 00435 { 0x0462, {1, {0x0463}}}, 00436 { 0x0464, {1, {0x0465}}}, 00437 { 0x0466, {1, {0x0467}}}, 00438 { 0x0468, {1, {0x0469}}}, 00439 { 0x046a, {1, {0x046b}}}, 00440 { 0x046c, {1, {0x046d}}}, 00441 { 0x046e, {1, {0x046f}}}, 00442 { 0x0470, {1, {0x0471}}}, 00443 { 0x0472, {1, {0x0473}}}, 00444 { 0x0474, {1, {0x0475}}}, 00445 { 0x0476, {1, {0x0477}}}, 00446 { 0x0478, {1, {0x0479}}}, 00447 { 0x047a, {1, {0x047b}}}, 00448 { 0x047c, {1, {0x047d}}}, 00449 { 0x047e, {1, {0x047f}}}, 00450 { 0x0480, {1, {0x0481}}}, 00451 { 0x048a, {1, {0x048b}}}, 00452 { 0x048c, {1, {0x048d}}}, 00453 { 0x048e, {1, {0x048f}}}, 00454 { 0x0490, {1, {0x0491}}}, 00455 { 0x0492, {1, {0x0493}}}, 00456 { 0x0494, {1, {0x0495}}}, 00457 { 0x0496, {1, {0x0497}}}, 00458 { 0x0498, {1, {0x0499}}}, 00459 { 0x049a, {1, {0x049b}}}, 00460 { 0x049c, {1, {0x049d}}}, 00461 { 0x049e, {1, {0x049f}}}, 00462 { 0x04a0, {1, {0x04a1}}}, 00463 { 0x04a2, {1, {0x04a3}}}, 00464 { 0x04a4, {1, {0x04a5}}}, 00465 { 0x04a6, {1, {0x04a7}}}, 00466 { 0x04a8, {1, {0x04a9}}}, 00467 { 0x04aa, {1, {0x04ab}}}, 00468 { 0x04ac, {1, {0x04ad}}}, 00469 { 0x04ae, {1, {0x04af}}}, 00470 { 0x04b0, {1, {0x04b1}}}, 00471 { 0x04b2, {1, {0x04b3}}}, 00472 { 0x04b4, {1, {0x04b5}}}, 00473 { 0x04b6, {1, {0x04b7}}}, 00474 { 0x04b8, {1, {0x04b9}}}, 00475 { 0x04ba, {1, {0x04bb}}}, 00476 { 0x04bc, {1, {0x04bd}}}, 00477 { 0x04be, {1, {0x04bf}}}, 00478 { 0x04c1, {1, {0x04c2}}}, 00479 { 0x04c3, {1, {0x04c4}}}, 00480 { 0x04c5, {1, {0x04c6}}}, 00481 { 0x04c7, {1, {0x04c8}}}, 00482 { 0x04c9, {1, {0x04ca}}}, 00483 { 0x04cb, {1, {0x04cc}}}, 00484 { 0x04cd, {1, {0x04ce}}}, 00485 { 0x04d0, {1, {0x04d1}}}, 00486 { 0x04d2, {1, {0x04d3}}}, 00487 { 0x04d4, {1, {0x04d5}}}, 00488 { 0x04d6, {1, {0x04d7}}}, 00489 { 0x04d8, {1, {0x04d9}}}, 00490 { 0x04da, {1, {0x04db}}}, 00491 { 0x04dc, {1, {0x04dd}}}, 00492 { 0x04de, {1, {0x04df}}}, 00493 { 0x04e0, {1, {0x04e1}}}, 00494 { 0x04e2, {1, {0x04e3}}}, 00495 { 0x04e4, {1, {0x04e5}}}, 00496 { 0x04e6, {1, {0x04e7}}}, 00497 { 0x04e8, {1, {0x04e9}}}, 00498 { 0x04ea, {1, {0x04eb}}}, 00499 { 0x04ec, {1, {0x04ed}}}, 00500 { 0x04ee, {1, {0x04ef}}}, 00501 { 0x04f0, {1, {0x04f1}}}, 00502 { 0x04f2, {1, {0x04f3}}}, 00503 { 0x04f4, {1, {0x04f5}}}, 00504 { 0x04f6, {1, {0x04f7}}}, 00505 { 0x04f8, {1, {0x04f9}}}, 00506 { 0x0500, {1, {0x0501}}}, 00507 { 0x0502, {1, {0x0503}}}, 00508 { 0x0504, {1, {0x0505}}}, 00509 { 0x0506, {1, {0x0507}}}, 00510 { 0x0508, {1, {0x0509}}}, 00511 { 0x050a, {1, {0x050b}}}, 00512 { 0x050c, {1, {0x050d}}}, 00513 { 0x050e, {1, {0x050f}}}, 00514 { 0x0531, {1, {0x0561}}}, 00515 { 0x0532, {1, {0x0562}}}, 00516 { 0x0533, {1, {0x0563}}}, 00517 { 0x0534, {1, {0x0564}}}, 00518 { 0x0535, {1, {0x0565}}}, 00519 { 0x0536, {1, {0x0566}}}, 00520 { 0x0537, {1, {0x0567}}}, 00521 { 0x0538, {1, {0x0568}}}, 00522 { 0x0539, {1, {0x0569}}}, 00523 { 0x053a, {1, {0x056a}}}, 00524 { 0x053b, {1, {0x056b}}}, 00525 { 0x053c, {1, {0x056c}}}, 00526 { 0x053d, {1, {0x056d}}}, 00527 { 0x053e, {1, {0x056e}}}, 00528 { 0x053f, {1, {0x056f}}}, 00529 { 0x0540, {1, {0x0570}}}, 00530 { 0x0541, {1, {0x0571}}}, 00531 { 0x0542, {1, {0x0572}}}, 00532 { 0x0543, {1, {0x0573}}}, 00533 { 0x0544, {1, {0x0574}}}, 00534 { 0x0545, {1, {0x0575}}}, 00535 { 0x0546, {1, {0x0576}}}, 00536 { 0x0547, {1, {0x0577}}}, 00537 { 0x0548, {1, {0x0578}}}, 00538 { 0x0549, {1, {0x0579}}}, 00539 { 0x054a, {1, {0x057a}}}, 00540 { 0x054b, {1, {0x057b}}}, 00541 { 0x054c, {1, {0x057c}}}, 00542 { 0x054d, {1, {0x057d}}}, 00543 { 0x054e, {1, {0x057e}}}, 00544 { 0x054f, {1, {0x057f}}}, 00545 { 0x0550, {1, {0x0580}}}, 00546 { 0x0551, {1, {0x0581}}}, 00547 { 0x0552, {1, {0x0582}}}, 00548 { 0x0553, {1, {0x0583}}}, 00549 { 0x0554, {1, {0x0584}}}, 00550 { 0x0555, {1, {0x0585}}}, 00551 { 0x0556, {1, {0x0586}}}, 00552 { 0x0587, {2, {0x0565, 0x0582}}}, 00553 { 0x10a0, {1, {0x2d00}}}, 00554 { 0x10a1, {1, {0x2d01}}}, 00555 { 0x10a2, {1, {0x2d02}}}, 00556 { 0x10a3, {1, {0x2d03}}}, 00557 { 0x10a4, {1, {0x2d04}}}, 00558 { 0x10a5, {1, {0x2d05}}}, 00559 { 0x10a6, {1, {0x2d06}}}, 00560 { 0x10a7, {1, {0x2d07}}}, 00561 { 0x10a8, {1, {0x2d08}}}, 00562 { 0x10a9, {1, {0x2d09}}}, 00563 { 0x10aa, {1, {0x2d0a}}}, 00564 { 0x10ab, {1, {0x2d0b}}}, 00565 { 0x10ac, {1, {0x2d0c}}}, 00566 { 0x10ad, {1, {0x2d0d}}}, 00567 { 0x10ae, {1, {0x2d0e}}}, 00568 { 0x10af, {1, {0x2d0f}}}, 00569 { 0x10b0, {1, {0x2d10}}}, 00570 { 0x10b1, {1, {0x2d11}}}, 00571 { 0x10b2, {1, {0x2d12}}}, 00572 { 0x10b3, {1, {0x2d13}}}, 00573 { 0x10b4, {1, {0x2d14}}}, 00574 { 0x10b5, {1, {0x2d15}}}, 00575 { 0x10b6, {1, {0x2d16}}}, 00576 { 0x10b7, {1, {0x2d17}}}, 00577 { 0x10b8, {1, {0x2d18}}}, 00578 { 0x10b9, {1, {0x2d19}}}, 00579 { 0x10ba, {1, {0x2d1a}}}, 00580 { 0x10bb, {1, {0x2d1b}}}, 00581 { 0x10bc, {1, {0x2d1c}}}, 00582 { 0x10bd, {1, {0x2d1d}}}, 00583 { 0x10be, {1, {0x2d1e}}}, 00584 { 0x10bf, {1, {0x2d1f}}}, 00585 { 0x10c0, {1, {0x2d20}}}, 00586 { 0x10c1, {1, {0x2d21}}}, 00587 { 0x10c2, {1, {0x2d22}}}, 00588 { 0x10c3, {1, {0x2d23}}}, 00589 { 0x10c4, {1, {0x2d24}}}, 00590 { 0x10c5, {1, {0x2d25}}}, 00591 { 0x1e00, {1, {0x1e01}}}, 00592 { 0x1e02, {1, {0x1e03}}}, 00593 { 0x1e04, {1, {0x1e05}}}, 00594 { 0x1e06, {1, {0x1e07}}}, 00595 { 0x1e08, {1, {0x1e09}}}, 00596 { 0x1e0a, {1, {0x1e0b}}}, 00597 { 0x1e0c, {1, {0x1e0d}}}, 00598 { 0x1e0e, {1, {0x1e0f}}}, 00599 { 0x1e10, {1, {0x1e11}}}, 00600 { 0x1e12, {1, {0x1e13}}}, 00601 { 0x1e14, {1, {0x1e15}}}, 00602 { 0x1e16, {1, {0x1e17}}}, 00603 { 0x1e18, {1, {0x1e19}}}, 00604 { 0x1e1a, {1, {0x1e1b}}}, 00605 { 0x1e1c, {1, {0x1e1d}}}, 00606 { 0x1e1e, {1, {0x1e1f}}}, 00607 { 0x1e20, {1, {0x1e21}}}, 00608 { 0x1e22, {1, {0x1e23}}}, 00609 { 0x1e24, {1, {0x1e25}}}, 00610 { 0x1e26, {1, {0x1e27}}}, 00611 { 0x1e28, {1, {0x1e29}}}, 00612 { 0x1e2a, {1, {0x1e2b}}}, 00613 { 0x1e2c, {1, {0x1e2d}}}, 00614 { 0x1e2e, {1, {0x1e2f}}}, 00615 { 0x1e30, {1, {0x1e31}}}, 00616 { 0x1e32, {1, {0x1e33}}}, 00617 { 0x1e34, {1, {0x1e35}}}, 00618 { 0x1e36, {1, {0x1e37}}}, 00619 { 0x1e38, {1, {0x1e39}}}, 00620 { 0x1e3a, {1, {0x1e3b}}}, 00621 { 0x1e3c, {1, {0x1e3d}}}, 00622 { 0x1e3e, {1, {0x1e3f}}}, 00623 { 0x1e40, {1, {0x1e41}}}, 00624 { 0x1e42, {1, {0x1e43}}}, 00625 { 0x1e44, {1, {0x1e45}}}, 00626 { 0x1e46, {1, {0x1e47}}}, 00627 { 0x1e48, {1, {0x1e49}}}, 00628 { 0x1e4a, {1, {0x1e4b}}}, 00629 { 0x1e4c, {1, {0x1e4d}}}, 00630 { 0x1e4e, {1, {0x1e4f}}}, 00631 { 0x1e50, {1, {0x1e51}}}, 00632 { 0x1e52, {1, {0x1e53}}}, 00633 { 0x1e54, {1, {0x1e55}}}, 00634 { 0x1e56, {1, {0x1e57}}}, 00635 { 0x1e58, {1, {0x1e59}}}, 00636 { 0x1e5a, {1, {0x1e5b}}}, 00637 { 0x1e5c, {1, {0x1e5d}}}, 00638 { 0x1e5e, {1, {0x1e5f}}}, 00639 { 0x1e60, {1, {0x1e61}}}, 00640 { 0x1e62, {1, {0x1e63}}}, 00641 { 0x1e64, {1, {0x1e65}}}, 00642 { 0x1e66, {1, {0x1e67}}}, 00643 { 0x1e68, {1, {0x1e69}}}, 00644 { 0x1e6a, {1, {0x1e6b}}}, 00645 { 0x1e6c, {1, {0x1e6d}}}, 00646 { 0x1e6e, {1, {0x1e6f}}}, 00647 { 0x1e70, {1, {0x1e71}}}, 00648 { 0x1e72, {1, {0x1e73}}}, 00649 { 0x1e74, {1, {0x1e75}}}, 00650 { 0x1e76, {1, {0x1e77}}}, 00651 { 0x1e78, {1, {0x1e79}}}, 00652 { 0x1e7a, {1, {0x1e7b}}}, 00653 { 0x1e7c, {1, {0x1e7d}}}, 00654 { 0x1e7e, {1, {0x1e7f}}}, 00655 { 0x1e80, {1, {0x1e81}}}, 00656 { 0x1e82, {1, {0x1e83}}}, 00657 { 0x1e84, {1, {0x1e85}}}, 00658 { 0x1e86, {1, {0x1e87}}}, 00659 { 0x1e88, {1, {0x1e89}}}, 00660 { 0x1e8a, {1, {0x1e8b}}}, 00661 { 0x1e8c, {1, {0x1e8d}}}, 00662 { 0x1e8e, {1, {0x1e8f}}}, 00663 { 0x1e90, {1, {0x1e91}}}, 00664 { 0x1e92, {1, {0x1e93}}}, 00665 { 0x1e94, {1, {0x1e95}}}, 00666 { 0x1e96, {2, {0x0068, 0x0331}}}, 00667 { 0x1e97, {2, {0x0074, 0x0308}}}, 00668 { 0x1e98, {2, {0x0077, 0x030a}}}, 00669 { 0x1e99, {2, {0x0079, 0x030a}}}, 00670 { 0x1e9a, {2, {0x0061, 0x02be}}}, 00671 { 0x1e9b, {1, {0x1e61}}}, 00672 { 0x1ea0, {1, {0x1ea1}}}, 00673 { 0x1ea2, {1, {0x1ea3}}}, 00674 { 0x1ea4, {1, {0x1ea5}}}, 00675 { 0x1ea6, {1, {0x1ea7}}}, 00676 { 0x1ea8, {1, {0x1ea9}}}, 00677 { 0x1eaa, {1, {0x1eab}}}, 00678 { 0x1eac, {1, {0x1ead}}}, 00679 { 0x1eae, {1, {0x1eaf}}}, 00680 { 0x1eb0, {1, {0x1eb1}}}, 00681 { 0x1eb2, {1, {0x1eb3}}}, 00682 { 0x1eb4, {1, {0x1eb5}}}, 00683 { 0x1eb6, {1, {0x1eb7}}}, 00684 { 0x1eb8, {1, {0x1eb9}}}, 00685 { 0x1eba, {1, {0x1ebb}}}, 00686 { 0x1ebc, {1, {0x1ebd}}}, 00687 { 0x1ebe, {1, {0x1ebf}}}, 00688 { 0x1ec0, {1, {0x1ec1}}}, 00689 { 0x1ec2, {1, {0x1ec3}}}, 00690 { 0x1ec4, {1, {0x1ec5}}}, 00691 { 0x1ec6, {1, {0x1ec7}}}, 00692 { 0x1ec8, {1, {0x1ec9}}}, 00693 { 0x1eca, {1, {0x1ecb}}}, 00694 { 0x1ecc, {1, {0x1ecd}}}, 00695 { 0x1ece, {1, {0x1ecf}}}, 00696 { 0x1ed0, {1, {0x1ed1}}}, 00697 { 0x1ed2, {1, {0x1ed3}}}, 00698 { 0x1ed4, {1, {0x1ed5}}}, 00699 { 0x1ed6, {1, {0x1ed7}}}, 00700 { 0x1ed8, {1, {0x1ed9}}}, 00701 { 0x1eda, {1, {0x1edb}}}, 00702 { 0x1edc, {1, {0x1edd}}}, 00703 { 0x1ede, {1, {0x1edf}}}, 00704 { 0x1ee0, {1, {0x1ee1}}}, 00705 { 0x1ee2, {1, {0x1ee3}}}, 00706 { 0x1ee4, {1, {0x1ee5}}}, 00707 { 0x1ee6, {1, {0x1ee7}}}, 00708 { 0x1ee8, {1, {0x1ee9}}}, 00709 { 0x1eea, {1, {0x1eeb}}}, 00710 { 0x1eec, {1, {0x1eed}}}, 00711 { 0x1eee, {1, {0x1eef}}}, 00712 { 0x1ef0, {1, {0x1ef1}}}, 00713 { 0x1ef2, {1, {0x1ef3}}}, 00714 { 0x1ef4, {1, {0x1ef5}}}, 00715 { 0x1ef6, {1, {0x1ef7}}}, 00716 { 0x1ef8, {1, {0x1ef9}}}, 00717 { 0x1f08, {1, {0x1f00}}}, 00718 { 0x1f09, {1, {0x1f01}}}, 00719 { 0x1f0a, {1, {0x1f02}}}, 00720 { 0x1f0b, {1, {0x1f03}}}, 00721 { 0x1f0c, {1, {0x1f04}}}, 00722 { 0x1f0d, {1, {0x1f05}}}, 00723 { 0x1f0e, {1, {0x1f06}}}, 00724 { 0x1f0f, {1, {0x1f07}}}, 00725 { 0x1f18, {1, {0x1f10}}}, 00726 { 0x1f19, {1, {0x1f11}}}, 00727 { 0x1f1a, {1, {0x1f12}}}, 00728 { 0x1f1b, {1, {0x1f13}}}, 00729 { 0x1f1c, {1, {0x1f14}}}, 00730 { 0x1f1d, {1, {0x1f15}}}, 00731 { 0x1f28, {1, {0x1f20}}}, 00732 { 0x1f29, {1, {0x1f21}}}, 00733 { 0x1f2a, {1, {0x1f22}}}, 00734 { 0x1f2b, {1, {0x1f23}}}, 00735 { 0x1f2c, {1, {0x1f24}}}, 00736 { 0x1f2d, {1, {0x1f25}}}, 00737 { 0x1f2e, {1, {0x1f26}}}, 00738 { 0x1f2f, {1, {0x1f27}}}, 00739 { 0x1f38, {1, {0x1f30}}}, 00740 { 0x1f39, {1, {0x1f31}}}, 00741 { 0x1f3a, {1, {0x1f32}}}, 00742 { 0x1f3b, {1, {0x1f33}}}, 00743 { 0x1f3c, {1, {0x1f34}}}, 00744 { 0x1f3d, {1, {0x1f35}}}, 00745 { 0x1f3e, {1, {0x1f36}}}, 00746 { 0x1f3f, {1, {0x1f37}}}, 00747 { 0x1f48, {1, {0x1f40}}}, 00748 { 0x1f49, {1, {0x1f41}}}, 00749 { 0x1f4a, {1, {0x1f42}}}, 00750 { 0x1f4b, {1, {0x1f43}}}, 00751 { 0x1f4c, {1, {0x1f44}}}, 00752 { 0x1f4d, {1, {0x1f45}}}, 00753 { 0x1f50, {2, {0x03c5, 0x0313}}}, 00754 { 0x1f52, {3, {0x03c5, 0x0313, 0x0300}}}, 00755 { 0x1f54, {3, {0x03c5, 0x0313, 0x0301}}}, 00756 { 0x1f56, {3, {0x03c5, 0x0313, 0x0342}}}, 00757 { 0x1f59, {1, {0x1f51}}}, 00758 { 0x1f5b, {1, {0x1f53}}}, 00759 { 0x1f5d, {1, {0x1f55}}}, 00760 { 0x1f5f, {1, {0x1f57}}}, 00761 { 0x1f68, {1, {0x1f60}}}, 00762 { 0x1f69, {1, {0x1f61}}}, 00763 { 0x1f6a, {1, {0x1f62}}}, 00764 { 0x1f6b, {1, {0x1f63}}}, 00765 { 0x1f6c, {1, {0x1f64}}}, 00766 { 0x1f6d, {1, {0x1f65}}}, 00767 { 0x1f6e, {1, {0x1f66}}}, 00768 { 0x1f6f, {1, {0x1f67}}}, 00769 { 0x1f80, {2, {0x1f00, 0x03b9}}}, 00770 { 0x1f81, {2, {0x1f01, 0x03b9}}}, 00771 { 0x1f82, {2, {0x1f02, 0x03b9}}}, 00772 { 0x1f83, {2, {0x1f03, 0x03b9}}}, 00773 { 0x1f84, {2, {0x1f04, 0x03b9}}}, 00774 { 0x1f85, {2, {0x1f05, 0x03b9}}}, 00775 { 0x1f86, {2, {0x1f06, 0x03b9}}}, 00776 { 0x1f87, {2, {0x1f07, 0x03b9}}}, 00777 { 0x1f88, {2, {0x1f00, 0x03b9}}}, 00778 { 0x1f89, {2, {0x1f01, 0x03b9}}}, 00779 { 0x1f8a, {2, {0x1f02, 0x03b9}}}, 00780 { 0x1f8b, {2, {0x1f03, 0x03b9}}}, 00781 { 0x1f8c, {2, {0x1f04, 0x03b9}}}, 00782 { 0x1f8d, {2, {0x1f05, 0x03b9}}}, 00783 { 0x1f8e, {2, {0x1f06, 0x03b9}}}, 00784 { 0x1f8f, {2, {0x1f07, 0x03b9}}}, 00785 { 0x1f90, {2, {0x1f20, 0x03b9}}}, 00786 { 0x1f91, {2, {0x1f21, 0x03b9}}}, 00787 { 0x1f92, {2, {0x1f22, 0x03b9}}}, 00788 { 0x1f93, {2, {0x1f23, 0x03b9}}}, 00789 { 0x1f94, {2, {0x1f24, 0x03b9}}}, 00790 { 0x1f95, {2, {0x1f25, 0x03b9}}}, 00791 { 0x1f96, {2, {0x1f26, 0x03b9}}}, 00792 { 0x1f97, {2, {0x1f27, 0x03b9}}}, 00793 { 0x1f98, {2, {0x1f20, 0x03b9}}}, 00794 { 0x1f99, {2, {0x1f21, 0x03b9}}}, 00795 { 0x1f9a, {2, {0x1f22, 0x03b9}}}, 00796 { 0x1f9b, {2, {0x1f23, 0x03b9}}}, 00797 { 0x1f9c, {2, {0x1f24, 0x03b9}}}, 00798 { 0x1f9d, {2, {0x1f25, 0x03b9}}}, 00799 { 0x1f9e, {2, {0x1f26, 0x03b9}}}, 00800 { 0x1f9f, {2, {0x1f27, 0x03b9}}}, 00801 { 0x1fa0, {2, {0x1f60, 0x03b9}}}, 00802 { 0x1fa1, {2, {0x1f61, 0x03b9}}}, 00803 { 0x1fa2, {2, {0x1f62, 0x03b9}}}, 00804 { 0x1fa3, {2, {0x1f63, 0x03b9}}}, 00805 { 0x1fa4, {2, {0x1f64, 0x03b9}}}, 00806 { 0x1fa5, {2, {0x1f65, 0x03b9}}}, 00807 { 0x1fa6, {2, {0x1f66, 0x03b9}}}, 00808 { 0x1fa7, {2, {0x1f67, 0x03b9}}}, 00809 { 0x1fa8, {2, {0x1f60, 0x03b9}}}, 00810 { 0x1fa9, {2, {0x1f61, 0x03b9}}}, 00811 { 0x1faa, {2, {0x1f62, 0x03b9}}}, 00812 { 0x1fab, {2, {0x1f63, 0x03b9}}}, 00813 { 0x1fac, {2, {0x1f64, 0x03b9}}}, 00814 { 0x1fad, {2, {0x1f65, 0x03b9}}}, 00815 { 0x1fae, {2, {0x1f66, 0x03b9}}}, 00816 { 0x1faf, {2, {0x1f67, 0x03b9}}}, 00817 { 0x1fb2, {2, {0x1f70, 0x03b9}}}, 00818 { 0x1fb3, {2, {0x03b1, 0x03b9}}}, 00819 { 0x1fb4, {2, {0x03ac, 0x03b9}}}, 00820 { 0x1fb6, {2, {0x03b1, 0x0342}}}, 00821 { 0x1fb7, {3, {0x03b1, 0x0342, 0x03b9}}}, 00822 { 0x1fb8, {1, {0x1fb0}}}, 00823 { 0x1fb9, {1, {0x1fb1}}}, 00824 { 0x1fba, {1, {0x1f70}}}, 00825 { 0x1fbb, {1, {0x1f71}}}, 00826 { 0x1fbc, {2, {0x03b1, 0x03b9}}}, 00827 { 0x1fbe, {1, {0x03b9}}}, 00828 { 0x1fc2, {2, {0x1f74, 0x03b9}}}, 00829 { 0x1fc3, {2, {0x03b7, 0x03b9}}}, 00830 { 0x1fc4, {2, {0x03ae, 0x03b9}}}, 00831 { 0x1fc6, {2, {0x03b7, 0x0342}}}, 00832 { 0x1fc7, {3, {0x03b7, 0x0342, 0x03b9}}}, 00833 { 0x1fc8, {1, {0x1f72}}}, 00834 { 0x1fc9, {1, {0x1f73}}}, 00835 { 0x1fca, {1, {0x1f74}}}, 00836 { 0x1fcb, {1, {0x1f75}}}, 00837 { 0x1fcc, {2, {0x03b7, 0x03b9}}}, 00838 { 0x1fd2, {3, {0x03b9, 0x0308, 0x0300}}}, 00839 { 0x1fd3, {3, {0x03b9, 0x0308, 0x0301}}}, 00840 { 0x1fd6, {2, {0x03b9, 0x0342}}}, 00841 { 0x1fd7, {3, {0x03b9, 0x0308, 0x0342}}}, 00842 { 0x1fd8, {1, {0x1fd0}}}, 00843 { 0x1fd9, {1, {0x1fd1}}}, 00844 { 0x1fda, {1, {0x1f76}}}, 00845 { 0x1fdb, {1, {0x1f77}}}, 00846 { 0x1fe2, {3, {0x03c5, 0x0308, 0x0300}}}, 00847 { 0x1fe3, {3, {0x03c5, 0x0308, 0x0301}}}, 00848 { 0x1fe4, {2, {0x03c1, 0x0313}}}, 00849 { 0x1fe6, {2, {0x03c5, 0x0342}}}, 00850 { 0x1fe7, {3, {0x03c5, 0x0308, 0x0342}}}, 00851 { 0x1fe8, {1, {0x1fe0}}}, 00852 { 0x1fe9, {1, {0x1fe1}}}, 00853 { 0x1fea, {1, {0x1f7a}}}, 00854 { 0x1feb, {1, {0x1f7b}}}, 00855 { 0x1fec, {1, {0x1fe5}}}, 00856 { 0x1ff2, {2, {0x1f7c, 0x03b9}}}, 00857 { 0x1ff3, {2, {0x03c9, 0x03b9}}}, 00858 { 0x1ff4, {2, {0x03ce, 0x03b9}}}, 00859 { 0x1ff6, {2, {0x03c9, 0x0342}}}, 00860 { 0x1ff7, {3, {0x03c9, 0x0342, 0x03b9}}}, 00861 { 0x1ff8, {1, {0x1f78}}}, 00862 { 0x1ff9, {1, {0x1f79}}}, 00863 { 0x1ffa, {1, {0x1f7c}}}, 00864 { 0x1ffb, {1, {0x1f7d}}}, 00865 { 0x1ffc, {2, {0x03c9, 0x03b9}}}, 00866 { 0x2126, {1, {0x03c9}}}, 00867 { 0x212a, {1, {0x006b}}}, 00868 { 0x212b, {1, {0x00e5}}}, 00869 { 0x2160, {1, {0x2170}}}, 00870 { 0x2161, {1, {0x2171}}}, 00871 { 0x2162, {1, {0x2172}}}, 00872 { 0x2163, {1, {0x2173}}}, 00873 { 0x2164, {1, {0x2174}}}, 00874 { 0x2165, {1, {0x2175}}}, 00875 { 0x2166, {1, {0x2176}}}, 00876 { 0x2167, {1, {0x2177}}}, 00877 { 0x2168, {1, {0x2178}}}, 00878 { 0x2169, {1, {0x2179}}}, 00879 { 0x216a, {1, {0x217a}}}, 00880 { 0x216b, {1, {0x217b}}}, 00881 { 0x216c, {1, {0x217c}}}, 00882 { 0x216d, {1, {0x217d}}}, 00883 { 0x216e, {1, {0x217e}}}, 00884 { 0x216f, {1, {0x217f}}}, 00885 { 0x24b6, {1, {0x24d0}}}, 00886 { 0x24b7, {1, {0x24d1}}}, 00887 { 0x24b8, {1, {0x24d2}}}, 00888 { 0x24b9, {1, {0x24d3}}}, 00889 { 0x24ba, {1, {0x24d4}}}, 00890 { 0x24bb, {1, {0x24d5}}}, 00891 { 0x24bc, {1, {0x24d6}}}, 00892 { 0x24bd, {1, {0x24d7}}}, 00893 { 0x24be, {1, {0x24d8}}}, 00894 { 0x24bf, {1, {0x24d9}}}, 00895 { 0x24c0, {1, {0x24da}}}, 00896 { 0x24c1, {1, {0x24db}}}, 00897 { 0x24c2, {1, {0x24dc}}}, 00898 { 0x24c3, {1, {0x24dd}}}, 00899 { 0x24c4, {1, {0x24de}}}, 00900 { 0x24c5, {1, {0x24df}}}, 00901 { 0x24c6, {1, {0x24e0}}}, 00902 { 0x24c7, {1, {0x24e1}}}, 00903 { 0x24c8, {1, {0x24e2}}}, 00904 { 0x24c9, {1, {0x24e3}}}, 00905 { 0x24ca, {1, {0x24e4}}}, 00906 { 0x24cb, {1, {0x24e5}}}, 00907 { 0x24cc, {1, {0x24e6}}}, 00908 { 0x24cd, {1, {0x24e7}}}, 00909 { 0x24ce, {1, {0x24e8}}}, 00910 { 0x24cf, {1, {0x24e9}}}, 00911 { 0x2c00, {1, {0x2c30}}}, 00912 { 0x2c01, {1, {0x2c31}}}, 00913 { 0x2c02, {1, {0x2c32}}}, 00914 { 0x2c03, {1, {0x2c33}}}, 00915 { 0x2c04, {1, {0x2c34}}}, 00916 { 0x2c05, {1, {0x2c35}}}, 00917 { 0x2c06, {1, {0x2c36}}}, 00918 { 0x2c07, {1, {0x2c37}}}, 00919 { 0x2c08, {1, {0x2c38}}}, 00920 { 0x2c09, {1, {0x2c39}}}, 00921 { 0x2c0a, {1, {0x2c3a}}}, 00922 { 0x2c0b, {1, {0x2c3b}}}, 00923 { 0x2c0c, {1, {0x2c3c}}}, 00924 { 0x2c0d, {1, {0x2c3d}}}, 00925 { 0x2c0e, {1, {0x2c3e}}}, 00926 { 0x2c0f, {1, {0x2c3f}}}, 00927 { 0x2c10, {1, {0x2c40}}}, 00928 { 0x2c11, {1, {0x2c41}}}, 00929 { 0x2c12, {1, {0x2c42}}}, 00930 { 0x2c13, {1, {0x2c43}}}, 00931 { 0x2c14, {1, {0x2c44}}}, 00932 { 0x2c15, {1, {0x2c45}}}, 00933 { 0x2c16, {1, {0x2c46}}}, 00934 { 0x2c17, {1, {0x2c47}}}, 00935 { 0x2c18, {1, {0x2c48}}}, 00936 { 0x2c19, {1, {0x2c49}}}, 00937 { 0x2c1a, {1, {0x2c4a}}}, 00938 { 0x2c1b, {1, {0x2c4b}}}, 00939 { 0x2c1c, {1, {0x2c4c}}}, 00940 { 0x2c1d, {1, {0x2c4d}}}, 00941 { 0x2c1e, {1, {0x2c4e}}}, 00942 { 0x2c1f, {1, {0x2c4f}}}, 00943 { 0x2c20, {1, {0x2c50}}}, 00944 { 0x2c21, {1, {0x2c51}}}, 00945 { 0x2c22, {1, {0x2c52}}}, 00946 { 0x2c23, {1, {0x2c53}}}, 00947 { 0x2c24, {1, {0x2c54}}}, 00948 { 0x2c25, {1, {0x2c55}}}, 00949 { 0x2c26, {1, {0x2c56}}}, 00950 { 0x2c27, {1, {0x2c57}}}, 00951 { 0x2c28, {1, {0x2c58}}}, 00952 { 0x2c29, {1, {0x2c59}}}, 00953 { 0x2c2a, {1, {0x2c5a}}}, 00954 { 0x2c2b, {1, {0x2c5b}}}, 00955 { 0x2c2c, {1, {0x2c5c}}}, 00956 { 0x2c2d, {1, {0x2c5d}}}, 00957 { 0x2c2e, {1, {0x2c5e}}}, 00958 { 0x2c80, {1, {0x2c81}}}, 00959 { 0x2c82, {1, {0x2c83}}}, 00960 { 0x2c84, {1, {0x2c85}}}, 00961 { 0x2c86, {1, {0x2c87}}}, 00962 { 0x2c88, {1, {0x2c89}}}, 00963 { 0x2c8a, {1, {0x2c8b}}}, 00964 { 0x2c8c, {1, {0x2c8d}}}, 00965 { 0x2c8e, {1, {0x2c8f}}}, 00966 { 0x2c90, {1, {0x2c91}}}, 00967 { 0x2c92, {1, {0x2c93}}}, 00968 { 0x2c94, {1, {0x2c95}}}, 00969 { 0x2c96, {1, {0x2c97}}}, 00970 { 0x2c98, {1, {0x2c99}}}, 00971 { 0x2c9a, {1, {0x2c9b}}}, 00972 { 0x2c9c, {1, {0x2c9d}}}, 00973 { 0x2c9e, {1, {0x2c9f}}}, 00974 { 0x2ca0, {1, {0x2ca1}}}, 00975 { 0x2ca2, {1, {0x2ca3}}}, 00976 { 0x2ca4, {1, {0x2ca5}}}, 00977 { 0x2ca6, {1, {0x2ca7}}}, 00978 { 0x2ca8, {1, {0x2ca9}}}, 00979 { 0x2caa, {1, {0x2cab}}}, 00980 { 0x2cac, {1, {0x2cad}}}, 00981 { 0x2cae, {1, {0x2caf}}}, 00982 { 0x2cb0, {1, {0x2cb1}}}, 00983 { 0x2cb2, {1, {0x2cb3}}}, 00984 { 0x2cb4, {1, {0x2cb5}}}, 00985 { 0x2cb6, {1, {0x2cb7}}}, 00986 { 0x2cb8, {1, {0x2cb9}}}, 00987 { 0x2cba, {1, {0x2cbb}}}, 00988 { 0x2cbc, {1, {0x2cbd}}}, 00989 { 0x2cbe, {1, {0x2cbf}}}, 00990 { 0x2cc0, {1, {0x2cc1}}}, 00991 { 0x2cc2, {1, {0x2cc3}}}, 00992 { 0x2cc4, {1, {0x2cc5}}}, 00993 { 0x2cc6, {1, {0x2cc7}}}, 00994 { 0x2cc8, {1, {0x2cc9}}}, 00995 { 0x2cca, {1, {0x2ccb}}}, 00996 { 0x2ccc, {1, {0x2ccd}}}, 00997 { 0x2cce, {1, {0x2ccf}}}, 00998 { 0x2cd0, {1, {0x2cd1}}}, 00999 { 0x2cd2, {1, {0x2cd3}}}, 01000 { 0x2cd4, {1, {0x2cd5}}}, 01001 { 0x2cd6, {1, {0x2cd7}}}, 01002 { 0x2cd8, {1, {0x2cd9}}}, 01003 { 0x2cda, {1, {0x2cdb}}}, 01004 { 0x2cdc, {1, {0x2cdd}}}, 01005 { 0x2cde, {1, {0x2cdf}}}, 01006 { 0x2ce0, {1, {0x2ce1}}}, 01007 { 0x2ce2, {1, {0x2ce3}}}, 01008 { 0xfb00, {2, {0x0066, 0x0066}}}, 01009 { 0xfb01, {2, {0x0066, 0x0069}}}, 01010 { 0xfb02, {2, {0x0066, 0x006c}}}, 01011 { 0xfb03, {3, {0x0066, 0x0066, 0x0069}}}, 01012 { 0xfb04, {3, {0x0066, 0x0066, 0x006c}}}, 01013 { 0xfb05, {2, {0x0073, 0x0074}}}, 01014 { 0xfb06, {2, {0x0073, 0x0074}}}, 01015 { 0xfb13, {2, {0x0574, 0x0576}}}, 01016 { 0xfb14, {2, {0x0574, 0x0565}}}, 01017 { 0xfb15, {2, {0x0574, 0x056b}}}, 01018 { 0xfb16, {2, {0x057e, 0x0576}}}, 01019 { 0xfb17, {2, {0x0574, 0x056d}}}, 01020 { 0xff21, {1, {0xff41}}}, 01021 { 0xff22, {1, {0xff42}}}, 01022 { 0xff23, {1, {0xff43}}}, 01023 { 0xff24, {1, {0xff44}}}, 01024 { 0xff25, {1, {0xff45}}}, 01025 { 0xff26, {1, {0xff46}}}, 01026 { 0xff27, {1, {0xff47}}}, 01027 { 0xff28, {1, {0xff48}}}, 01028 { 0xff29, {1, {0xff49}}}, 01029 { 0xff2a, {1, {0xff4a}}}, 01030 { 0xff2b, {1, {0xff4b}}}, 01031 { 0xff2c, {1, {0xff4c}}}, 01032 { 0xff2d, {1, {0xff4d}}}, 01033 { 0xff2e, {1, {0xff4e}}}, 01034 { 0xff2f, {1, {0xff4f}}}, 01035 { 0xff30, {1, {0xff50}}}, 01036 { 0xff31, {1, {0xff51}}}, 01037 { 0xff32, {1, {0xff52}}}, 01038 { 0xff33, {1, {0xff53}}}, 01039 { 0xff34, {1, {0xff54}}}, 01040 { 0xff35, {1, {0xff55}}}, 01041 { 0xff36, {1, {0xff56}}}, 01042 { 0xff37, {1, {0xff57}}}, 01043 { 0xff38, {1, {0xff58}}}, 01044 { 0xff39, {1, {0xff59}}}, 01045 { 0xff3a, {1, {0xff5a}}}, 01046 { 0x10400, {1, {0x10428}}}, 01047 { 0x10401, {1, {0x10429}}}, 01048 { 0x10402, {1, {0x1042a}}}, 01049 { 0x10403, {1, {0x1042b}}}, 01050 { 0x10404, {1, {0x1042c}}}, 01051 { 0x10405, {1, {0x1042d}}}, 01052 { 0x10406, {1, {0x1042e}}}, 01053 { 0x10407, {1, {0x1042f}}}, 01054 { 0x10408, {1, {0x10430}}}, 01055 { 0x10409, {1, {0x10431}}}, 01056 { 0x1040a, {1, {0x10432}}}, 01057 { 0x1040b, {1, {0x10433}}}, 01058 { 0x1040c, {1, {0x10434}}}, 01059 { 0x1040d, {1, {0x10435}}}, 01060 { 0x1040e, {1, {0x10436}}}, 01061 { 0x1040f, {1, {0x10437}}}, 01062 { 0x10410, {1, {0x10438}}}, 01063 { 0x10411, {1, {0x10439}}}, 01064 { 0x10412, {1, {0x1043a}}}, 01065 { 0x10413, {1, {0x1043b}}}, 01066 { 0x10414, {1, {0x1043c}}}, 01067 { 0x10415, {1, {0x1043d}}}, 01068 { 0x10416, {1, {0x1043e}}}, 01069 { 0x10417, {1, {0x1043f}}}, 01070 { 0x10418, {1, {0x10440}}}, 01071 { 0x10419, {1, {0x10441}}}, 01072 { 0x1041a, {1, {0x10442}}}, 01073 { 0x1041b, {1, {0x10443}}}, 01074 { 0x1041c, {1, {0x10444}}}, 01075 { 0x1041d, {1, {0x10445}}}, 01076 { 0x1041e, {1, {0x10446}}}, 01077 { 0x1041f, {1, {0x10447}}}, 01078 { 0x10420, {1, {0x10448}}}, 01079 { 0x10421, {1, {0x10449}}}, 01080 { 0x10422, {1, {0x1044a}}}, 01081 { 0x10423, {1, {0x1044b}}}, 01082 { 0x10424, {1, {0x1044c}}}, 01083 { 0x10425, {1, {0x1044d}}}, 01084 { 0x10426, {1, {0x1044e}}}, 01085 { 0x10427, {1, {0x1044f}}} 01086 }; 01087 01088 static const CaseFold_11_Type CaseFold_Locale[] = { 01089 { 0x0049, {1, {0x0069}}}, 01090 { 0x0130, {2, {0x0069, 0x0307}}} 01091 }; 01092 01093 static const CaseUnfold_11_Type CaseUnfold_11[] = { 01094 { 0x0061, {1, {0x0041 }}}, 01095 { 0x0062, {1, {0x0042 }}}, 01096 { 0x0063, {1, {0x0043 }}}, 01097 { 0x0064, {1, {0x0044 }}}, 01098 { 0x0065, {1, {0x0045 }}}, 01099 { 0x0066, {1, {0x0046 }}}, 01100 { 0x0067, {1, {0x0047 }}}, 01101 { 0x0068, {1, {0x0048 }}}, 01102 { 0x006a, {1, {0x004a }}}, 01103 { 0x006b, {2, {0x212a, 0x004b }}}, 01104 { 0x006c, {1, {0x004c }}}, 01105 { 0x006d, {1, {0x004d }}}, 01106 { 0x006e, {1, {0x004e }}}, 01107 { 0x006f, {1, {0x004f }}}, 01108 { 0x0070, {1, {0x0050 }}}, 01109 { 0x0071, {1, {0x0051 }}}, 01110 { 0x0072, {1, {0x0052 }}}, 01111 { 0x0073, {2, {0x0053, 0x017f }}}, 01112 { 0x0074, {1, {0x0054 }}}, 01113 { 0x0075, {1, {0x0055 }}}, 01114 { 0x0076, {1, {0x0056 }}}, 01115 { 0x0077, {1, {0x0057 }}}, 01116 { 0x0078, {1, {0x0058 }}}, 01117 { 0x0079, {1, {0x0059 }}}, 01118 { 0x007a, {1, {0x005a }}}, 01119 { 0x00e0, {1, {0x00c0 }}}, 01120 { 0x00e1, {1, {0x00c1 }}}, 01121 { 0x00e2, {1, {0x00c2 }}}, 01122 { 0x00e3, {1, {0x00c3 }}}, 01123 { 0x00e4, {1, {0x00c4 }}}, 01124 { 0x00e5, {2, {0x212b, 0x00c5 }}}, 01125 { 0x00e6, {1, {0x00c6 }}}, 01126 { 0x00e7, {1, {0x00c7 }}}, 01127 { 0x00e8, {1, {0x00c8 }}}, 01128 { 0x00e9, {1, {0x00c9 }}}, 01129 { 0x00ea, {1, {0x00ca }}}, 01130 { 0x00eb, {1, {0x00cb }}}, 01131 { 0x00ec, {1, {0x00cc }}}, 01132 { 0x00ed, {1, {0x00cd }}}, 01133 { 0x00ee, {1, {0x00ce }}}, 01134 { 0x00ef, {1, {0x00cf }}}, 01135 { 0x00f0, {1, {0x00d0 }}}, 01136 { 0x00f1, {1, {0x00d1 }}}, 01137 { 0x00f2, {1, {0x00d2 }}}, 01138 { 0x00f3, {1, {0x00d3 }}}, 01139 { 0x00f4, {1, {0x00d4 }}}, 01140 { 0x00f5, {1, {0x00d5 }}}, 01141 { 0x00f6, {1, {0x00d6 }}}, 01142 { 0x00f8, {1, {0x00d8 }}}, 01143 { 0x00f9, {1, {0x00d9 }}}, 01144 { 0x00fa, {1, {0x00da }}}, 01145 { 0x00fb, {1, {0x00db }}}, 01146 { 0x00fc, {1, {0x00dc }}}, 01147 { 0x00fd, {1, {0x00dd }}}, 01148 { 0x00fe, {1, {0x00de }}}, 01149 { 0x00ff, {1, {0x0178 }}}, 01150 { 0x0101, {1, {0x0100 }}}, 01151 { 0x0103, {1, {0x0102 }}}, 01152 { 0x0105, {1, {0x0104 }}}, 01153 { 0x0107, {1, {0x0106 }}}, 01154 { 0x0109, {1, {0x0108 }}}, 01155 { 0x010b, {1, {0x010a }}}, 01156 { 0x010d, {1, {0x010c }}}, 01157 { 0x010f, {1, {0x010e }}}, 01158 { 0x0111, {1, {0x0110 }}}, 01159 { 0x0113, {1, {0x0112 }}}, 01160 { 0x0115, {1, {0x0114 }}}, 01161 { 0x0117, {1, {0x0116 }}}, 01162 { 0x0119, {1, {0x0118 }}}, 01163 { 0x011b, {1, {0x011a }}}, 01164 { 0x011d, {1, {0x011c }}}, 01165 { 0x011f, {1, {0x011e }}}, 01166 { 0x0121, {1, {0x0120 }}}, 01167 { 0x0123, {1, {0x0122 }}}, 01168 { 0x0125, {1, {0x0124 }}}, 01169 { 0x0127, {1, {0x0126 }}}, 01170 { 0x0129, {1, {0x0128 }}}, 01171 { 0x012b, {1, {0x012a }}}, 01172 { 0x012d, {1, {0x012c }}}, 01173 { 0x012f, {1, {0x012e }}}, 01174 { 0x0133, {1, {0x0132 }}}, 01175 { 0x0135, {1, {0x0134 }}}, 01176 { 0x0137, {1, {0x0136 }}}, 01177 { 0x013a, {1, {0x0139 }}}, 01178 { 0x013c, {1, {0x013b }}}, 01179 { 0x013e, {1, {0x013d }}}, 01180 { 0x0140, {1, {0x013f }}}, 01181 { 0x0142, {1, {0x0141 }}}, 01182 { 0x0144, {1, {0x0143 }}}, 01183 { 0x0146, {1, {0x0145 }}}, 01184 { 0x0148, {1, {0x0147 }}}, 01185 { 0x014b, {1, {0x014a }}}, 01186 { 0x014d, {1, {0x014c }}}, 01187 { 0x014f, {1, {0x014e }}}, 01188 { 0x0151, {1, {0x0150 }}}, 01189 { 0x0153, {1, {0x0152 }}}, 01190 { 0x0155, {1, {0x0154 }}}, 01191 { 0x0157, {1, {0x0156 }}}, 01192 { 0x0159, {1, {0x0158 }}}, 01193 { 0x015b, {1, {0x015a }}}, 01194 { 0x015d, {1, {0x015c }}}, 01195 { 0x015f, {1, {0x015e }}}, 01196 { 0x0161, {1, {0x0160 }}}, 01197 { 0x0163, {1, {0x0162 }}}, 01198 { 0x0165, {1, {0x0164 }}}, 01199 { 0x0167, {1, {0x0166 }}}, 01200 { 0x0169, {1, {0x0168 }}}, 01201 { 0x016b, {1, {0x016a }}}, 01202 { 0x016d, {1, {0x016c }}}, 01203 { 0x016f, {1, {0x016e }}}, 01204 { 0x0171, {1, {0x0170 }}}, 01205 { 0x0173, {1, {0x0172 }}}, 01206 { 0x0175, {1, {0x0174 }}}, 01207 { 0x0177, {1, {0x0176 }}}, 01208 { 0x017a, {1, {0x0179 }}}, 01209 { 0x017c, {1, {0x017b }}}, 01210 { 0x017e, {1, {0x017d }}}, 01211 { 0x0183, {1, {0x0182 }}}, 01212 { 0x0185, {1, {0x0184 }}}, 01213 { 0x0188, {1, {0x0187 }}}, 01214 { 0x018c, {1, {0x018b }}}, 01215 { 0x0192, {1, {0x0191 }}}, 01216 { 0x0195, {1, {0x01f6 }}}, 01217 { 0x0199, {1, {0x0198 }}}, 01218 { 0x019a, {1, {0x023d }}}, 01219 { 0x019e, {1, {0x0220 }}}, 01220 { 0x01a1, {1, {0x01a0 }}}, 01221 { 0x01a3, {1, {0x01a2 }}}, 01222 { 0x01a5, {1, {0x01a4 }}}, 01223 { 0x01a8, {1, {0x01a7 }}}, 01224 { 0x01ad, {1, {0x01ac }}}, 01225 { 0x01b0, {1, {0x01af }}}, 01226 { 0x01b4, {1, {0x01b3 }}}, 01227 { 0x01b6, {1, {0x01b5 }}}, 01228 { 0x01b9, {1, {0x01b8 }}}, 01229 { 0x01bd, {1, {0x01bc }}}, 01230 { 0x01bf, {1, {0x01f7 }}}, 01231 { 0x01c6, {2, {0x01c4, 0x01c5 }}}, 01232 { 0x01c9, {2, {0x01c7, 0x01c8 }}}, 01233 { 0x01cc, {2, {0x01ca, 0x01cb }}}, 01234 { 0x01ce, {1, {0x01cd }}}, 01235 { 0x01d0, {1, {0x01cf }}}, 01236 { 0x01d2, {1, {0x01d1 }}}, 01237 { 0x01d4, {1, {0x01d3 }}}, 01238 { 0x01d6, {1, {0x01d5 }}}, 01239 { 0x01d8, {1, {0x01d7 }}}, 01240 { 0x01da, {1, {0x01d9 }}}, 01241 { 0x01dc, {1, {0x01db }}}, 01242 { 0x01dd, {1, {0x018e }}}, 01243 { 0x01df, {1, {0x01de }}}, 01244 { 0x01e1, {1, {0x01e0 }}}, 01245 { 0x01e3, {1, {0x01e2 }}}, 01246 { 0x01e5, {1, {0x01e4 }}}, 01247 { 0x01e7, {1, {0x01e6 }}}, 01248 { 0x01e9, {1, {0x01e8 }}}, 01249 { 0x01eb, {1, {0x01ea }}}, 01250 { 0x01ed, {1, {0x01ec }}}, 01251 { 0x01ef, {1, {0x01ee }}}, 01252 { 0x01f3, {2, {0x01f1, 0x01f2 }}}, 01253 { 0x01f5, {1, {0x01f4 }}}, 01254 { 0x01f9, {1, {0x01f8 }}}, 01255 { 0x01fb, {1, {0x01fa }}}, 01256 { 0x01fd, {1, {0x01fc }}}, 01257 { 0x01ff, {1, {0x01fe }}}, 01258 { 0x0201, {1, {0x0200 }}}, 01259 { 0x0203, {1, {0x0202 }}}, 01260 { 0x0205, {1, {0x0204 }}}, 01261 { 0x0207, {1, {0x0206 }}}, 01262 { 0x0209, {1, {0x0208 }}}, 01263 { 0x020b, {1, {0x020a }}}, 01264 { 0x020d, {1, {0x020c }}}, 01265 { 0x020f, {1, {0x020e }}}, 01266 { 0x0211, {1, {0x0210 }}}, 01267 { 0x0213, {1, {0x0212 }}}, 01268 { 0x0215, {1, {0x0214 }}}, 01269 { 0x0217, {1, {0x0216 }}}, 01270 { 0x0219, {1, {0x0218 }}}, 01271 { 0x021b, {1, {0x021a }}}, 01272 { 0x021d, {1, {0x021c }}}, 01273 { 0x021f, {1, {0x021e }}}, 01274 { 0x0223, {1, {0x0222 }}}, 01275 { 0x0225, {1, {0x0224 }}}, 01276 { 0x0227, {1, {0x0226 }}}, 01277 { 0x0229, {1, {0x0228 }}}, 01278 { 0x022b, {1, {0x022a }}}, 01279 { 0x022d, {1, {0x022c }}}, 01280 { 0x022f, {1, {0x022e }}}, 01281 { 0x0231, {1, {0x0230 }}}, 01282 { 0x0233, {1, {0x0232 }}}, 01283 { 0x023c, {1, {0x023b }}}, 01284 { 0x0253, {1, {0x0181 }}}, 01285 { 0x0254, {1, {0x0186 }}}, 01286 { 0x0256, {1, {0x0189 }}}, 01287 { 0x0257, {1, {0x018a }}}, 01288 { 0x0259, {1, {0x018f }}}, 01289 { 0x025b, {1, {0x0190 }}}, 01290 { 0x0260, {1, {0x0193 }}}, 01291 { 0x0263, {1, {0x0194 }}}, 01292 { 0x0268, {1, {0x0197 }}}, 01293 { 0x0269, {1, {0x0196 }}}, 01294 { 0x026f, {1, {0x019c }}}, 01295 { 0x0272, {1, {0x019d }}}, 01296 { 0x0275, {1, {0x019f }}}, 01297 { 0x0280, {1, {0x01a6 }}}, 01298 { 0x0283, {1, {0x01a9 }}}, 01299 { 0x0288, {1, {0x01ae }}}, 01300 { 0x028a, {1, {0x01b1 }}}, 01301 { 0x028b, {1, {0x01b2 }}}, 01302 { 0x0292, {1, {0x01b7 }}}, 01303 { 0x0294, {1, {0x0241 }}}, 01304 { 0x03ac, {1, {0x0386 }}}, 01305 { 0x03ad, {1, {0x0388 }}}, 01306 { 0x03ae, {1, {0x0389 }}}, 01307 { 0x03af, {1, {0x038a }}}, 01308 { 0x03b1, {1, {0x0391 }}}, 01309 { 0x03b2, {2, {0x0392, 0x03d0 }}}, 01310 { 0x03b3, {1, {0x0393 }}}, 01311 { 0x03b4, {1, {0x0394 }}}, 01312 { 0x03b5, {2, {0x03f5, 0x0395 }}}, 01313 { 0x03b6, {1, {0x0396 }}}, 01314 { 0x03b7, {1, {0x0397 }}}, 01315 { 0x03b8, {3, {0x03f4, 0x0398, 0x03d1 }}}, 01316 { 0x03b9, {3, {0x1fbe, 0x0399, 0x0345 }}}, 01317 { 0x03ba, {2, {0x03f0, 0x039a }}}, 01318 { 0x03bb, {1, {0x039b }}}, 01319 { 0x03bc, {2, {0x00b5, 0x039c }}}, 01320 { 0x03bd, {1, {0x039d }}}, 01321 { 0x03be, {1, {0x039e }}}, 01322 { 0x03bf, {1, {0x039f }}}, 01323 { 0x03c0, {2, {0x03a0, 0x03d6 }}}, 01324 { 0x03c1, {2, {0x03f1, 0x03a1 }}}, 01325 { 0x03c3, {2, {0x03a3, 0x03c2 }}}, 01326 { 0x03c4, {1, {0x03a4 }}}, 01327 { 0x03c5, {1, {0x03a5 }}}, 01328 { 0x03c6, {2, {0x03a6, 0x03d5 }}}, 01329 { 0x03c7, {1, {0x03a7 }}}, 01330 { 0x03c8, {1, {0x03a8 }}}, 01331 { 0x03c9, {2, {0x03a9, 0x2126 }}}, 01332 { 0x03ca, {1, {0x03aa }}}, 01333 { 0x03cb, {1, {0x03ab }}}, 01334 { 0x03cc, {1, {0x038c }}}, 01335 { 0x03cd, {1, {0x038e }}}, 01336 { 0x03ce, {1, {0x038f }}}, 01337 { 0x03d9, {1, {0x03d8 }}}, 01338 { 0x03db, {1, {0x03da }}}, 01339 { 0x03dd, {1, {0x03dc }}}, 01340 { 0x03df, {1, {0x03de }}}, 01341 { 0x03e1, {1, {0x03e0 }}}, 01342 { 0x03e3, {1, {0x03e2 }}}, 01343 { 0x03e5, {1, {0x03e4 }}}, 01344 { 0x03e7, {1, {0x03e6 }}}, 01345 { 0x03e9, {1, {0x03e8 }}}, 01346 { 0x03eb, {1, {0x03ea }}}, 01347 { 0x03ed, {1, {0x03ec }}}, 01348 { 0x03ef, {1, {0x03ee }}}, 01349 { 0x03f2, {1, {0x03f9 }}}, 01350 { 0x03f8, {1, {0x03f7 }}}, 01351 { 0x03fb, {1, {0x03fa }}}, 01352 { 0x0430, {1, {0x0410 }}}, 01353 { 0x0431, {1, {0x0411 }}}, 01354 { 0x0432, {1, {0x0412 }}}, 01355 { 0x0433, {1, {0x0413 }}}, 01356 { 0x0434, {1, {0x0414 }}}, 01357 { 0x0435, {1, {0x0415 }}}, 01358 { 0x0436, {1, {0x0416 }}}, 01359 { 0x0437, {1, {0x0417 }}}, 01360 { 0x0438, {1, {0x0418 }}}, 01361 { 0x0439, {1, {0x0419 }}}, 01362 { 0x043a, {1, {0x041a }}}, 01363 { 0x043b, {1, {0x041b }}}, 01364 { 0x043c, {1, {0x041c }}}, 01365 { 0x043d, {1, {0x041d }}}, 01366 { 0x043e, {1, {0x041e }}}, 01367 { 0x043f, {1, {0x041f }}}, 01368 { 0x0440, {1, {0x0420 }}}, 01369 { 0x0441, {1, {0x0421 }}}, 01370 { 0x0442, {1, {0x0422 }}}, 01371 { 0x0443, {1, {0x0423 }}}, 01372 { 0x0444, {1, {0x0424 }}}, 01373 { 0x0445, {1, {0x0425 }}}, 01374 { 0x0446, {1, {0x0426 }}}, 01375 { 0x0447, {1, {0x0427 }}}, 01376 { 0x0448, {1, {0x0428 }}}, 01377 { 0x0449, {1, {0x0429 }}}, 01378 { 0x044a, {1, {0x042a }}}, 01379 { 0x044b, {1, {0x042b }}}, 01380 { 0x044c, {1, {0x042c }}}, 01381 { 0x044d, {1, {0x042d }}}, 01382 { 0x044e, {1, {0x042e }}}, 01383 { 0x044f, {1, {0x042f }}}, 01384 { 0x0450, {1, {0x0400 }}}, 01385 { 0x0451, {1, {0x0401 }}}, 01386 { 0x0452, {1, {0x0402 }}}, 01387 { 0x0453, {1, {0x0403 }}}, 01388 { 0x0454, {1, {0x0404 }}}, 01389 { 0x0455, {1, {0x0405 }}}, 01390 { 0x0456, {1, {0x0406 }}}, 01391 { 0x0457, {1, {0x0407 }}}, 01392 { 0x0458, {1, {0x0408 }}}, 01393 { 0x0459, {1, {0x0409 }}}, 01394 { 0x045a, {1, {0x040a }}}, 01395 { 0x045b, {1, {0x040b }}}, 01396 { 0x045c, {1, {0x040c }}}, 01397 { 0x045d, {1, {0x040d }}}, 01398 { 0x045e, {1, {0x040e }}}, 01399 { 0x045f, {1, {0x040f }}}, 01400 { 0x0461, {1, {0x0460 }}}, 01401 { 0x0463, {1, {0x0462 }}}, 01402 { 0x0465, {1, {0x0464 }}}, 01403 { 0x0467, {1, {0x0466 }}}, 01404 { 0x0469, {1, {0x0468 }}}, 01405 { 0x046b, {1, {0x046a }}}, 01406 { 0x046d, {1, {0x046c }}}, 01407 { 0x046f, {1, {0x046e }}}, 01408 { 0x0471, {1, {0x0470 }}}, 01409 { 0x0473, {1, {0x0472 }}}, 01410 { 0x0475, {1, {0x0474 }}}, 01411 { 0x0477, {1, {0x0476 }}}, 01412 { 0x0479, {1, {0x0478 }}}, 01413 { 0x047b, {1, {0x047a }}}, 01414 { 0x047d, {1, {0x047c }}}, 01415 { 0x047f, {1, {0x047e }}}, 01416 { 0x0481, {1, {0x0480 }}}, 01417 { 0x048b, {1, {0x048a }}}, 01418 { 0x048d, {1, {0x048c }}}, 01419 { 0x048f, {1, {0x048e }}}, 01420 { 0x0491, {1, {0x0490 }}}, 01421 { 0x0493, {1, {0x0492 }}}, 01422 { 0x0495, {1, {0x0494 }}}, 01423 { 0x0497, {1, {0x0496 }}}, 01424 { 0x0499, {1, {0x0498 }}}, 01425 { 0x049b, {1, {0x049a }}}, 01426 { 0x049d, {1, {0x049c }}}, 01427 { 0x049f, {1, {0x049e }}}, 01428 { 0x04a1, {1, {0x04a0 }}}, 01429 { 0x04a3, {1, {0x04a2 }}}, 01430 { 0x04a5, {1, {0x04a4 }}}, 01431 { 0x04a7, {1, {0x04a6 }}}, 01432 { 0x04a9, {1, {0x04a8 }}}, 01433 { 0x04ab, {1, {0x04aa }}}, 01434 { 0x04ad, {1, {0x04ac }}}, 01435 { 0x04af, {1, {0x04ae }}}, 01436 { 0x04b1, {1, {0x04b0 }}}, 01437 { 0x04b3, {1, {0x04b2 }}}, 01438 { 0x04b5, {1, {0x04b4 }}}, 01439 { 0x04b7, {1, {0x04b6 }}}, 01440 { 0x04b9, {1, {0x04b8 }}}, 01441 { 0x04bb, {1, {0x04ba }}}, 01442 { 0x04bd, {1, {0x04bc }}}, 01443 { 0x04bf, {1, {0x04be }}}, 01444 { 0x04c2, {1, {0x04c1 }}}, 01445 { 0x04c4, {1, {0x04c3 }}}, 01446 { 0x04c6, {1, {0x04c5 }}}, 01447 { 0x04c8, {1, {0x04c7 }}}, 01448 { 0x04ca, {1, {0x04c9 }}}, 01449 { 0x04cc, {1, {0x04cb }}}, 01450 { 0x04ce, {1, {0x04cd }}}, 01451 { 0x04d1, {1, {0x04d0 }}}, 01452 { 0x04d3, {1, {0x04d2 }}}, 01453 { 0x04d5, {1, {0x04d4 }}}, 01454 { 0x04d7, {1, {0x04d6 }}}, 01455 { 0x04d9, {1, {0x04d8 }}}, 01456 { 0x04db, {1, {0x04da }}}, 01457 { 0x04dd, {1, {0x04dc }}}, 01458 { 0x04df, {1, {0x04de }}}, 01459 { 0x04e1, {1, {0x04e0 }}}, 01460 { 0x04e3, {1, {0x04e2 }}}, 01461 { 0x04e5, {1, {0x04e4 }}}, 01462 { 0x04e7, {1, {0x04e6 }}}, 01463 { 0x04e9, {1, {0x04e8 }}}, 01464 { 0x04eb, {1, {0x04ea }}}, 01465 { 0x04ed, {1, {0x04ec }}}, 01466 { 0x04ef, {1, {0x04ee }}}, 01467 { 0x04f1, {1, {0x04f0 }}}, 01468 { 0x04f3, {1, {0x04f2 }}}, 01469 { 0x04f5, {1, {0x04f4 }}}, 01470 { 0x04f7, {1, {0x04f6 }}}, 01471 { 0x04f9, {1, {0x04f8 }}}, 01472 { 0x0501, {1, {0x0500 }}}, 01473 { 0x0503, {1, {0x0502 }}}, 01474 { 0x0505, {1, {0x0504 }}}, 01475 { 0x0507, {1, {0x0506 }}}, 01476 { 0x0509, {1, {0x0508 }}}, 01477 { 0x050b, {1, {0x050a }}}, 01478 { 0x050d, {1, {0x050c }}}, 01479 { 0x050f, {1, {0x050e }}}, 01480 { 0x0561, {1, {0x0531 }}}, 01481 { 0x0562, {1, {0x0532 }}}, 01482 { 0x0563, {1, {0x0533 }}}, 01483 { 0x0564, {1, {0x0534 }}}, 01484 { 0x0565, {1, {0x0535 }}}, 01485 { 0x0566, {1, {0x0536 }}}, 01486 { 0x0567, {1, {0x0537 }}}, 01487 { 0x0568, {1, {0x0538 }}}, 01488 { 0x0569, {1, {0x0539 }}}, 01489 { 0x056a, {1, {0x053a }}}, 01490 { 0x056b, {1, {0x053b }}}, 01491 { 0x056c, {1, {0x053c }}}, 01492 { 0x056d, {1, {0x053d }}}, 01493 { 0x056e, {1, {0x053e }}}, 01494 { 0x056f, {1, {0x053f }}}, 01495 { 0x0570, {1, {0x0540 }}}, 01496 { 0x0571, {1, {0x0541 }}}, 01497 { 0x0572, {1, {0x0542 }}}, 01498 { 0x0573, {1, {0x0543 }}}, 01499 { 0x0574, {1, {0x0544 }}}, 01500 { 0x0575, {1, {0x0545 }}}, 01501 { 0x0576, {1, {0x0546 }}}, 01502 { 0x0577, {1, {0x0547 }}}, 01503 { 0x0578, {1, {0x0548 }}}, 01504 { 0x0579, {1, {0x0549 }}}, 01505 { 0x057a, {1, {0x054a }}}, 01506 { 0x057b, {1, {0x054b }}}, 01507 { 0x057c, {1, {0x054c }}}, 01508 { 0x057d, {1, {0x054d }}}, 01509 { 0x057e, {1, {0x054e }}}, 01510 { 0x057f, {1, {0x054f }}}, 01511 { 0x0580, {1, {0x0550 }}}, 01512 { 0x0581, {1, {0x0551 }}}, 01513 { 0x0582, {1, {0x0552 }}}, 01514 { 0x0583, {1, {0x0553 }}}, 01515 { 0x0584, {1, {0x0554 }}}, 01516 { 0x0585, {1, {0x0555 }}}, 01517 { 0x0586, {1, {0x0556 }}}, 01518 { 0x1e01, {1, {0x1e00 }}}, 01519 { 0x1e03, {1, {0x1e02 }}}, 01520 { 0x1e05, {1, {0x1e04 }}}, 01521 { 0x1e07, {1, {0x1e06 }}}, 01522 { 0x1e09, {1, {0x1e08 }}}, 01523 { 0x1e0b, {1, {0x1e0a }}}, 01524 { 0x1e0d, {1, {0x1e0c }}}, 01525 { 0x1e0f, {1, {0x1e0e }}}, 01526 { 0x1e11, {1, {0x1e10 }}}, 01527 { 0x1e13, {1, {0x1e12 }}}, 01528 { 0x1e15, {1, {0x1e14 }}}, 01529 { 0x1e17, {1, {0x1e16 }}}, 01530 { 0x1e19, {1, {0x1e18 }}}, 01531 { 0x1e1b, {1, {0x1e1a }}}, 01532 { 0x1e1d, {1, {0x1e1c }}}, 01533 { 0x1e1f, {1, {0x1e1e }}}, 01534 { 0x1e21, {1, {0x1e20 }}}, 01535 { 0x1e23, {1, {0x1e22 }}}, 01536 { 0x1e25, {1, {0x1e24 }}}, 01537 { 0x1e27, {1, {0x1e26 }}}, 01538 { 0x1e29, {1, {0x1e28 }}}, 01539 { 0x1e2b, {1, {0x1e2a }}}, 01540 { 0x1e2d, {1, {0x1e2c }}}, 01541 { 0x1e2f, {1, {0x1e2e }}}, 01542 { 0x1e31, {1, {0x1e30 }}}, 01543 { 0x1e33, {1, {0x1e32 }}}, 01544 { 0x1e35, {1, {0x1e34 }}}, 01545 { 0x1e37, {1, {0x1e36 }}}, 01546 { 0x1e39, {1, {0x1e38 }}}, 01547 { 0x1e3b, {1, {0x1e3a }}}, 01548 { 0x1e3d, {1, {0x1e3c }}}, 01549 { 0x1e3f, {1, {0x1e3e }}}, 01550 { 0x1e41, {1, {0x1e40 }}}, 01551 { 0x1e43, {1, {0x1e42 }}}, 01552 { 0x1e45, {1, {0x1e44 }}}, 01553 { 0x1e47, {1, {0x1e46 }}}, 01554 { 0x1e49, {1, {0x1e48 }}}, 01555 { 0x1e4b, {1, {0x1e4a }}}, 01556 { 0x1e4d, {1, {0x1e4c }}}, 01557 { 0x1e4f, {1, {0x1e4e }}}, 01558 { 0x1e51, {1, {0x1e50 }}}, 01559 { 0x1e53, {1, {0x1e52 }}}, 01560 { 0x1e55, {1, {0x1e54 }}}, 01561 { 0x1e57, {1, {0x1e56 }}}, 01562 { 0x1e59, {1, {0x1e58 }}}, 01563 { 0x1e5b, {1, {0x1e5a }}}, 01564 { 0x1e5d, {1, {0x1e5c }}}, 01565 { 0x1e5f, {1, {0x1e5e }}}, 01566 { 0x1e61, {2, {0x1e9b, 0x1e60 }}}, 01567 { 0x1e63, {1, {0x1e62 }}}, 01568 { 0x1e65, {1, {0x1e64 }}}, 01569 { 0x1e67, {1, {0x1e66 }}}, 01570 { 0x1e69, {1, {0x1e68 }}}, 01571 { 0x1e6b, {1, {0x1e6a }}}, 01572 { 0x1e6d, {1, {0x1e6c }}}, 01573 { 0x1e6f, {1, {0x1e6e }}}, 01574 { 0x1e71, {1, {0x1e70 }}}, 01575 { 0x1e73, {1, {0x1e72 }}}, 01576 { 0x1e75, {1, {0x1e74 }}}, 01577 { 0x1e77, {1, {0x1e76 }}}, 01578 { 0x1e79, {1, {0x1e78 }}}, 01579 { 0x1e7b, {1, {0x1e7a }}}, 01580 { 0x1e7d, {1, {0x1e7c }}}, 01581 { 0x1e7f, {1, {0x1e7e }}}, 01582 { 0x1e81, {1, {0x1e80 }}}, 01583 { 0x1e83, {1, {0x1e82 }}}, 01584 { 0x1e85, {1, {0x1e84 }}}, 01585 { 0x1e87, {1, {0x1e86 }}}, 01586 { 0x1e89, {1, {0x1e88 }}}, 01587 { 0x1e8b, {1, {0x1e8a }}}, 01588 { 0x1e8d, {1, {0x1e8c }}}, 01589 { 0x1e8f, {1, {0x1e8e }}}, 01590 { 0x1e91, {1, {0x1e90 }}}, 01591 { 0x1e93, {1, {0x1e92 }}}, 01592 { 0x1e95, {1, {0x1e94 }}}, 01593 { 0x1ea1, {1, {0x1ea0 }}}, 01594 { 0x1ea3, {1, {0x1ea2 }}}, 01595 { 0x1ea5, {1, {0x1ea4 }}}, 01596 { 0x1ea7, {1, {0x1ea6 }}}, 01597 { 0x1ea9, {1, {0x1ea8 }}}, 01598 { 0x1eab, {1, {0x1eaa }}}, 01599 { 0x1ead, {1, {0x1eac }}}, 01600 { 0x1eaf, {1, {0x1eae }}}, 01601 { 0x1eb1, {1, {0x1eb0 }}}, 01602 { 0x1eb3, {1, {0x1eb2 }}}, 01603 { 0x1eb5, {1, {0x1eb4 }}}, 01604 { 0x1eb7, {1, {0x1eb6 }}}, 01605 { 0x1eb9, {1, {0x1eb8 }}}, 01606 { 0x1ebb, {1, {0x1eba }}}, 01607 { 0x1ebd, {1, {0x1ebc }}}, 01608 { 0x1ebf, {1, {0x1ebe }}}, 01609 { 0x1ec1, {1, {0x1ec0 }}}, 01610 { 0x1ec3, {1, {0x1ec2 }}}, 01611 { 0x1ec5, {1, {0x1ec4 }}}, 01612 { 0x1ec7, {1, {0x1ec6 }}}, 01613 { 0x1ec9, {1, {0x1ec8 }}}, 01614 { 0x1ecb, {1, {0x1eca }}}, 01615 { 0x1ecd, {1, {0x1ecc }}}, 01616 { 0x1ecf, {1, {0x1ece }}}, 01617 { 0x1ed1, {1, {0x1ed0 }}}, 01618 { 0x1ed3, {1, {0x1ed2 }}}, 01619 { 0x1ed5, {1, {0x1ed4 }}}, 01620 { 0x1ed7, {1, {0x1ed6 }}}, 01621 { 0x1ed9, {1, {0x1ed8 }}}, 01622 { 0x1edb, {1, {0x1eda }}}, 01623 { 0x1edd, {1, {0x1edc }}}, 01624 { 0x1edf, {1, {0x1ede }}}, 01625 { 0x1ee1, {1, {0x1ee0 }}}, 01626 { 0x1ee3, {1, {0x1ee2 }}}, 01627 { 0x1ee5, {1, {0x1ee4 }}}, 01628 { 0x1ee7, {1, {0x1ee6 }}}, 01629 { 0x1ee9, {1, {0x1ee8 }}}, 01630 { 0x1eeb, {1, {0x1eea }}}, 01631 { 0x1eed, {1, {0x1eec }}}, 01632 { 0x1eef, {1, {0x1eee }}}, 01633 { 0x1ef1, {1, {0x1ef0 }}}, 01634 { 0x1ef3, {1, {0x1ef2 }}}, 01635 { 0x1ef5, {1, {0x1ef4 }}}, 01636 { 0x1ef7, {1, {0x1ef6 }}}, 01637 { 0x1ef9, {1, {0x1ef8 }}}, 01638 { 0x1f00, {1, {0x1f08 }}}, 01639 { 0x1f01, {1, {0x1f09 }}}, 01640 { 0x1f02, {1, {0x1f0a }}}, 01641 { 0x1f03, {1, {0x1f0b }}}, 01642 { 0x1f04, {1, {0x1f0c }}}, 01643 { 0x1f05, {1, {0x1f0d }}}, 01644 { 0x1f06, {1, {0x1f0e }}}, 01645 { 0x1f07, {1, {0x1f0f }}}, 01646 { 0x1f10, {1, {0x1f18 }}}, 01647 { 0x1f11, {1, {0x1f19 }}}, 01648 { 0x1f12, {1, {0x1f1a }}}, 01649 { 0x1f13, {1, {0x1f1b }}}, 01650 { 0x1f14, {1, {0x1f1c }}}, 01651 { 0x1f15, {1, {0x1f1d }}}, 01652 { 0x1f20, {1, {0x1f28 }}}, 01653 { 0x1f21, {1, {0x1f29 }}}, 01654 { 0x1f22, {1, {0x1f2a }}}, 01655 { 0x1f23, {1, {0x1f2b }}}, 01656 { 0x1f24, {1, {0x1f2c }}}, 01657 { 0x1f25, {1, {0x1f2d }}}, 01658 { 0x1f26, {1, {0x1f2e }}}, 01659 { 0x1f27, {1, {0x1f2f }}}, 01660 { 0x1f30, {1, {0x1f38 }}}, 01661 { 0x1f31, {1, {0x1f39 }}}, 01662 { 0x1f32, {1, {0x1f3a }}}, 01663 { 0x1f33, {1, {0x1f3b }}}, 01664 { 0x1f34, {1, {0x1f3c }}}, 01665 { 0x1f35, {1, {0x1f3d }}}, 01666 { 0x1f36, {1, {0x1f3e }}}, 01667 { 0x1f37, {1, {0x1f3f }}}, 01668 { 0x1f40, {1, {0x1f48 }}}, 01669 { 0x1f41, {1, {0x1f49 }}}, 01670 { 0x1f42, {1, {0x1f4a }}}, 01671 { 0x1f43, {1, {0x1f4b }}}, 01672 { 0x1f44, {1, {0x1f4c }}}, 01673 { 0x1f45, {1, {0x1f4d }}}, 01674 { 0x1f51, {1, {0x1f59 }}}, 01675 { 0x1f53, {1, {0x1f5b }}}, 01676 { 0x1f55, {1, {0x1f5d }}}, 01677 { 0x1f57, {1, {0x1f5f }}}, 01678 { 0x1f60, {1, {0x1f68 }}}, 01679 { 0x1f61, {1, {0x1f69 }}}, 01680 { 0x1f62, {1, {0x1f6a }}}, 01681 { 0x1f63, {1, {0x1f6b }}}, 01682 { 0x1f64, {1, {0x1f6c }}}, 01683 { 0x1f65, {1, {0x1f6d }}}, 01684 { 0x1f66, {1, {0x1f6e }}}, 01685 { 0x1f67, {1, {0x1f6f }}}, 01686 { 0x1f70, {1, {0x1fba }}}, 01687 { 0x1f71, {1, {0x1fbb }}}, 01688 { 0x1f72, {1, {0x1fc8 }}}, 01689 { 0x1f73, {1, {0x1fc9 }}}, 01690 { 0x1f74, {1, {0x1fca }}}, 01691 { 0x1f75, {1, {0x1fcb }}}, 01692 { 0x1f76, {1, {0x1fda }}}, 01693 { 0x1f77, {1, {0x1fdb }}}, 01694 { 0x1f78, {1, {0x1ff8 }}}, 01695 { 0x1f79, {1, {0x1ff9 }}}, 01696 { 0x1f7a, {1, {0x1fea }}}, 01697 { 0x1f7b, {1, {0x1feb }}}, 01698 { 0x1f7c, {1, {0x1ffa }}}, 01699 { 0x1f7d, {1, {0x1ffb }}}, 01700 { 0x1fb0, {1, {0x1fb8 }}}, 01701 { 0x1fb1, {1, {0x1fb9 }}}, 01702 { 0x1fd0, {1, {0x1fd8 }}}, 01703 { 0x1fd1, {1, {0x1fd9 }}}, 01704 { 0x1fe0, {1, {0x1fe8 }}}, 01705 { 0x1fe1, {1, {0x1fe9 }}}, 01706 { 0x1fe5, {1, {0x1fec }}}, 01707 { 0x2170, {1, {0x2160 }}}, 01708 { 0x2171, {1, {0x2161 }}}, 01709 { 0x2172, {1, {0x2162 }}}, 01710 { 0x2173, {1, {0x2163 }}}, 01711 { 0x2174, {1, {0x2164 }}}, 01712 { 0x2175, {1, {0x2165 }}}, 01713 { 0x2176, {1, {0x2166 }}}, 01714 { 0x2177, {1, {0x2167 }}}, 01715 { 0x2178, {1, {0x2168 }}}, 01716 { 0x2179, {1, {0x2169 }}}, 01717 { 0x217a, {1, {0x216a }}}, 01718 { 0x217b, {1, {0x216b }}}, 01719 { 0x217c, {1, {0x216c }}}, 01720 { 0x217d, {1, {0x216d }}}, 01721 { 0x217e, {1, {0x216e }}}, 01722 { 0x217f, {1, {0x216f }}}, 01723 { 0x24d0, {1, {0x24b6 }}}, 01724 { 0x24d1, {1, {0x24b7 }}}, 01725 { 0x24d2, {1, {0x24b8 }}}, 01726 { 0x24d3, {1, {0x24b9 }}}, 01727 { 0x24d4, {1, {0x24ba }}}, 01728 { 0x24d5, {1, {0x24bb }}}, 01729 { 0x24d6, {1, {0x24bc }}}, 01730 { 0x24d7, {1, {0x24bd }}}, 01731 { 0x24d8, {1, {0x24be }}}, 01732 { 0x24d9, {1, {0x24bf }}}, 01733 { 0x24da, {1, {0x24c0 }}}, 01734 { 0x24db, {1, {0x24c1 }}}, 01735 { 0x24dc, {1, {0x24c2 }}}, 01736 { 0x24dd, {1, {0x24c3 }}}, 01737 { 0x24de, {1, {0x24c4 }}}, 01738 { 0x24df, {1, {0x24c5 }}}, 01739 { 0x24e0, {1, {0x24c6 }}}, 01740 { 0x24e1, {1, {0x24c7 }}}, 01741 { 0x24e2, {1, {0x24c8 }}}, 01742 { 0x24e3, {1, {0x24c9 }}}, 01743 { 0x24e4, {1, {0x24ca }}}, 01744 { 0x24e5, {1, {0x24cb }}}, 01745 { 0x24e6, {1, {0x24cc }}}, 01746 { 0x24e7, {1, {0x24cd }}}, 01747 { 0x24e8, {1, {0x24ce }}}, 01748 { 0x24e9, {1, {0x24cf }}}, 01749 { 0x2c30, {1, {0x2c00 }}}, 01750 { 0x2c31, {1, {0x2c01 }}}, 01751 { 0x2c32, {1, {0x2c02 }}}, 01752 { 0x2c33, {1, {0x2c03 }}}, 01753 { 0x2c34, {1, {0x2c04 }}}, 01754 { 0x2c35, {1, {0x2c05 }}}, 01755 { 0x2c36, {1, {0x2c06 }}}, 01756 { 0x2c37, {1, {0x2c07 }}}, 01757 { 0x2c38, {1, {0x2c08 }}}, 01758 { 0x2c39, {1, {0x2c09 }}}, 01759 { 0x2c3a, {1, {0x2c0a }}}, 01760 { 0x2c3b, {1, {0x2c0b }}}, 01761 { 0x2c3c, {1, {0x2c0c }}}, 01762 { 0x2c3d, {1, {0x2c0d }}}, 01763 { 0x2c3e, {1, {0x2c0e }}}, 01764 { 0x2c3f, {1, {0x2c0f }}}, 01765 { 0x2c40, {1, {0x2c10 }}}, 01766 { 0x2c41, {1, {0x2c11 }}}, 01767 { 0x2c42, {1, {0x2c12 }}}, 01768 { 0x2c43, {1, {0x2c13 }}}, 01769 { 0x2c44, {1, {0x2c14 }}}, 01770 { 0x2c45, {1, {0x2c15 }}}, 01771 { 0x2c46, {1, {0x2c16 }}}, 01772 { 0x2c47, {1, {0x2c17 }}}, 01773 { 0x2c48, {1, {0x2c18 }}}, 01774 { 0x2c49, {1, {0x2c19 }}}, 01775 { 0x2c4a, {1, {0x2c1a }}}, 01776 { 0x2c4b, {1, {0x2c1b }}}, 01777 { 0x2c4c, {1, {0x2c1c }}}, 01778 { 0x2c4d, {1, {0x2c1d }}}, 01779 { 0x2c4e, {1, {0x2c1e }}}, 01780 { 0x2c4f, {1, {0x2c1f }}}, 01781 { 0x2c50, {1, {0x2c20 }}}, 01782 { 0x2c51, {1, {0x2c21 }}}, 01783 { 0x2c52, {1, {0x2c22 }}}, 01784 { 0x2c53, {1, {0x2c23 }}}, 01785 { 0x2c54, {1, {0x2c24 }}}, 01786 { 0x2c55, {1, {0x2c25 }}}, 01787 { 0x2c56, {1, {0x2c26 }}}, 01788 { 0x2c57, {1, {0x2c27 }}}, 01789 { 0x2c58, {1, {0x2c28 }}}, 01790 { 0x2c59, {1, {0x2c29 }}}, 01791 { 0x2c5a, {1, {0x2c2a }}}, 01792 { 0x2c5b, {1, {0x2c2b }}}, 01793 { 0x2c5c, {1, {0x2c2c }}}, 01794 { 0x2c5d, {1, {0x2c2d }}}, 01795 { 0x2c5e, {1, {0x2c2e }}}, 01796 { 0x2c81, {1, {0x2c80 }}}, 01797 { 0x2c83, {1, {0x2c82 }}}, 01798 { 0x2c85, {1, {0x2c84 }}}, 01799 { 0x2c87, {1, {0x2c86 }}}, 01800 { 0x2c89, {1, {0x2c88 }}}, 01801 { 0x2c8b, {1, {0x2c8a }}}, 01802 { 0x2c8d, {1, {0x2c8c }}}, 01803 { 0x2c8f, {1, {0x2c8e }}}, 01804 { 0x2c91, {1, {0x2c90 }}}, 01805 { 0x2c93, {1, {0x2c92 }}}, 01806 { 0x2c95, {1, {0x2c94 }}}, 01807 { 0x2c97, {1, {0x2c96 }}}, 01808 { 0x2c99, {1, {0x2c98 }}}, 01809 { 0x2c9b, {1, {0x2c9a }}}, 01810 { 0x2c9d, {1, {0x2c9c }}}, 01811 { 0x2c9f, {1, {0x2c9e }}}, 01812 { 0x2ca1, {1, {0x2ca0 }}}, 01813 { 0x2ca3, {1, {0x2ca2 }}}, 01814 { 0x2ca5, {1, {0x2ca4 }}}, 01815 { 0x2ca7, {1, {0x2ca6 }}}, 01816 { 0x2ca9, {1, {0x2ca8 }}}, 01817 { 0x2cab, {1, {0x2caa }}}, 01818 { 0x2cad, {1, {0x2cac }}}, 01819 { 0x2caf, {1, {0x2cae }}}, 01820 { 0x2cb1, {1, {0x2cb0 }}}, 01821 { 0x2cb3, {1, {0x2cb2 }}}, 01822 { 0x2cb5, {1, {0x2cb4 }}}, 01823 { 0x2cb7, {1, {0x2cb6 }}}, 01824 { 0x2cb9, {1, {0x2cb8 }}}, 01825 { 0x2cbb, {1, {0x2cba }}}, 01826 { 0x2cbd, {1, {0x2cbc }}}, 01827 { 0x2cbf, {1, {0x2cbe }}}, 01828 { 0x2cc1, {1, {0x2cc0 }}}, 01829 { 0x2cc3, {1, {0x2cc2 }}}, 01830 { 0x2cc5, {1, {0x2cc4 }}}, 01831 { 0x2cc7, {1, {0x2cc6 }}}, 01832 { 0x2cc9, {1, {0x2cc8 }}}, 01833 { 0x2ccb, {1, {0x2cca }}}, 01834 { 0x2ccd, {1, {0x2ccc }}}, 01835 { 0x2ccf, {1, {0x2cce }}}, 01836 { 0x2cd1, {1, {0x2cd0 }}}, 01837 { 0x2cd3, {1, {0x2cd2 }}}, 01838 { 0x2cd5, {1, {0x2cd4 }}}, 01839 { 0x2cd7, {1, {0x2cd6 }}}, 01840 { 0x2cd9, {1, {0x2cd8 }}}, 01841 { 0x2cdb, {1, {0x2cda }}}, 01842 { 0x2cdd, {1, {0x2cdc }}}, 01843 { 0x2cdf, {1, {0x2cde }}}, 01844 { 0x2ce1, {1, {0x2ce0 }}}, 01845 { 0x2ce3, {1, {0x2ce2 }}}, 01846 { 0x2d00, {1, {0x10a0 }}}, 01847 { 0x2d01, {1, {0x10a1 }}}, 01848 { 0x2d02, {1, {0x10a2 }}}, 01849 { 0x2d03, {1, {0x10a3 }}}, 01850 { 0x2d04, {1, {0x10a4 }}}, 01851 { 0x2d05, {1, {0x10a5 }}}, 01852 { 0x2d06, {1, {0x10a6 }}}, 01853 { 0x2d07, {1, {0x10a7 }}}, 01854 { 0x2d08, {1, {0x10a8 }}}, 01855 { 0x2d09, {1, {0x10a9 }}}, 01856 { 0x2d0a, {1, {0x10aa }}}, 01857 { 0x2d0b, {1, {0x10ab }}}, 01858 { 0x2d0c, {1, {0x10ac }}}, 01859 { 0x2d0d, {1, {0x10ad }}}, 01860 { 0x2d0e, {1, {0x10ae }}}, 01861 { 0x2d0f, {1, {0x10af }}}, 01862 { 0x2d10, {1, {0x10b0 }}}, 01863 { 0x2d11, {1, {0x10b1 }}}, 01864 { 0x2d12, {1, {0x10b2 }}}, 01865 { 0x2d13, {1, {0x10b3 }}}, 01866 { 0x2d14, {1, {0x10b4 }}}, 01867 { 0x2d15, {1, {0x10b5 }}}, 01868 { 0x2d16, {1, {0x10b6 }}}, 01869 { 0x2d17, {1, {0x10b7 }}}, 01870 { 0x2d18, {1, {0x10b8 }}}, 01871 { 0x2d19, {1, {0x10b9 }}}, 01872 { 0x2d1a, {1, {0x10ba }}}, 01873 { 0x2d1b, {1, {0x10bb }}}, 01874 { 0x2d1c, {1, {0x10bc }}}, 01875 { 0x2d1d, {1, {0x10bd }}}, 01876 { 0x2d1e, {1, {0x10be }}}, 01877 { 0x2d1f, {1, {0x10bf }}}, 01878 { 0x2d20, {1, {0x10c0 }}}, 01879 { 0x2d21, {1, {0x10c1 }}}, 01880 { 0x2d22, {1, {0x10c2 }}}, 01881 { 0x2d23, {1, {0x10c3 }}}, 01882 { 0x2d24, {1, {0x10c4 }}}, 01883 { 0x2d25, {1, {0x10c5 }}}, 01884 { 0xff41, {1, {0xff21 }}}, 01885 { 0xff42, {1, {0xff22 }}}, 01886 { 0xff43, {1, {0xff23 }}}, 01887 { 0xff44, {1, {0xff24 }}}, 01888 { 0xff45, {1, {0xff25 }}}, 01889 { 0xff46, {1, {0xff26 }}}, 01890 { 0xff47, {1, {0xff27 }}}, 01891 { 0xff48, {1, {0xff28 }}}, 01892 { 0xff49, {1, {0xff29 }}}, 01893 { 0xff4a, {1, {0xff2a }}}, 01894 { 0xff4b, {1, {0xff2b }}}, 01895 { 0xff4c, {1, {0xff2c }}}, 01896 { 0xff4d, {1, {0xff2d }}}, 01897 { 0xff4e, {1, {0xff2e }}}, 01898 { 0xff4f, {1, {0xff2f }}}, 01899 { 0xff50, {1, {0xff30 }}}, 01900 { 0xff51, {1, {0xff31 }}}, 01901 { 0xff52, {1, {0xff32 }}}, 01902 { 0xff53, {1, {0xff33 }}}, 01903 { 0xff54, {1, {0xff34 }}}, 01904 { 0xff55, {1, {0xff35 }}}, 01905 { 0xff56, {1, {0xff36 }}}, 01906 { 0xff57, {1, {0xff37 }}}, 01907 { 0xff58, {1, {0xff38 }}}, 01908 { 0xff59, {1, {0xff39 }}}, 01909 { 0xff5a, {1, {0xff3a }}}, 01910 { 0x10428, {1, {0x10400 }}}, 01911 { 0x10429, {1, {0x10401 }}}, 01912 { 0x1042a, {1, {0x10402 }}}, 01913 { 0x1042b, {1, {0x10403 }}}, 01914 { 0x1042c, {1, {0x10404 }}}, 01915 { 0x1042d, {1, {0x10405 }}}, 01916 { 0x1042e, {1, {0x10406 }}}, 01917 { 0x1042f, {1, {0x10407 }}}, 01918 { 0x10430, {1, {0x10408 }}}, 01919 { 0x10431, {1, {0x10409 }}}, 01920 { 0x10432, {1, {0x1040a }}}, 01921 { 0x10433, {1, {0x1040b }}}, 01922 { 0x10434, {1, {0x1040c }}}, 01923 { 0x10435, {1, {0x1040d }}}, 01924 { 0x10436, {1, {0x1040e }}}, 01925 { 0x10437, {1, {0x1040f }}}, 01926 { 0x10438, {1, {0x10410 }}}, 01927 { 0x10439, {1, {0x10411 }}}, 01928 { 0x1043a, {1, {0x10412 }}}, 01929 { 0x1043b, {1, {0x10413 }}}, 01930 { 0x1043c, {1, {0x10414 }}}, 01931 { 0x1043d, {1, {0x10415 }}}, 01932 { 0x1043e, {1, {0x10416 }}}, 01933 { 0x1043f, {1, {0x10417 }}}, 01934 { 0x10440, {1, {0x10418 }}}, 01935 { 0x10441, {1, {0x10419 }}}, 01936 { 0x10442, {1, {0x1041a }}}, 01937 { 0x10443, {1, {0x1041b }}}, 01938 { 0x10444, {1, {0x1041c }}}, 01939 { 0x10445, {1, {0x1041d }}}, 01940 { 0x10446, {1, {0x1041e }}}, 01941 { 0x10447, {1, {0x1041f }}}, 01942 { 0x10448, {1, {0x10420 }}}, 01943 { 0x10449, {1, {0x10421 }}}, 01944 { 0x1044a, {1, {0x10422 }}}, 01945 { 0x1044b, {1, {0x10423 }}}, 01946 { 0x1044c, {1, {0x10424 }}}, 01947 { 0x1044d, {1, {0x10425 }}}, 01948 { 0x1044e, {1, {0x10426 }}}, 01949 { 0x1044f, {1, {0x10427 }}} 01950 }; 01951 01952 static const CaseUnfold_11_Type CaseUnfold_11_Locale[] = { 01953 { 0x0069, {1, {0x0049 }}} 01954 }; 01955 01956 static const CaseUnfold_12_Type CaseUnfold_12[] = { 01957 { {0x0061, 0x02be}, {1, {0x1e9a }}}, 01958 { {0x0066, 0x0066}, {1, {0xfb00 }}}, 01959 { {0x0066, 0x0069}, {1, {0xfb01 }}}, 01960 { {0x0066, 0x006c}, {1, {0xfb02 }}}, 01961 { {0x0068, 0x0331}, {1, {0x1e96 }}}, 01962 { {0x006a, 0x030c}, {1, {0x01f0 }}}, 01963 { {0x0073, 0x0073}, {1, {0x00df }}}, 01964 { {0x0073, 0x0074}, {2, {0xfb05, 0xfb06 }}}, 01965 { {0x0074, 0x0308}, {1, {0x1e97 }}}, 01966 { {0x0077, 0x030a}, {1, {0x1e98 }}}, 01967 { {0x0079, 0x030a}, {1, {0x1e99 }}}, 01968 { {0x02bc, 0x006e}, {1, {0x0149 }}}, 01969 { {0x03ac, 0x03b9}, {1, {0x1fb4 }}}, 01970 { {0x03ae, 0x03b9}, {1, {0x1fc4 }}}, 01971 { {0x03b1, 0x0342}, {1, {0x1fb6 }}}, 01972 { {0x03b1, 0x03b9}, {2, {0x1fb3, 0x1fbc }}}, 01973 { {0x03b7, 0x0342}, {1, {0x1fc6 }}}, 01974 { {0x03b7, 0x03b9}, {2, {0x1fc3, 0x1fcc }}}, 01975 { {0x03b9, 0x0342}, {1, {0x1fd6 }}}, 01976 { {0x03c1, 0x0313}, {1, {0x1fe4 }}}, 01977 { {0x03c5, 0x0313}, {1, {0x1f50 }}}, 01978 { {0x03c5, 0x0342}, {1, {0x1fe6 }}}, 01979 { {0x03c9, 0x0342}, {1, {0x1ff6 }}}, 01980 { {0x03c9, 0x03b9}, {2, {0x1ff3, 0x1ffc }}}, 01981 { {0x03ce, 0x03b9}, {1, {0x1ff4 }}}, 01982 { {0x0565, 0x0582}, {1, {0x0587 }}}, 01983 { {0x0574, 0x0565}, {1, {0xfb14 }}}, 01984 { {0x0574, 0x056b}, {1, {0xfb15 }}}, 01985 { {0x0574, 0x056d}, {1, {0xfb17 }}}, 01986 { {0x0574, 0x0576}, {1, {0xfb13 }}}, 01987 { {0x057e, 0x0576}, {1, {0xfb16 }}}, 01988 { {0x1f00, 0x03b9}, {2, {0x1f88, 0x1f80 }}}, 01989 { {0x1f01, 0x03b9}, {2, {0x1f81, 0x1f89 }}}, 01990 { {0x1f02, 0x03b9}, {2, {0x1f82, 0x1f8a }}}, 01991 { {0x1f03, 0x03b9}, {2, {0x1f83, 0x1f8b }}}, 01992 { {0x1f04, 0x03b9}, {2, {0x1f84, 0x1f8c }}}, 01993 { {0x1f05, 0x03b9}, {2, {0x1f85, 0x1f8d }}}, 01994 { {0x1f06, 0x03b9}, {2, {0x1f86, 0x1f8e }}}, 01995 { {0x1f07, 0x03b9}, {2, {0x1f87, 0x1f8f }}}, 01996 { {0x1f20, 0x03b9}, {2, {0x1f90, 0x1f98 }}}, 01997 { {0x1f21, 0x03b9}, {2, {0x1f91, 0x1f99 }}}, 01998 { {0x1f22, 0x03b9}, {2, {0x1f92, 0x1f9a }}}, 01999 { {0x1f23, 0x03b9}, {2, {0x1f93, 0x1f9b }}}, 02000 { {0x1f24, 0x03b9}, {2, {0x1f94, 0x1f9c }}}, 02001 { {0x1f25, 0x03b9}, {2, {0x1f95, 0x1f9d }}}, 02002 { {0x1f26, 0x03b9}, {2, {0x1f96, 0x1f9e }}}, 02003 { {0x1f27, 0x03b9}, {2, {0x1f97, 0x1f9f }}}, 02004 { {0x1f60, 0x03b9}, {2, {0x1fa0, 0x1fa8 }}}, 02005 { {0x1f61, 0x03b9}, {2, {0x1fa1, 0x1fa9 }}}, 02006 { {0x1f62, 0x03b9}, {2, {0x1fa2, 0x1faa }}}, 02007 { {0x1f63, 0x03b9}, {2, {0x1fa3, 0x1fab }}}, 02008 { {0x1f64, 0x03b9}, {2, {0x1fa4, 0x1fac }}}, 02009 { {0x1f65, 0x03b9}, {2, {0x1fa5, 0x1fad }}}, 02010 { {0x1f66, 0x03b9}, {2, {0x1fa6, 0x1fae }}}, 02011 { {0x1f67, 0x03b9}, {2, {0x1fa7, 0x1faf }}}, 02012 { {0x1f70, 0x03b9}, {1, {0x1fb2 }}}, 02013 { {0x1f74, 0x03b9}, {1, {0x1fc2 }}}, 02014 { {0x1f7c, 0x03b9}, {1, {0x1ff2 }}} 02015 }; 02016 02017 static const CaseUnfold_12_Type CaseUnfold_12_Locale[] = { 02018 { {0x0069, 0x0307}, {1, {0x0130 }}} 02019 }; 02020 02021 static const CaseUnfold_13_Type CaseUnfold_13[] = { 02022 { {0x0066, 0x0066, 0x0069}, {1, {0xfb03 }}}, 02023 { {0x0066, 0x0066, 0x006c}, {1, {0xfb04 }}}, 02024 { {0x03b1, 0x0342, 0x03b9}, {1, {0x1fb7 }}}, 02025 { {0x03b7, 0x0342, 0x03b9}, {1, {0x1fc7 }}}, 02026 { {0x03b9, 0x0308, 0x0300}, {1, {0x1fd2 }}}, 02027 { {0x03b9, 0x0308, 0x0301}, {2, {0x0390, 0x1fd3 }}}, 02028 { {0x03b9, 0x0308, 0x0342}, {1, {0x1fd7 }}}, 02029 { {0x03c5, 0x0308, 0x0300}, {1, {0x1fe2 }}}, 02030 { {0x03c5, 0x0308, 0x0301}, {2, {0x03b0, 0x1fe3 }}}, 02031 { {0x03c5, 0x0308, 0x0342}, {1, {0x1fe7 }}}, 02032 { {0x03c5, 0x0313, 0x0300}, {1, {0x1f52 }}}, 02033 { {0x03c5, 0x0313, 0x0301}, {1, {0x1f54 }}}, 02034 { {0x03c5, 0x0313, 0x0342}, {1, {0x1f56 }}}, 02035 { {0x03c9, 0x0342, 0x03b9}, {1, {0x1ff7 }}} 02036 }; 02037 02038 #define numberof(array) (int)(sizeof(array) / sizeof((array)[0])) 02039 #define CODE_RANGES_NUM numberof(CodeRanges) 02040 02041 extern int 02042 onigenc_unicode_is_code_ctype(OnigCodePoint code, unsigned int ctype, OnigEncoding enc ARG_UNUSED) 02043 { 02044 if ( 02045 #ifdef USE_UNICODE_PROPERTIES 02046 ctype <= ONIGENC_MAX_STD_CTYPE && 02047 #endif 02048 code < 256) { 02049 return ONIGENC_IS_UNICODE_ISO_8859_1_CTYPE(code, ctype); 02050 } 02051 02052 if (ctype >= CODE_RANGES_NUM) { 02053 return ONIGERR_TYPE_BUG; 02054 } 02055 02056 return onig_is_in_code_range((UChar* )CodeRanges[ctype], code); 02057 } 02058 02059 02060 extern int 02061 onigenc_unicode_ctype_code_range(int ctype, const OnigCodePoint* ranges[]) 02062 { 02063 if (ctype >= CODE_RANGES_NUM) { 02064 return ONIGERR_TYPE_BUG; 02065 } 02066 02067 *ranges = CodeRanges[ctype]; 02068 02069 return 0; 02070 } 02071 02072 extern int 02073 onigenc_utf16_32_get_ctype_code_range(OnigCtype ctype, OnigCodePoint* sb_out, 02074 const OnigCodePoint* ranges[], 02075 struct OnigEncodingTypeST* enc ARG_UNUSED) 02076 { 02077 *sb_out = 0x00; 02078 return onigenc_unicode_ctype_code_range(ctype, ranges); 02079 } 02080 02081 #include "ruby/st.h" 02082 02083 #define PROPERTY_NAME_MAX_SIZE MAX_WORD_LENGTH 02084 02085 extern int 02086 onigenc_unicode_property_name_to_ctype(OnigEncoding enc, UChar* name, UChar* end) 02087 { 02088 int len; 02089 int ctype; 02090 UChar buf[PROPERTY_NAME_MAX_SIZE]; 02091 UChar *p; 02092 OnigCodePoint code; 02093 02094 len = 0; 02095 for (p = name; p < end; p += enclen(enc, p, end)) { 02096 code = ONIGENC_MBC_TO_CODE(enc, p, end); 02097 if (code == ' ' || code == '-' || code == '_') 02098 continue; 02099 if (code >= 0x80) 02100 return ONIGERR_INVALID_CHAR_PROPERTY_NAME; 02101 02102 buf[len++] = (UChar )TOLOWER((unsigned char)code); 02103 if (len >= PROPERTY_NAME_MAX_SIZE) 02104 return ONIGERR_INVALID_CHAR_PROPERTY_NAME; 02105 } 02106 02107 buf[len] = 0; 02108 02109 if ((ctype = uniname2ctype(buf, len)) < 0) { 02110 return ONIGERR_INVALID_CHAR_PROPERTY_NAME; 02111 } 02112 02113 return ctype; 02114 } 02115 02116 02117 static int 02118 code2_cmp(OnigCodePoint* x, OnigCodePoint* y) 02119 { 02120 if (x[0] == y[0] && x[1] == y[1]) return 0; 02121 return 1; 02122 } 02123 02124 static st_index_t 02125 code2_hash(OnigCodePoint* x) 02126 { 02127 return (st_index_t )(x[0] + x[1]); 02128 } 02129 02130 static const struct st_hash_type type_code2_hash = { 02131 code2_cmp, 02132 code2_hash, 02133 }; 02134 02135 static int 02136 code3_cmp(OnigCodePoint* x, OnigCodePoint* y) 02137 { 02138 if (x[0] == y[0] && x[1] == y[1] && x[2] == y[2]) return 0; 02139 return 1; 02140 } 02141 02142 static st_index_t 02143 code3_hash(OnigCodePoint* x) 02144 { 02145 return (st_index_t )(x[0] + x[1] + x[2]); 02146 } 02147 02148 static const struct st_hash_type type_code3_hash = { 02149 code3_cmp, 02150 code3_hash, 02151 }; 02152 02153 02154 static st_table* FoldTable; /* fold-1, fold-2, fold-3 */ 02155 static st_table* Unfold1Table; 02156 static st_table* Unfold2Table; 02157 static st_table* Unfold3Table; 02158 static int CaseFoldInited = 0; 02159 02160 static int init_case_fold_table(void) 02161 { 02162 const CaseFold_11_Type *p; 02163 const CaseUnfold_11_Type *p1; 02164 const CaseUnfold_12_Type *p2; 02165 const CaseUnfold_13_Type *p3; 02166 int i; 02167 02168 THREAD_ATOMIC_START; 02169 02170 FoldTable = st_init_numtable_with_size(1200); 02171 if (ONIG_IS_NULL(FoldTable)) return ONIGERR_MEMORY; 02172 for (i = 0; i < numberof(CaseFold); i++) { 02173 p = &CaseFold[i]; 02174 st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )&(p->to)); 02175 } 02176 for (i = 0; i < numberof(CaseFold_Locale); i++) { 02177 p = &CaseFold_Locale[i]; 02178 st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )&(p->to)); 02179 } 02180 02181 Unfold1Table = st_init_numtable_with_size(1000); 02182 if (ONIG_IS_NULL(Unfold1Table)) return ONIGERR_MEMORY; 02183 02184 for (i = 0; i < numberof(CaseUnfold_11); i++) { 02185 p1 = &CaseUnfold_11[i]; 02186 st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t )&(p1->to)); 02187 } 02188 for (i = 0; i < numberof(CaseUnfold_11_Locale); i++) { 02189 p1 = &CaseUnfold_11_Locale[i]; 02190 st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t )&(p1->to)); 02191 } 02192 02193 Unfold2Table = st_init_table_with_size(&type_code2_hash, 200); 02194 if (ONIG_IS_NULL(Unfold2Table)) return ONIGERR_MEMORY; 02195 02196 for (i = 0; i < numberof(CaseUnfold_12); i++) { 02197 p2 = &CaseUnfold_12[i]; 02198 st_add_direct(Unfold2Table, (st_data_t )p2->from, (st_data_t )(&p2->to)); 02199 } 02200 for (i = 0; i < numberof(CaseUnfold_12_Locale); i++) { 02201 p2 = &CaseUnfold_12_Locale[i]; 02202 st_add_direct(Unfold2Table, (st_data_t )p2->from, (st_data_t )(&p2->to)); 02203 } 02204 02205 Unfold3Table = st_init_table_with_size(&type_code3_hash, 30); 02206 if (ONIG_IS_NULL(Unfold3Table)) return ONIGERR_MEMORY; 02207 02208 for (i = 0; i < numberof(CaseUnfold_13); i++) { 02209 p3 = &CaseUnfold_13[i]; 02210 st_add_direct(Unfold3Table, (st_data_t )p3->from, (st_data_t )(&p3->to)); 02211 } 02212 02213 CaseFoldInited = 1; 02214 THREAD_ATOMIC_END; 02215 return 0; 02216 } 02217 02218 extern int 02219 onigenc_unicode_mbc_case_fold(OnigEncoding enc, 02220 OnigCaseFoldType flag ARG_UNUSED, const UChar** pp, const UChar* end, 02221 UChar* fold) 02222 { 02223 CodePointList3 *to; 02224 OnigCodePoint code; 02225 int i, len, rlen; 02226 const UChar *p = *pp; 02227 02228 if (CaseFoldInited == 0) init_case_fold_table(); 02229 02230 code = ONIGENC_MBC_TO_CODE(enc, p, end); 02231 len = enclen(enc, p, end); 02232 *pp += len; 02233 02234 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI 02235 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) { 02236 if (code == 0x0049) { 02237 return ONIGENC_CODE_TO_MBC(enc, 0x0131, fold); 02238 } 02239 else if (code == 0x0130) { 02240 return ONIGENC_CODE_TO_MBC(enc, 0x0069, fold); 02241 } 02242 } 02243 #endif 02244 02245 if (onig_st_lookup(FoldTable, (st_data_t )code, (void* )&to) != 0) { 02246 if (to->n == 1) { 02247 return ONIGENC_CODE_TO_MBC(enc, to->code[0], fold); 02248 } 02249 #if 0 02250 /* NO NEEDS TO CHECK */ 02251 else if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) 02252 #else 02253 else 02254 #endif 02255 { 02256 rlen = 0; 02257 for (i = 0; i < to->n; i++) { 02258 len = ONIGENC_CODE_TO_MBC(enc, to->code[i], fold); 02259 fold += len; 02260 rlen += len; 02261 } 02262 return rlen; 02263 } 02264 } 02265 02266 for (i = 0; i < len; i++) { 02267 *fold++ = *p++; 02268 } 02269 return len; 02270 } 02271 02272 extern int 02273 onigenc_unicode_apply_all_case_fold(OnigCaseFoldType flag, 02274 OnigApplyAllCaseFoldFunc f, void* arg, 02275 OnigEncoding enc ARG_UNUSED) 02276 { 02277 const CaseUnfold_11_Type* p11; 02278 OnigCodePoint code; 02279 int i, j, k, r; 02280 02281 /* if (CaseFoldInited == 0) init_case_fold_table(); */ 02282 02283 for (i = 0; i < numberof(CaseUnfold_11); i++) { 02284 p11 = &CaseUnfold_11[i]; 02285 for (j = 0; j < p11->to.n; j++) { 02286 code = p11->from; 02287 r = (*f)(p11->to.code[j], &code, 1, arg); 02288 if (r != 0) return r; 02289 02290 code = p11->to.code[j]; 02291 r = (*f)(p11->from, &code, 1, arg); 02292 if (r != 0) return r; 02293 02294 for (k = 0; k < j; k++) { 02295 r = (*f)(p11->to.code[j], (OnigCodePoint* )(&p11->to.code[k]), 1, arg); 02296 if (r != 0) return r; 02297 02298 r = (*f)(p11->to.code[k], (OnigCodePoint* )(&p11->to.code[j]), 1, arg); 02299 if (r != 0) return r; 02300 } 02301 } 02302 } 02303 02304 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI 02305 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) { 02306 code = 0x0131; 02307 r = (*f)(0x0049, &code, 1, arg); 02308 if (r != 0) return r; 02309 code = 0x0049; 02310 r = (*f)(0x0131, &code, 1, arg); 02311 if (r != 0) return r; 02312 02313 code = 0x0130; 02314 r = (*f)(0x0069, &code, 1, arg); 02315 if (r != 0) return r; 02316 code = 0x0069; 02317 r = (*f)(0x0130, &code, 1, arg); 02318 if (r != 0) return r; 02319 } 02320 else { 02321 #endif 02322 for (i = 0; i < numberof(CaseUnfold_11_Locale); i++) { 02323 p11 = &CaseUnfold_11_Locale[i]; 02324 for (j = 0; j < p11->to.n; j++) { 02325 code = p11->from; 02326 r = (*f)(p11->to.code[j], &code, 1, arg); 02327 if (r != 0) return r; 02328 02329 code = p11->to.code[j]; 02330 r = (*f)(p11->from, &code, 1, arg); 02331 if (r != 0) return r; 02332 02333 for (k = 0; k < j; k++) { 02334 r = (*f)(p11->to.code[j], (OnigCodePoint* )(&p11->to.code[k]), 02335 1, arg); 02336 if (r != 0) return r; 02337 02338 r = (*f)(p11->to.code[k], (OnigCodePoint* )(&p11->to.code[j]), 02339 1, arg); 02340 if (r != 0) return r; 02341 } 02342 } 02343 } 02344 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI 02345 } 02346 #endif 02347 02348 if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) { 02349 for (i = 0; i < numberof(CaseUnfold_12); i++) { 02350 for (j = 0; j < CaseUnfold_12[i].to.n; j++) { 02351 r = (*f)(CaseUnfold_12[i].to.code[j], 02352 (OnigCodePoint* )CaseUnfold_12[i].from, 2, arg); 02353 if (r != 0) return r; 02354 02355 for (k = 0; k < CaseUnfold_12[i].to.n; k++) { 02356 if (k == j) continue; 02357 02358 r = (*f)(CaseUnfold_12[i].to.code[j], 02359 (OnigCodePoint* )(&CaseUnfold_12[i].to.code[k]), 1, arg); 02360 if (r != 0) return r; 02361 } 02362 } 02363 } 02364 02365 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI 02366 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) == 0) { 02367 #endif 02368 for (i = 0; i < numberof(CaseUnfold_12_Locale); i++) { 02369 for (j = 0; j < CaseUnfold_12_Locale[i].to.n; j++) { 02370 r = (*f)(CaseUnfold_12_Locale[i].to.code[j], 02371 (OnigCodePoint* )CaseUnfold_12_Locale[i].from, 2, arg); 02372 if (r != 0) return r; 02373 02374 for (k = 0; k < CaseUnfold_12_Locale[i].to.n; k++) { 02375 if (k == j) continue; 02376 02377 r = (*f)(CaseUnfold_12_Locale[i].to.code[j], 02378 (OnigCodePoint* )(&CaseUnfold_12_Locale[i].to.code[k]), 02379 1, arg); 02380 if (r != 0) return r; 02381 } 02382 } 02383 } 02384 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI 02385 } 02386 #endif 02387 02388 for (i = 0; i < numberof(CaseUnfold_13); i++) { 02389 for (j = 0; j < CaseUnfold_13[i].to.n; j++) { 02390 r = (*f)(CaseUnfold_13[i].to.code[j], 02391 (OnigCodePoint* )CaseUnfold_13[i].from, 3, arg); 02392 if (r != 0) return r; 02393 02394 for (k = 0; k < CaseUnfold_13[i].to.n; k++) { 02395 if (k == j) continue; 02396 02397 r = (*f)(CaseUnfold_13[i].to.code[j], 02398 (OnigCodePoint* )(&CaseUnfold_13[i].to.code[k]), 1, arg); 02399 if (r != 0) return r; 02400 } 02401 } 02402 } 02403 } 02404 02405 return 0; 02406 } 02407 02408 extern int 02409 onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc, 02410 OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, 02411 OnigCaseFoldCodeItem items[]) 02412 { 02413 int n, i, j, k, len; 02414 OnigCodePoint code, codes[3]; 02415 CodePointList3 *to, *z3; 02416 CodePointList2 *z2; 02417 02418 if (CaseFoldInited == 0) init_case_fold_table(); 02419 02420 n = 0; 02421 02422 code = ONIGENC_MBC_TO_CODE(enc, p, end); 02423 len = enclen(enc, p, end); 02424 02425 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI 02426 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) { 02427 if (code == 0x0049) { 02428 items[0].byte_len = len; 02429 items[0].code_len = 1; 02430 items[0].code[0] = 0x0131; 02431 return 1; 02432 } 02433 else if (code == 0x0130) { 02434 items[0].byte_len = len; 02435 items[0].code_len = 1; 02436 items[0].code[0] = 0x0069; 02437 return 1; 02438 } 02439 else if (code == 0x0131) { 02440 items[0].byte_len = len; 02441 items[0].code_len = 1; 02442 items[0].code[0] = 0x0049; 02443 return 1; 02444 } 02445 else if (code == 0x0069) { 02446 items[0].byte_len = len; 02447 items[0].code_len = 1; 02448 items[0].code[0] = 0x0130; 02449 return 1; 02450 } 02451 } 02452 #endif 02453 02454 if (onig_st_lookup(FoldTable, (st_data_t )code, (void* )&to) != 0) { 02455 if (to->n == 1) { 02456 OnigCodePoint orig_code = code; 02457 02458 items[0].byte_len = len; 02459 items[0].code_len = 1; 02460 items[0].code[0] = to->code[0]; 02461 n++; 02462 02463 code = to->code[0]; 02464 if (onig_st_lookup(Unfold1Table, (st_data_t )code, (void* )&to) != 0) { 02465 for (i = 0; i < to->n; i++) { 02466 if (to->code[i] != orig_code) { 02467 items[n].byte_len = len; 02468 items[n].code_len = 1; 02469 items[n].code[0] = to->code[i]; 02470 n++; 02471 } 02472 } 02473 } 02474 } 02475 else if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) { 02476 OnigCodePoint cs[3][4]; 02477 int fn, ncs[3]; 02478 02479 for (fn = 0; fn < to->n; fn++) { 02480 cs[fn][0] = to->code[fn]; 02481 if (onig_st_lookup(Unfold1Table, (st_data_t )cs[fn][0], 02482 (void* )&z3) != 0) { 02483 for (i = 0; i < z3->n; i++) { 02484 cs[fn][i+1] = z3->code[i]; 02485 } 02486 ncs[fn] = z3->n + 1; 02487 } 02488 else 02489 ncs[fn] = 1; 02490 } 02491 02492 if (fn == 2) { 02493 for (i = 0; i < ncs[0]; i++) { 02494 for (j = 0; j < ncs[1]; j++) { 02495 items[n].byte_len = len; 02496 items[n].code_len = 2; 02497 items[n].code[0] = cs[0][i]; 02498 items[n].code[1] = cs[1][j]; 02499 n++; 02500 } 02501 } 02502 02503 if (onig_st_lookup(Unfold2Table, (st_data_t )to->code, 02504 (void* )&z2) != 0) { 02505 for (i = 0; i < z2->n; i++) { 02506 if (z2->code[i] == code) continue; 02507 02508 items[n].byte_len = len; 02509 items[n].code_len = 1; 02510 items[n].code[0] = z2->code[i]; 02511 n++; 02512 } 02513 } 02514 } 02515 else { 02516 for (i = 0; i < ncs[0]; i++) { 02517 for (j = 0; j < ncs[1]; j++) { 02518 for (k = 0; k < ncs[2]; k++) { 02519 items[n].byte_len = len; 02520 items[n].code_len = 3; 02521 items[n].code[0] = cs[0][i]; 02522 items[n].code[1] = cs[1][j]; 02523 items[n].code[2] = cs[2][k]; 02524 n++; 02525 } 02526 } 02527 } 02528 02529 if (onig_st_lookup(Unfold3Table, (st_data_t )to->code, 02530 (void* )&z2) != 0) { 02531 for (i = 0; i < z2->n; i++) { 02532 if (z2->code[i] == code) continue; 02533 02534 items[n].byte_len = len; 02535 items[n].code_len = 1; 02536 items[n].code[0] = z2->code[i]; 02537 n++; 02538 } 02539 } 02540 } 02541 02542 /* multi char folded code is not head of another folded multi char */ 02543 flag = 0; /* DISABLE_CASE_FOLD_MULTI_CHAR(flag); */ 02544 } 02545 } 02546 else { 02547 if (onig_st_lookup(Unfold1Table, (st_data_t )code, (void* )&to) != 0) { 02548 for (i = 0; i < to->n; i++) { 02549 items[n].byte_len = len; 02550 items[n].code_len = 1; 02551 items[n].code[0] = to->code[i]; 02552 n++; 02553 } 02554 } 02555 } 02556 02557 02558 if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) { 02559 p += len; 02560 if (p < end) { 02561 int clen; 02562 02563 codes[0] = code; 02564 code = ONIGENC_MBC_TO_CODE(enc, p, end); 02565 if (onig_st_lookup(FoldTable, (st_data_t )code, (void* )&to) != 0 02566 && to->n == 1) { 02567 codes[1] = to->code[0]; 02568 } 02569 else 02570 codes[1] = code; 02571 02572 clen = enclen(enc, p, end); 02573 len += clen; 02574 if (onig_st_lookup(Unfold2Table, (st_data_t )codes, (void* )&z2) != 0) { 02575 for (i = 0; i < z2->n; i++) { 02576 items[n].byte_len = len; 02577 items[n].code_len = 1; 02578 items[n].code[0] = z2->code[i]; 02579 n++; 02580 } 02581 } 02582 02583 p += clen; 02584 if (p < end) { 02585 code = ONIGENC_MBC_TO_CODE(enc, p, end); 02586 if (onig_st_lookup(FoldTable, (st_data_t )code, (void* )&to) != 0 02587 && to->n == 1) { 02588 codes[2] = to->code[0]; 02589 } 02590 else 02591 codes[2] = code; 02592 02593 clen = enclen(enc, p, end); 02594 len += clen; 02595 if (onig_st_lookup(Unfold3Table, (st_data_t )codes, 02596 (void* )&z2) != 0) { 02597 for (i = 0; i < z2->n; i++) { 02598 items[n].byte_len = len; 02599 items[n].code_len = 1; 02600 items[n].code[0] = z2->code[i]; 02601 n++; 02602 } 02603 } 02604 } 02605 } 02606 } 02607 02608 return n; 02609 } 02610