Back to index

lightning-sunbird  0.9+nobinonly
cattable.h
Go to the documentation of this file.
00001 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is mozilla.org code.
00016  *
00017  * The Initial Developer of the Original Code is
00018  * Netscape Communications Corporation.
00019  * Portions created by the Initial Developer are Copyright (C) 1999
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *
00024  * Alternatively, the contents of this file may be used under the terms of
00025  * either the GNU General Public License Version 2 or later (the "GPL"), or
00026  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00027  * in which case the provisions of the GPL or the LGPL are applicable instead
00028  * of those above. If you wish to allow use of your version of this file only
00029  * under the terms of either the GPL or the LGPL, and not to allow others to
00030  * use your version of this file under the terms of the MPL, indicate your
00031  * decision by deleting the provisions above and replace them with the notice
00032  * and other provisions required by the GPL or the LGPL. If you do not delete
00033  * the provisions above, a recipient may use your version of this file under
00034  * the terms of any one of the MPL, the GPL or the LGPL.
00035  *
00036  * ***** END LICENSE BLOCK ***** */
00037 /* 
00038     DO NOT EDIT THIS DOCUMENT !!! THIS DOCUMENT IS GENERATED BY
00039     mozilla/intl/unicharutil/tools/gencattable.pl
00040  */
00041 #include "nscore.h" 
00042 
00043 static const PRUint8 gGenCatIdx1[224] = {
00044       0,  // U+0000 - U+0007 : 0x44444444
00045       0,  // U+0008 - U+000F : 0x44444444
00046       0,  // U+0010 - U+0017 : 0x44444444
00047       0,  // U+0018 - U+001F : 0x44444444
00048       1,  // U+0020 - U+0027 : 0x66676663
00049       2,  // U+0028 - U+002F : 0x66667666
00050       3,  // U+0030 - U+0037 : 0x22222222
00051       4,  // U+0038 - U+003F : 0x67776622
00052       5,  // U+0040 - U+0047 : 0x55555556
00053       6,  // U+0048 - U+004F : 0x55555555
00054       6,  // U+0050 - U+0057 : 0x55555555
00055       7,  // U+0058 - U+005F : 0x67666555
00056       8,  // U+0060 - U+0067 : 0x55555557
00057       6,  // U+0068 - U+006F : 0x55555555
00058       6,  // U+0070 - U+0077 : 0x55555555
00059       9,  // U+0078 - U+007F : 0x47676555
00060       0,  // U+0080 - U+0087 : 0x44444444
00061       0,  // U+0088 - U+008F : 0x44444444
00062       0,  // U+0090 - U+0097 : 0x44444444
00063       0,  // U+0098 - U+009F : 0x44444444
00064      10,  // U+00A0 - U+00A7 : 0x77777763
00065      11,  // U+00A8 - U+00AF : 0x77676577
00066      12,  // U+00B0 - U+00B7 : 0x67572277
00067      13,  // U+00B8 - U+00BF : 0x62226527
00068       6,  // U+00C0 - U+00C7 : 0x55555555
00069       6,  // U+00C8 - U+00CF : 0x55555555
00070      14,  // U+00D0 - U+00D7 : 0x75555555
00071       6,  // U+00D8 - U+00DF : 0x55555555
00072       6,  // U+00E0 - U+00E7 : 0x55555555
00073       6,  // U+00E8 - U+00EF : 0x55555555
00074      14,  // U+00F0 - U+00F7 : 0x75555555
00075       6,  // U+00F8 - U+00FF : 0x55555555
00076       6,  // U+0100 - U+0107 : 0x55555555
00077       6,  // U+0108 - U+010F : 0x55555555
00078       6,  // U+0110 - U+0117 : 0x55555555
00079       6,  // U+0118 - U+011F : 0x55555555
00080       6,  // U+0120 - U+0127 : 0x55555555
00081       6,  // U+0128 - U+012F : 0x55555555
00082       6,  // U+0130 - U+0137 : 0x55555555
00083       6,  // U+0138 - U+013F : 0x55555555
00084       6,  // U+0140 - U+0147 : 0x55555555
00085       6,  // U+0148 - U+014F : 0x55555555
00086       6,  // U+0150 - U+0157 : 0x55555555
00087       6,  // U+0158 - U+015F : 0x55555555
00088       6,  // U+0160 - U+0167 : 0x55555555
00089       6,  // U+0168 - U+016F : 0x55555555
00090       6,  // U+0170 - U+0177 : 0x55555555
00091       6,  // U+0178 - U+017F : 0x55555555
00092       6,  // U+0180 - U+0187 : 0x55555555
00093       6,  // U+0188 - U+018F : 0x55555555
00094       6,  // U+0190 - U+0197 : 0x55555555
00095       6,  // U+0198 - U+019F : 0x55555555
00096       6,  // U+01A0 - U+01A7 : 0x55555555
00097       6,  // U+01A8 - U+01AF : 0x55555555
00098       6,  // U+01B0 - U+01B7 : 0x55555555
00099       6,  // U+01B8 - U+01BF : 0x55555555
00100       6,  // U+01C0 - U+01C7 : 0x55555555
00101       6,  // U+01C8 - U+01CF : 0x55555555
00102       6,  // U+01D0 - U+01D7 : 0x55555555
00103       6,  // U+01D8 - U+01DF : 0x55555555
00104       6,  // U+01E0 - U+01E7 : 0x55555555
00105       6,  // U+01E8 - U+01EF : 0x55555555
00106      15,  // U+01F0 - U+01F7 : 0x00555555
00107      16,  // U+01F8 - U+01FF : 0x55555500
00108       6,  // U+0200 - U+0207 : 0x55555555
00109       6,  // U+0208 - U+020F : 0x55555555
00110       6,  // U+0210 - U+0217 : 0x55555555
00111      17,  // U+0218 - U+021F : 0x00000000
00112      17,  // U+0220 - U+0227 : 0x00000000
00113      17,  // U+0228 - U+022F : 0x00000000
00114      17,  // U+0230 - U+0237 : 0x00000000
00115      17,  // U+0238 - U+023F : 0x00000000
00116      17,  // U+0240 - U+0247 : 0x00000000
00117      17,  // U+0248 - U+024F : 0x00000000
00118       6,  // U+0250 - U+0257 : 0x55555555
00119       6,  // U+0258 - U+025F : 0x55555555
00120       6,  // U+0260 - U+0267 : 0x55555555
00121       6,  // U+0268 - U+026F : 0x55555555
00122       6,  // U+0270 - U+0277 : 0x55555555
00123       6,  // U+0278 - U+027F : 0x55555555
00124       6,  // U+0280 - U+0287 : 0x55555555
00125       6,  // U+0288 - U+028F : 0x55555555
00126       6,  // U+0290 - U+0297 : 0x55555555
00127       6,  // U+0298 - U+029F : 0x55555555
00128       6,  // U+02A0 - U+02A7 : 0x55555555
00129      18,  // U+02A8 - U+02AF : 0x00000005
00130       6,  // U+02B0 - U+02B7 : 0x55555555
00131      19,  // U+02B8 - U+02BF : 0x55555775
00132      20,  // U+02C0 - U+02C7 : 0x77777755
00133      21,  // U+02C8 - U+02CF : 0x77777777
00134      20,  // U+02D0 - U+02D7 : 0x77777755
00135      22,  // U+02D8 - U+02DF : 0x07777777
00136      23,  // U+02E0 - U+02E7 : 0x77755555
00137      24,  // U+02E8 - U+02EF : 0x00000077
00138      17,  // U+02F0 - U+02F7 : 0x00000000
00139      17,  // U+02F8 - U+02FF : 0x00000000
00140      25,  // U+0300 - U+0307 : 0x11111111
00141      25,  // U+0308 - U+030F : 0x11111111
00142      25,  // U+0310 - U+0317 : 0x11111111
00143      25,  // U+0318 - U+031F : 0x11111111
00144      25,  // U+0320 - U+0327 : 0x11111111
00145      25,  // U+0328 - U+032F : 0x11111111
00146      25,  // U+0330 - U+0337 : 0x11111111
00147      25,  // U+0338 - U+033F : 0x11111111
00148      26,  // U+0340 - U+0347 : 0x00111111
00149      17,  // U+0348 - U+034F : 0x00000000
00150      17,  // U+0350 - U+0357 : 0x00000000
00151      17,  // U+0358 - U+035F : 0x00000000
00152      27,  // U+0360 - U+0367 : 0x00000011
00153      17,  // U+0368 - U+036F : 0x00000000
00154      28,  // U+0370 - U+0377 : 0x00660000
00155      29,  // U+0378 - U+037F : 0x06000500
00156      30,  // U+0380 - U+0387 : 0x65770000
00157      31,  // U+0388 - U+038F : 0x55050555
00158       6,  // U+0390 - U+0397 : 0x55555555
00159       6,  // U+0398 - U+039F : 0x55555555
00160      32,  // U+03A0 - U+03A7 : 0x55555055
00161       6,  // U+03A8 - U+03AF : 0x55555555
00162       6,  // U+03B0 - U+03B7 : 0x55555555
00163       6,  // U+03B8 - U+03BF : 0x55555555
00164       6,  // U+03C0 - U+03C7 : 0x55555555
00165      33,  // U+03C8 - U+03CF : 0x05555555
00166      33,  // U+03D0 - U+03D7 : 0x05555555
00167      34,  // U+03D8 - U+03DF : 0x05050500
00168      35,  // U+03E0 - U+03E7 : 0x55555505
00169       6,  // U+03E8 - U+03EF : 0x55555555
00170      36,  // U+03F0 - U+03F7 : 0x00005555
00171      17,  // U+03F8 - U+03FF : 0x00000000
00172      37,  // U+0400 - U+0407 : 0x55555550
00173      38,  // U+0408 - U+040F : 0x55055555
00174       6,  // U+0410 - U+0417 : 0x55555555
00175       6,  // U+0418 - U+041F : 0x55555555
00176       6,  // U+0420 - U+0427 : 0x55555555
00177       6,  // U+0428 - U+042F : 0x55555555
00178       6,  // U+0430 - U+0437 : 0x55555555
00179       6,  // U+0438 - U+043F : 0x55555555
00180       6,  // U+0440 - U+0447 : 0x55555555
00181       6,  // U+0448 - U+044F : 0x55555555
00182      37,  // U+0450 - U+0457 : 0x55555550
00183      38,  // U+0458 - U+045F : 0x55055555
00184       6,  // U+0460 - U+0467 : 0x55555555
00185       6,  // U+0468 - U+046F : 0x55555555
00186       6,  // U+0470 - U+0477 : 0x55555555
00187       6,  // U+0478 - U+047F : 0x55555555
00188      39,  // U+0480 - U+0487 : 0x01111755
00189      17,  // U+0488 - U+048F : 0x00000000
00190       6,  // U+0490 - U+0497 : 0x55555555
00191       6,  // U+0498 - U+049F : 0x55555555
00192       6,  // U+04A0 - U+04A7 : 0x55555555
00193       6,  // U+04A8 - U+04AF : 0x55555555
00194       6,  // U+04B0 - U+04B7 : 0x55555555
00195       6,  // U+04B8 - U+04BF : 0x55555555
00196      40,  // U+04C0 - U+04C7 : 0x50055555
00197      41,  // U+04C8 - U+04CF : 0x00055005
00198       6,  // U+04D0 - U+04D7 : 0x55555555
00199       6,  // U+04D8 - U+04DF : 0x55555555
00200       6,  // U+04E0 - U+04E7 : 0x55555555
00201      42,  // U+04E8 - U+04EF : 0x55005555
00202      15,  // U+04F0 - U+04F7 : 0x00555555
00203      43,  // U+04F8 - U+04FF : 0x00000055
00204      17,  // U+0500 - U+0507 : 0x00000000
00205      17,  // U+0508 - U+050F : 0x00000000
00206      17,  // U+0510 - U+0517 : 0x00000000
00207      17,  // U+0518 - U+051F : 0x00000000
00208      17,  // U+0520 - U+0527 : 0x00000000
00209      17,  // U+0528 - U+052F : 0x00000000
00210      37,  // U+0530 - U+0537 : 0x55555550
00211       6,  // U+0538 - U+053F : 0x55555555
00212       6,  // U+0540 - U+0547 : 0x55555555
00213       6,  // U+0548 - U+054F : 0x55555555
00214      33,  // U+0550 - U+0557 : 0x05555555
00215      44,  // U+0558 - U+055F : 0x66666650
00216      37,  // U+0560 - U+0567 : 0x55555550
00217       6,  // U+0568 - U+056F : 0x55555555
00218       6,  // U+0570 - U+0577 : 0x55555555
00219       6,  // U+0578 - U+057F : 0x55555555
00220       6,  // U+0580 - U+0587 : 0x55555555
00221      45,  // U+0588 - U+058F : 0x00000060
00222      46,  // U+0590 - U+0597 : 0x11111110
00223      25,  // U+0598 - U+059F : 0x11111111
00224      47,  // U+05A0 - U+05A7 : 0x11111011
00225      25,  // U+05A8 - U+05AF : 0x11111111
00226      25,  // U+05B0 - U+05B7 : 0x11111111
00227      48,  // U+05B8 - U+05BF : 0x16111011
00228      49,  // U+05C0 - U+05C7 : 0x00016116
00229      17,  // U+05C8 - U+05CF : 0x00000000
00230       6,  // U+05D0 - U+05D7 : 0x55555555
00231       6,  // U+05D8 - U+05DF : 0x55555555
00232       6,  // U+05E0 - U+05E7 : 0x55555555
00233      50,  // U+05E8 - U+05EF : 0x00000555
00234      51,  // U+05F0 - U+05F7 : 0x00066555
00235      17,  // U+05F8 - U+05FF : 0x00000000
00236      17,  // U+0600 - U+0607 : 0x00000000
00237      52,  // U+0608 - U+060F : 0x00060000
00238      17,  // U+0610 - U+0617 : 0x00000000
00239      53,  // U+0618 - U+061F : 0x60006000
00240      37,  // U+0620 - U+0627 : 0x55555550
00241       6,  // U+0628 - U+062F : 0x55555555
00242       6,  // U+0630 - U+0637 : 0x55555555
00243      50,  // U+0638 - U+063F : 0x00000555
00244       6,  // U+0640 - U+0647 : 0x55555555
00245      54,  // U+0648 - U+064F : 0x11111555
00246      55,  // U+0650 - U+0657 : 0x00000111
00247      17,  // U+0658 - U+065F : 0x00000000
00248       3,  // U+0660 - U+0667 : 0x22222222
00249      56,  // U+0668 - U+066F : 0x00666622
00250      57,  // U+0670 - U+0677 : 0x55555551
00251       6,  // U+0678 - U+067F : 0x55555555
00252       6,  // U+0680 - U+0687 : 0x55555555
00253       6,  // U+0688 - U+068F : 0x55555555
00254       6,  // U+0690 - U+0697 : 0x55555555
00255       6,  // U+0698 - U+069F : 0x55555555
00256       6,  // U+06A0 - U+06A7 : 0x55555555
00257       6,  // U+06A8 - U+06AF : 0x55555555
00258       6,  // U+06B0 - U+06B7 : 0x55555555
00259      58,  // U+06B8 - U+06BF : 0x05555500
00260       6,  // U+06C0 - U+06C7 : 0x55555555
00261      33,  // U+06C8 - U+06CF : 0x05555555
00262      59,  // U+06D0 - U+06D7 : 0x11565555
00263      25,  // U+06D8 - U+06DF : 0x11111111
00264      60,  // U+06E0 - U+06E7 : 0x15511111
00265      61,  // U+06E8 - U+06EF : 0x00111171
00266       3,  // U+06F0 - U+06F7 : 0x22222222
00267      62,  // U+06F8 - U+06FF : 0x00000022
00268 };
00269 
00270 static const PRUint8 gGenCatIdx2[288] = {
00271      63,  // U+0900 - U+0907 : 0x55501110
00272       6,  // U+0908 - U+090F : 0x55555555
00273       6,  // U+0910 - U+0917 : 0x55555555
00274       6,  // U+0918 - U+091F : 0x55555555
00275       6,  // U+0920 - U+0927 : 0x55555555
00276       6,  // U+0928 - U+092F : 0x55555555
00277       6,  // U+0930 - U+0937 : 0x55555555
00278      64,  // U+0938 - U+093F : 0x11510055
00279      25,  // U+0940 - U+0947 : 0x11111111
00280      26,  // U+0948 - U+094F : 0x00111111
00281      65,  // U+0950 - U+0957 : 0x00011115
00282       6,  // U+0958 - U+095F : 0x55555555
00283      66,  // U+0960 - U+0967 : 0x22661155
00284       3,  // U+0968 - U+096F : 0x22222222
00285      67,  // U+0970 - U+0977 : 0x00000006
00286      17,  // U+0978 - U+097F : 0x00000000
00287      63,  // U+0980 - U+0987 : 0x55501110
00288      40,  // U+0988 - U+098F : 0x50055555
00289      68,  // U+0990 - U+0997 : 0x55555005
00290       6,  // U+0998 - U+099F : 0x55555555
00291       6,  // U+09A0 - U+09A7 : 0x55555555
00292      35,  // U+09A8 - U+09AF : 0x55555505
00293      69,  // U+09B0 - U+09B7 : 0x55000505
00294      70,  // U+09B8 - U+09BF : 0x11010055
00295      71,  // U+09C0 - U+09C7 : 0x10011111
00296      72,  // U+09C8 - U+09CF : 0x00111001
00297      73,  // U+09D0 - U+09D7 : 0x10000000
00298      74,  // U+09D8 - U+09DF : 0x50550000
00299      75,  // U+09E0 - U+09E7 : 0x22001155
00300       3,  // U+09E8 - U+09EF : 0x22222222
00301      76,  // U+09F0 - U+09F7 : 0x22227755
00302      77,  // U+09F8 - U+09FF : 0x00000722
00303      78,  // U+0A00 - U+0A07 : 0x55500100
00304      79,  // U+0A08 - U+0A0F : 0x50000555
00305      68,  // U+0A10 - U+0A17 : 0x55555005
00306       6,  // U+0A18 - U+0A1F : 0x55555555
00307       6,  // U+0A20 - U+0A27 : 0x55555555
00308      35,  // U+0A28 - U+0A2F : 0x55555505
00309      80,  // U+0A30 - U+0A37 : 0x05505505
00310      70,  // U+0A38 - U+0A3F : 0x11010055
00311      81,  // U+0A40 - U+0A47 : 0x10000111
00312      72,  // U+0A48 - U+0A4F : 0x00111001
00313      17,  // U+0A50 - U+0A57 : 0x00000000
00314      82,  // U+0A58 - U+0A5F : 0x05055550
00315      83,  // U+0A60 - U+0A67 : 0x22000000
00316       3,  // U+0A68 - U+0A6F : 0x22222222
00317      84,  // U+0A70 - U+0A77 : 0x00055511
00318      17,  // U+0A78 - U+0A7F : 0x00000000
00319      63,  // U+0A80 - U+0A87 : 0x55501110
00320      85,  // U+0A88 - U+0A8F : 0x50505555
00321      32,  // U+0A90 - U+0A97 : 0x55555055
00322       6,  // U+0A98 - U+0A9F : 0x55555555
00323       6,  // U+0AA0 - U+0AA7 : 0x55555555
00324      35,  // U+0AA8 - U+0AAF : 0x55555505
00325      86,  // U+0AB0 - U+0AB7 : 0x55505505
00326      64,  // U+0AB8 - U+0ABF : 0x11510055
00327      87,  // U+0AC0 - U+0AC7 : 0x10111111
00328      88,  // U+0AC8 - U+0ACF : 0x00111011
00329      18,  // U+0AD0 - U+0AD7 : 0x00000005
00330      17,  // U+0AD8 - U+0ADF : 0x00000000
00331      89,  // U+0AE0 - U+0AE7 : 0x22000005
00332       3,  // U+0AE8 - U+0AEF : 0x22222222
00333      17,  // U+0AF0 - U+0AF7 : 0x00000000
00334      17,  // U+0AF8 - U+0AFF : 0x00000000
00335      63,  // U+0B00 - U+0B07 : 0x55501110
00336      40,  // U+0B08 - U+0B0F : 0x50055555
00337      68,  // U+0B10 - U+0B17 : 0x55555005
00338       6,  // U+0B18 - U+0B1F : 0x55555555
00339       6,  // U+0B20 - U+0B27 : 0x55555555
00340      35,  // U+0B28 - U+0B2F : 0x55555505
00341      90,  // U+0B30 - U+0B37 : 0x55005505
00342      64,  // U+0B38 - U+0B3F : 0x11510055
00343      91,  // U+0B40 - U+0B47 : 0x10001111
00344      72,  // U+0B48 - U+0B4F : 0x00111001
00345      92,  // U+0B50 - U+0B57 : 0x11000000
00346      74,  // U+0B58 - U+0B5F : 0x50550000
00347      93,  // U+0B60 - U+0B67 : 0x22000055
00348       3,  // U+0B68 - U+0B6F : 0x22222222
00349      94,  // U+0B70 - U+0B77 : 0x00000007
00350      17,  // U+0B78 - U+0B7F : 0x00000000
00351      95,  // U+0B80 - U+0B87 : 0x55501100
00352      96,  // U+0B88 - U+0B8F : 0x55000555
00353      97,  // U+0B90 - U+0B97 : 0x00555505
00354      98,  // U+0B98 - U+0B9F : 0x55050550
00355      99,  // U+0BA0 - U+0BA7 : 0x00055000
00356      96,  // U+0BA8 - U+0BAF : 0x55000555
00357     100,  // U+0BB0 - U+0BB7 : 0x50555555
00358     101,  // U+0BB8 - U+0BBF : 0x11000055
00359     102,  // U+0BC0 - U+0BC7 : 0x11000111
00360     103,  // U+0BC8 - U+0BCF : 0x00111101
00361      73,  // U+0BD0 - U+0BD7 : 0x10000000
00362      17,  // U+0BD8 - U+0BDF : 0x00000000
00363     104,  // U+0BE0 - U+0BE7 : 0x20000000
00364       3,  // U+0BE8 - U+0BEF : 0x22222222
00365     105,  // U+0BF0 - U+0BF7 : 0x00000222
00366      17,  // U+0BF8 - U+0BFF : 0x00000000
00367      63,  // U+0C00 - U+0C07 : 0x55501110
00368      38,  // U+0C08 - U+0C0F : 0x55055555
00369      35,  // U+0C10 - U+0C17 : 0x55555505
00370       6,  // U+0C18 - U+0C1F : 0x55555555
00371       6,  // U+0C20 - U+0C27 : 0x55555555
00372      35,  // U+0C28 - U+0C2F : 0x55555505
00373     106,  // U+0C30 - U+0C37 : 0x55505555
00374     101,  // U+0C38 - U+0C3F : 0x11000055
00375     107,  // U+0C40 - U+0C47 : 0x11011111
00376     103,  // U+0C48 - U+0C4F : 0x00111101
00377     108,  // U+0C50 - U+0C57 : 0x01100000
00378      17,  // U+0C58 - U+0C5F : 0x00000000
00379      93,  // U+0C60 - U+0C67 : 0x22000055
00380       3,  // U+0C68 - U+0C6F : 0x22222222
00381      17,  // U+0C70 - U+0C77 : 0x00000000
00382      17,  // U+0C78 - U+0C7F : 0x00000000
00383      95,  // U+0C80 - U+0C87 : 0x55501100
00384      38,  // U+0C88 - U+0C8F : 0x55055555
00385      35,  // U+0C90 - U+0C97 : 0x55555505
00386       6,  // U+0C98 - U+0C9F : 0x55555555
00387       6,  // U+0CA0 - U+0CA7 : 0x55555555
00388      35,  // U+0CA8 - U+0CAF : 0x55555505
00389     106,  // U+0CB0 - U+0CB7 : 0x55505555
00390     101,  // U+0CB8 - U+0CBF : 0x11000055
00391     107,  // U+0CC0 - U+0CC7 : 0x11011111
00392     103,  // U+0CC8 - U+0CCF : 0x00111101
00393     108,  // U+0CD0 - U+0CD7 : 0x01100000
00394     109,  // U+0CD8 - U+0CDF : 0x05000000
00395      93,  // U+0CE0 - U+0CE7 : 0x22000055
00396       3,  // U+0CE8 - U+0CEF : 0x22222222
00397      17,  // U+0CF0 - U+0CF7 : 0x00000000
00398      17,  // U+0CF8 - U+0CFF : 0x00000000
00399      95,  // U+0D00 - U+0D07 : 0x55501100
00400      38,  // U+0D08 - U+0D0F : 0x55055555
00401      35,  // U+0D10 - U+0D17 : 0x55555505
00402       6,  // U+0D18 - U+0D1F : 0x55555555
00403       6,  // U+0D20 - U+0D27 : 0x55555555
00404      35,  // U+0D28 - U+0D2F : 0x55555505
00405       6,  // U+0D30 - U+0D37 : 0x55555555
00406     101,  // U+0D38 - U+0D3F : 0x11000055
00407     110,  // U+0D40 - U+0D47 : 0x11001111
00408     103,  // U+0D48 - U+0D4F : 0x00111101
00409      73,  // U+0D50 - U+0D57 : 0x10000000
00410      17,  // U+0D58 - U+0D5F : 0x00000000
00411      93,  // U+0D60 - U+0D67 : 0x22000055
00412       3,  // U+0D68 - U+0D6F : 0x22222222
00413      17,  // U+0D70 - U+0D77 : 0x00000000
00414      17,  // U+0D78 - U+0D7F : 0x00000000
00415      17,  // U+0D80 - U+0D87 : 0x00000000
00416      17,  // U+0D88 - U+0D8F : 0x00000000
00417      17,  // U+0D90 - U+0D97 : 0x00000000
00418      17,  // U+0D98 - U+0D9F : 0x00000000
00419      17,  // U+0DA0 - U+0DA7 : 0x00000000
00420      17,  // U+0DA8 - U+0DAF : 0x00000000
00421      17,  // U+0DB0 - U+0DB7 : 0x00000000
00422      17,  // U+0DB8 - U+0DBF : 0x00000000
00423      17,  // U+0DC0 - U+0DC7 : 0x00000000
00424      17,  // U+0DC8 - U+0DCF : 0x00000000
00425      17,  // U+0DD0 - U+0DD7 : 0x00000000
00426      17,  // U+0DD8 - U+0DDF : 0x00000000
00427      17,  // U+0DE0 - U+0DE7 : 0x00000000
00428      17,  // U+0DE8 - U+0DEF : 0x00000000
00429      17,  // U+0DF0 - U+0DF7 : 0x00000000
00430      17,  // U+0DF8 - U+0DFF : 0x00000000
00431      37,  // U+0E00 - U+0E07 : 0x55555550
00432       6,  // U+0E08 - U+0E0F : 0x55555555
00433       6,  // U+0E10 - U+0E17 : 0x55555555
00434       6,  // U+0E18 - U+0E1F : 0x55555555
00435       6,  // U+0E20 - U+0E27 : 0x55555555
00436       6,  // U+0E28 - U+0E2F : 0x55555555
00437     111,  // U+0E30 - U+0E37 : 0x11115515
00438     112,  // U+0E38 - U+0E3F : 0x70000111
00439     113,  // U+0E40 - U+0E47 : 0x15555555
00440     114,  // U+0E48 - U+0E4F : 0x71111111
00441       3,  // U+0E50 - U+0E57 : 0x22222222
00442     115,  // U+0E58 - U+0E5F : 0x00006622
00443      17,  // U+0E60 - U+0E67 : 0x00000000
00444      17,  // U+0E68 - U+0E6F : 0x00000000
00445      17,  // U+0E70 - U+0E77 : 0x00000000
00446      17,  // U+0E78 - U+0E7F : 0x00000000
00447     116,  // U+0E80 - U+0E87 : 0x50050550
00448     117,  // U+0E88 - U+0E8F : 0x00500505
00449     118,  // U+0E90 - U+0E97 : 0x55550000
00450      37,  // U+0E98 - U+0E9F : 0x55555550
00451     119,  // U+0EA0 - U+0EA7 : 0x50505550
00452     120,  // U+0EA8 - U+0EAF : 0x55505500
00453     111,  // U+0EB0 - U+0EB7 : 0x11115515
00454     121,  // U+0EB8 - U+0EBF : 0x00511011
00455     122,  // U+0EC0 - U+0EC7 : 0x05055555
00456      26,  // U+0EC8 - U+0ECF : 0x00111111
00457       3,  // U+0ED0 - U+0ED7 : 0x22222222
00458     123,  // U+0ED8 - U+0EDF : 0x00550022
00459      17,  // U+0EE0 - U+0EE7 : 0x00000000
00460      17,  // U+0EE8 - U+0EEF : 0x00000000
00461      17,  // U+0EF0 - U+0EF7 : 0x00000000
00462      17,  // U+0EF8 - U+0EFF : 0x00000000
00463     124,  // U+0F00 - U+0F07 : 0x66667775
00464     125,  // U+0F08 - U+0F0F : 0x66666666
00465     126,  // U+0F10 - U+0F17 : 0x77777666
00466     127,  // U+0F18 - U+0F1F : 0x77777711
00467       3,  // U+0F20 - U+0F27 : 0x22222222
00468       3,  // U+0F28 - U+0F2F : 0x22222222
00469     128,  // U+0F30 - U+0F37 : 0x17172222
00470     129,  // U+0F38 - U+0F3F : 0x11666617
00471       6,  // U+0F40 - U+0F47 : 0x55555555
00472      37,  // U+0F48 - U+0F4F : 0x55555550
00473       6,  // U+0F50 - U+0F57 : 0x55555555
00474       6,  // U+0F58 - U+0F5F : 0x55555555
00475       6,  // U+0F60 - U+0F67 : 0x55555555
00476      43,  // U+0F68 - U+0F6F : 0x00000055
00477      46,  // U+0F70 - U+0F77 : 0x11111110
00478      25,  // U+0F78 - U+0F7F : 0x11111111
00479     130,  // U+0F80 - U+0F87 : 0x11611111
00480      36,  // U+0F88 - U+0F8F : 0x00005555
00481      87,  // U+0F90 - U+0F97 : 0x10111111
00482      46,  // U+0F98 - U+0F9F : 0x11111110
00483      25,  // U+0FA0 - U+0FA7 : 0x11111111
00484      26,  // U+0FA8 - U+0FAF : 0x00111111
00485      46,  // U+0FB0 - U+0FB7 : 0x11111110
00486     131,  // U+0FB8 - U+0FBF : 0x00000010
00487      17,  // U+0FC0 - U+0FC7 : 0x00000000
00488      17,  // U+0FC8 - U+0FCF : 0x00000000
00489      17,  // U+0FD0 - U+0FD7 : 0x00000000
00490      17,  // U+0FD8 - U+0FDF : 0x00000000
00491      17,  // U+0FE0 - U+0FE7 : 0x00000000
00492      17,  // U+0FE8 - U+0FEF : 0x00000000
00493      17,  // U+0FF0 - U+0FF7 : 0x00000000
00494      17,  // U+0FF8 - U+0FFF : 0x00000000
00495      17,  // U+1000 - U+1007 : 0x00000000
00496      17,  // U+1008 - U+100F : 0x00000000
00497      17,  // U+1010 - U+1017 : 0x00000000
00498      17,  // U+1018 - U+101F : 0x00000000
00499      17,  // U+1020 - U+1027 : 0x00000000
00500      17,  // U+1028 - U+102F : 0x00000000
00501      17,  // U+1030 - U+1037 : 0x00000000
00502      17,  // U+1038 - U+103F : 0x00000000
00503      17,  // U+1040 - U+1047 : 0x00000000
00504      17,  // U+1048 - U+104F : 0x00000000
00505      17,  // U+1050 - U+1057 : 0x00000000
00506      17,  // U+1058 - U+105F : 0x00000000
00507      17,  // U+1060 - U+1067 : 0x00000000
00508      17,  // U+1068 - U+106F : 0x00000000
00509      17,  // U+1070 - U+1077 : 0x00000000
00510      17,  // U+1078 - U+107F : 0x00000000
00511      17,  // U+1080 - U+1087 : 0x00000000
00512      17,  // U+1088 - U+108F : 0x00000000
00513      17,  // U+1090 - U+1097 : 0x00000000
00514      17,  // U+1098 - U+109F : 0x00000000
00515       6,  // U+10A0 - U+10A7 : 0x55555555
00516       6,  // U+10A8 - U+10AF : 0x55555555
00517       6,  // U+10B0 - U+10B7 : 0x55555555
00518       6,  // U+10B8 - U+10BF : 0x55555555
00519      15,  // U+10C0 - U+10C7 : 0x00555555
00520      17,  // U+10C8 - U+10CF : 0x00000000
00521       6,  // U+10D0 - U+10D7 : 0x55555555
00522       6,  // U+10D8 - U+10DF : 0x55555555
00523       6,  // U+10E0 - U+10E7 : 0x55555555
00524       6,  // U+10E8 - U+10EF : 0x55555555
00525      33,  // U+10F0 - U+10F7 : 0x05555555
00526     132,  // U+10F8 - U+10FF : 0x00006000
00527       6,  // U+1100 - U+1107 : 0x55555555
00528       6,  // U+1108 - U+110F : 0x55555555
00529       6,  // U+1110 - U+1117 : 0x55555555
00530       6,  // U+1118 - U+111F : 0x55555555
00531       6,  // U+1120 - U+1127 : 0x55555555
00532       6,  // U+1128 - U+112F : 0x55555555
00533       6,  // U+1130 - U+1137 : 0x55555555
00534       6,  // U+1138 - U+113F : 0x55555555
00535       6,  // U+1140 - U+1147 : 0x55555555
00536       6,  // U+1148 - U+114F : 0x55555555
00537       6,  // U+1150 - U+1157 : 0x55555555
00538     133,  // U+1158 - U+115F : 0x50000055
00539       6,  // U+1160 - U+1167 : 0x55555555
00540       6,  // U+1168 - U+116F : 0x55555555
00541       6,  // U+1170 - U+1177 : 0x55555555
00542       6,  // U+1178 - U+117F : 0x55555555
00543       6,  // U+1180 - U+1187 : 0x55555555
00544       6,  // U+1188 - U+118F : 0x55555555
00545       6,  // U+1190 - U+1197 : 0x55555555
00546       6,  // U+1198 - U+119F : 0x55555555
00547      50,  // U+11A0 - U+11A7 : 0x00000555
00548       6,  // U+11A8 - U+11AF : 0x55555555
00549       6,  // U+11B0 - U+11B7 : 0x55555555
00550       6,  // U+11B8 - U+11BF : 0x55555555
00551       6,  // U+11C0 - U+11C7 : 0x55555555
00552       6,  // U+11C8 - U+11CF : 0x55555555
00553       6,  // U+11D0 - U+11D7 : 0x55555555
00554       6,  // U+11D8 - U+11DF : 0x55555555
00555       6,  // U+11E0 - U+11E7 : 0x55555555
00556       6,  // U+11E8 - U+11EF : 0x55555555
00557       6,  // U+11F0 - U+11F7 : 0x55555555
00558      43,  // U+11F8 - U+11FF : 0x00000055
00559 };
00560 
00561 static const PRUint8 gGenCatIdx3[320] = {
00562       6,  // U+1E00 - U+1E07 : 0x55555555
00563       6,  // U+1E08 - U+1E0F : 0x55555555
00564       6,  // U+1E10 - U+1E17 : 0x55555555
00565       6,  // U+1E18 - U+1E1F : 0x55555555
00566       6,  // U+1E20 - U+1E27 : 0x55555555
00567       6,  // U+1E28 - U+1E2F : 0x55555555
00568       6,  // U+1E30 - U+1E37 : 0x55555555
00569       6,  // U+1E38 - U+1E3F : 0x55555555
00570       6,  // U+1E40 - U+1E47 : 0x55555555
00571       6,  // U+1E48 - U+1E4F : 0x55555555
00572       6,  // U+1E50 - U+1E57 : 0x55555555
00573       6,  // U+1E58 - U+1E5F : 0x55555555
00574       6,  // U+1E60 - U+1E67 : 0x55555555
00575       6,  // U+1E68 - U+1E6F : 0x55555555
00576       6,  // U+1E70 - U+1E77 : 0x55555555
00577       6,  // U+1E78 - U+1E7F : 0x55555555
00578       6,  // U+1E80 - U+1E87 : 0x55555555
00579       6,  // U+1E88 - U+1E8F : 0x55555555
00580       6,  // U+1E90 - U+1E97 : 0x55555555
00581      36,  // U+1E98 - U+1E9F : 0x00005555
00582       6,  // U+1EA0 - U+1EA7 : 0x55555555
00583       6,  // U+1EA8 - U+1EAF : 0x55555555
00584       6,  // U+1EB0 - U+1EB7 : 0x55555555
00585       6,  // U+1EB8 - U+1EBF : 0x55555555
00586       6,  // U+1EC0 - U+1EC7 : 0x55555555
00587       6,  // U+1EC8 - U+1ECF : 0x55555555
00588       6,  // U+1ED0 - U+1ED7 : 0x55555555
00589       6,  // U+1ED8 - U+1EDF : 0x55555555
00590       6,  // U+1EE0 - U+1EE7 : 0x55555555
00591       6,  // U+1EE8 - U+1EEF : 0x55555555
00592       6,  // U+1EF0 - U+1EF7 : 0x55555555
00593      43,  // U+1EF8 - U+1EFF : 0x00000055
00594       6,  // U+1F00 - U+1F07 : 0x55555555
00595       6,  // U+1F08 - U+1F0F : 0x55555555
00596      15,  // U+1F10 - U+1F17 : 0x00555555
00597      15,  // U+1F18 - U+1F1F : 0x00555555
00598       6,  // U+1F20 - U+1F27 : 0x55555555
00599       6,  // U+1F28 - U+1F2F : 0x55555555
00600       6,  // U+1F30 - U+1F37 : 0x55555555
00601       6,  // U+1F38 - U+1F3F : 0x55555555
00602      15,  // U+1F40 - U+1F47 : 0x00555555
00603      15,  // U+1F48 - U+1F4F : 0x00555555
00604       6,  // U+1F50 - U+1F57 : 0x55555555
00605     134,  // U+1F58 - U+1F5F : 0x50505050
00606       6,  // U+1F60 - U+1F67 : 0x55555555
00607       6,  // U+1F68 - U+1F6F : 0x55555555
00608       6,  // U+1F70 - U+1F77 : 0x55555555
00609      15,  // U+1F78 - U+1F7F : 0x00555555
00610       6,  // U+1F80 - U+1F87 : 0x55555555
00611       6,  // U+1F88 - U+1F8F : 0x55555555
00612       6,  // U+1F90 - U+1F97 : 0x55555555
00613       6,  // U+1F98 - U+1F9F : 0x55555555
00614       6,  // U+1FA0 - U+1FA7 : 0x55555555
00615       6,  // U+1FA8 - U+1FAF : 0x55555555
00616      38,  // U+1FB0 - U+1FB7 : 0x55055555
00617     135,  // U+1FB8 - U+1FBF : 0x75755555
00618     136,  // U+1FC0 - U+1FC7 : 0x55055577
00619      23,  // U+1FC8 - U+1FCF : 0x77755555
00620      42,  // U+1FD0 - U+1FD7 : 0x55005555
00621     137,  // U+1FD8 - U+1FDF : 0x77705555
00622       6,  // U+1FE0 - U+1FE7 : 0x55555555
00623      23,  // U+1FE8 - U+1FEF : 0x77755555
00624     138,  // U+1FF0 - U+1FF7 : 0x55055500
00625     139,  // U+1FF8 - U+1FFF : 0x07755555
00626     140,  // U+2000 - U+2007 : 0x33333333
00627     141,  // U+2008 - U+200F : 0x44443333
00628     125,  // U+2010 - U+2017 : 0x66666666
00629     125,  // U+2018 - U+201F : 0x66666666
00630     125,  // U+2020 - U+2027 : 0x66666666
00631     142,  // U+2028 - U+202F : 0x04444433
00632     125,  // U+2030 - U+2037 : 0x66666666
00633     125,  // U+2038 - U+203F : 0x66666666
00634     143,  // U+2040 - U+2047 : 0x06676666
00635      17,  // U+2048 - U+204F : 0x00000000
00636      17,  // U+2050 - U+2057 : 0x00000000
00637      17,  // U+2058 - U+205F : 0x00000000
00638      17,  // U+2060 - U+2067 : 0x00000000
00639     144,  // U+2068 - U+206F : 0x44444400
00640     145,  // U+2070 - U+2077 : 0x22220002
00641     146,  // U+2078 - U+207F : 0x56677722
00642       3,  // U+2080 - U+2087 : 0x22222222
00643     147,  // U+2088 - U+208F : 0x06677722
00644      17,  // U+2090 - U+2097 : 0x00000000
00645      17,  // U+2098 - U+209F : 0x00000000
00646      21,  // U+20A0 - U+20A7 : 0x77777777
00647     148,  // U+20A8 - U+20AF : 0x00077777
00648      17,  // U+20B0 - U+20B7 : 0x00000000
00649      17,  // U+20B8 - U+20BF : 0x00000000
00650      17,  // U+20C0 - U+20C7 : 0x00000000
00651      17,  // U+20C8 - U+20CF : 0x00000000
00652      25,  // U+20D0 - U+20D7 : 0x11111111
00653      25,  // U+20D8 - U+20DF : 0x11111111
00654      27,  // U+20E0 - U+20E7 : 0x00000011
00655      17,  // U+20E8 - U+20EF : 0x00000000
00656      17,  // U+20F0 - U+20F7 : 0x00000000
00657      17,  // U+20F8 - U+20FF : 0x00000000
00658     149,  // U+2100 - U+2107 : 0x57777577
00659     150,  // U+2108 - U+210F : 0x55555577
00660     151,  // U+2110 - U+2117 : 0x77575555
00661     152,  // U+2118 - U+211F : 0x77555555
00662     153,  // U+2120 - U+2127 : 0x75757777
00663     154,  // U+2128 - U+212F : 0x55555575
00664     155,  // U+2130 - U+2137 : 0x55555755
00665      18,  // U+2138 - U+213F : 0x00000005
00666      17,  // U+2140 - U+2147 : 0x00000000
00667      17,  // U+2148 - U+214F : 0x00000000
00668     156,  // U+2150 - U+2157 : 0x22222000
00669       3,  // U+2158 - U+215F : 0x22222222
00670       3,  // U+2160 - U+2167 : 0x22222222
00671       3,  // U+2168 - U+216F : 0x22222222
00672       3,  // U+2170 - U+2177 : 0x22222222
00673       3,  // U+2178 - U+217F : 0x22222222
00674     105,  // U+2180 - U+2187 : 0x00000222
00675      17,  // U+2188 - U+218F : 0x00000000
00676      21,  // U+2190 - U+2197 : 0x77777777
00677      21,  // U+2198 - U+219F : 0x77777777
00678      21,  // U+21A0 - U+21A7 : 0x77777777
00679      21,  // U+21A8 - U+21AF : 0x77777777
00680      21,  // U+21B0 - U+21B7 : 0x77777777
00681      21,  // U+21B8 - U+21BF : 0x77777777
00682      21,  // U+21C0 - U+21C7 : 0x77777777
00683      21,  // U+21C8 - U+21CF : 0x77777777
00684      21,  // U+21D0 - U+21D7 : 0x77777777
00685      21,  // U+21D8 - U+21DF : 0x77777777
00686      21,  // U+21E0 - U+21E7 : 0x77777777
00687     157,  // U+21E8 - U+21EF : 0x00000777
00688      17,  // U+21F0 - U+21F7 : 0x00000000
00689      17,  // U+21F8 - U+21FF : 0x00000000
00690      21,  // U+2200 - U+2207 : 0x77777777
00691      21,  // U+2208 - U+220F : 0x77777777
00692      21,  // U+2210 - U+2217 : 0x77777777
00693      21,  // U+2218 - U+221F : 0x77777777
00694      21,  // U+2220 - U+2227 : 0x77777777
00695      21,  // U+2228 - U+222F : 0x77777777
00696      21,  // U+2230 - U+2237 : 0x77777777
00697      21,  // U+2238 - U+223F : 0x77777777
00698      21,  // U+2240 - U+2247 : 0x77777777
00699      21,  // U+2248 - U+224F : 0x77777777
00700      21,  // U+2250 - U+2257 : 0x77777777
00701      21,  // U+2258 - U+225F : 0x77777777
00702      21,  // U+2260 - U+2267 : 0x77777777
00703      21,  // U+2268 - U+226F : 0x77777777
00704      21,  // U+2270 - U+2277 : 0x77777777
00705      21,  // U+2278 - U+227F : 0x77777777
00706      21,  // U+2280 - U+2287 : 0x77777777
00707      21,  // U+2288 - U+228F : 0x77777777
00708      21,  // U+2290 - U+2297 : 0x77777777
00709      21,  // U+2298 - U+229F : 0x77777777
00710      21,  // U+22A0 - U+22A7 : 0x77777777
00711      21,  // U+22A8 - U+22AF : 0x77777777
00712      21,  // U+22B0 - U+22B7 : 0x77777777
00713      21,  // U+22B8 - U+22BF : 0x77777777
00714      21,  // U+22C0 - U+22C7 : 0x77777777
00715      21,  // U+22C8 - U+22CF : 0x77777777
00716      21,  // U+22D0 - U+22D7 : 0x77777777
00717      21,  // U+22D8 - U+22DF : 0x77777777
00718      21,  // U+22E0 - U+22E7 : 0x77777777
00719      21,  // U+22E8 - U+22EF : 0x77777777
00720      24,  // U+22F0 - U+22F7 : 0x00000077
00721      17,  // U+22F8 - U+22FF : 0x00000000
00722     158,  // U+2300 - U+2307 : 0x77777707
00723      21,  // U+2308 - U+230F : 0x77777777
00724      21,  // U+2310 - U+2317 : 0x77777777
00725      21,  // U+2318 - U+231F : 0x77777777
00726      21,  // U+2320 - U+2327 : 0x77777777
00727     159,  // U+2328 - U+232F : 0x77777667
00728      21,  // U+2330 - U+2337 : 0x77777777
00729      21,  // U+2338 - U+233F : 0x77777777
00730      21,  // U+2340 - U+2347 : 0x77777777
00731      21,  // U+2348 - U+234F : 0x77777777
00732      21,  // U+2350 - U+2357 : 0x77777777
00733      21,  // U+2358 - U+235F : 0x77777777
00734      21,  // U+2360 - U+2367 : 0x77777777
00735      21,  // U+2368 - U+236F : 0x77777777
00736      21,  // U+2370 - U+2377 : 0x77777777
00737     157,  // U+2378 - U+237F : 0x00000777
00738      17,  // U+2380 - U+2387 : 0x00000000
00739      17,  // U+2388 - U+238F : 0x00000000
00740      17,  // U+2390 - U+2397 : 0x00000000
00741      17,  // U+2398 - U+239F : 0x00000000
00742      17,  // U+23A0 - U+23A7 : 0x00000000
00743      17,  // U+23A8 - U+23AF : 0x00000000
00744      17,  // U+23B0 - U+23B7 : 0x00000000
00745      17,  // U+23B8 - U+23BF : 0x00000000
00746      17,  // U+23C0 - U+23C7 : 0x00000000
00747      17,  // U+23C8 - U+23CF : 0x00000000
00748      17,  // U+23D0 - U+23D7 : 0x00000000
00749      17,  // U+23D8 - U+23DF : 0x00000000
00750      17,  // U+23E0 - U+23E7 : 0x00000000
00751      17,  // U+23E8 - U+23EF : 0x00000000
00752      17,  // U+23F0 - U+23F7 : 0x00000000
00753      17,  // U+23F8 - U+23FF : 0x00000000
00754      21,  // U+2400 - U+2407 : 0x77777777
00755      21,  // U+2408 - U+240F : 0x77777777
00756      21,  // U+2410 - U+2417 : 0x77777777
00757      21,  // U+2418 - U+241F : 0x77777777
00758     148,  // U+2420 - U+2427 : 0x00077777
00759      17,  // U+2428 - U+242F : 0x00000000
00760      17,  // U+2430 - U+2437 : 0x00000000
00761      17,  // U+2438 - U+243F : 0x00000000
00762      21,  // U+2440 - U+2447 : 0x77777777
00763     157,  // U+2448 - U+244F : 0x00000777
00764      17,  // U+2450 - U+2457 : 0x00000000
00765      17,  // U+2458 - U+245F : 0x00000000
00766       3,  // U+2460 - U+2467 : 0x22222222
00767       3,  // U+2468 - U+246F : 0x22222222
00768       3,  // U+2470 - U+2477 : 0x22222222
00769       3,  // U+2478 - U+247F : 0x22222222
00770       3,  // U+2480 - U+2487 : 0x22222222
00771       3,  // U+2488 - U+248F : 0x22222222
00772       3,  // U+2490 - U+2497 : 0x22222222
00773     160,  // U+2498 - U+249F : 0x77772222
00774      21,  // U+24A0 - U+24A7 : 0x77777777
00775      21,  // U+24A8 - U+24AF : 0x77777777
00776      21,  // U+24B0 - U+24B7 : 0x77777777
00777      21,  // U+24B8 - U+24BF : 0x77777777
00778      21,  // U+24C0 - U+24C7 : 0x77777777
00779      21,  // U+24C8 - U+24CF : 0x77777777
00780      21,  // U+24D0 - U+24D7 : 0x77777777
00781      21,  // U+24D8 - U+24DF : 0x77777777
00782      21,  // U+24E0 - U+24E7 : 0x77777777
00783     161,  // U+24E8 - U+24EF : 0x00000277
00784      17,  // U+24F0 - U+24F7 : 0x00000000
00785      17,  // U+24F8 - U+24FF : 0x00000000
00786      21,  // U+2500 - U+2507 : 0x77777777
00787      21,  // U+2508 - U+250F : 0x77777777
00788      21,  // U+2510 - U+2517 : 0x77777777
00789      21,  // U+2518 - U+251F : 0x77777777
00790      21,  // U+2520 - U+2527 : 0x77777777
00791      21,  // U+2528 - U+252F : 0x77777777
00792      21,  // U+2530 - U+2537 : 0x77777777
00793      21,  // U+2538 - U+253F : 0x77777777
00794      21,  // U+2540 - U+2547 : 0x77777777
00795      21,  // U+2548 - U+254F : 0x77777777
00796      21,  // U+2550 - U+2557 : 0x77777777
00797      21,  // U+2558 - U+255F : 0x77777777
00798      21,  // U+2560 - U+2567 : 0x77777777
00799      21,  // U+2568 - U+256F : 0x77777777
00800      21,  // U+2570 - U+2577 : 0x77777777
00801      21,  // U+2578 - U+257F : 0x77777777
00802      21,  // U+2580 - U+2587 : 0x77777777
00803      21,  // U+2588 - U+258F : 0x77777777
00804     162,  // U+2590 - U+2597 : 0x00777777
00805      17,  // U+2598 - U+259F : 0x00000000
00806      21,  // U+25A0 - U+25A7 : 0x77777777
00807      21,  // U+25A8 - U+25AF : 0x77777777
00808      21,  // U+25B0 - U+25B7 : 0x77777777
00809      21,  // U+25B8 - U+25BF : 0x77777777
00810      21,  // U+25C0 - U+25C7 : 0x77777777
00811      21,  // U+25C8 - U+25CF : 0x77777777
00812      21,  // U+25D0 - U+25D7 : 0x77777777
00813      21,  // U+25D8 - U+25DF : 0x77777777
00814      21,  // U+25E0 - U+25E7 : 0x77777777
00815      21,  // U+25E8 - U+25EF : 0x77777777
00816      17,  // U+25F0 - U+25F7 : 0x00000000
00817      17,  // U+25F8 - U+25FF : 0x00000000
00818      21,  // U+2600 - U+2607 : 0x77777777
00819      21,  // U+2608 - U+260F : 0x77777777
00820     163,  // U+2610 - U+2617 : 0x00007777
00821     164,  // U+2618 - U+261F : 0x77777700
00822      21,  // U+2620 - U+2627 : 0x77777777
00823      21,  // U+2628 - U+262F : 0x77777777
00824      21,  // U+2630 - U+2637 : 0x77777777
00825      21,  // U+2638 - U+263F : 0x77777777
00826      21,  // U+2640 - U+2647 : 0x77777777
00827      21,  // U+2648 - U+264F : 0x77777777
00828      21,  // U+2650 - U+2657 : 0x77777777
00829      21,  // U+2658 - U+265F : 0x77777777
00830      21,  // U+2660 - U+2667 : 0x77777777
00831      21,  // U+2668 - U+266F : 0x77777777
00832      17,  // U+2670 - U+2677 : 0x00000000
00833      17,  // U+2678 - U+267F : 0x00000000
00834      17,  // U+2680 - U+2687 : 0x00000000
00835      17,  // U+2688 - U+268F : 0x00000000
00836      17,  // U+2690 - U+2697 : 0x00000000
00837      17,  // U+2698 - U+269F : 0x00000000
00838      17,  // U+26A0 - U+26A7 : 0x00000000
00839      17,  // U+26A8 - U+26AF : 0x00000000
00840      17,  // U+26B0 - U+26B7 : 0x00000000
00841      17,  // U+26B8 - U+26BF : 0x00000000
00842      17,  // U+26C0 - U+26C7 : 0x00000000
00843      17,  // U+26C8 - U+26CF : 0x00000000
00844      17,  // U+26D0 - U+26D7 : 0x00000000
00845      17,  // U+26D8 - U+26DF : 0x00000000
00846      17,  // U+26E0 - U+26E7 : 0x00000000
00847      17,  // U+26E8 - U+26EF : 0x00000000
00848      17,  // U+26F0 - U+26F7 : 0x00000000
00849      17,  // U+26F8 - U+26FF : 0x00000000
00850     165,  // U+2700 - U+2707 : 0x77077770
00851     166,  // U+2708 - U+270F : 0x77770077
00852      21,  // U+2710 - U+2717 : 0x77777777
00853      21,  // U+2718 - U+271F : 0x77777777
00854      21,  // U+2720 - U+2727 : 0x77777777
00855     167,  // U+2728 - U+272F : 0x77777770
00856      21,  // U+2730 - U+2737 : 0x77777777
00857      21,  // U+2738 - U+273F : 0x77777777
00858      21,  // U+2740 - U+2747 : 0x77777777
00859     168,  // U+2748 - U+274F : 0x70707777
00860     169,  // U+2750 - U+2757 : 0x07000777
00861      22,  // U+2758 - U+275F : 0x07777777
00862     167,  // U+2760 - U+2767 : 0x77777770
00863      17,  // U+2768 - U+276F : 0x00000000
00864      83,  // U+2770 - U+2777 : 0x22000000
00865       3,  // U+2778 - U+277F : 0x22222222
00866       3,  // U+2780 - U+2787 : 0x22222222
00867       3,  // U+2788 - U+278F : 0x22222222
00868     170,  // U+2790 - U+2797 : 0x00072222
00869      21,  // U+2798 - U+279F : 0x77777777
00870      21,  // U+27A0 - U+27A7 : 0x77777777
00871      21,  // U+27A8 - U+27AF : 0x77777777
00872     167,  // U+27B0 - U+27B7 : 0x77777770
00873      22,  // U+27B8 - U+27BF : 0x07777777
00874      17,  // U+27C0 - U+27C7 : 0x00000000
00875      17,  // U+27C8 - U+27CF : 0x00000000
00876      17,  // U+27D0 - U+27D7 : 0x00000000
00877      17,  // U+27D8 - U+27DF : 0x00000000
00878      17,  // U+27E0 - U+27E7 : 0x00000000
00879      17,  // U+27E8 - U+27EF : 0x00000000
00880      17,  // U+27F0 - U+27F7 : 0x00000000
00881      17,  // U+27F8 - U+27FF : 0x00000000
00882 };
00883 
00884 static const PRUint8 gGenCatIdx4[128] = {
00885     171,  // U+3000 - U+3007 : 0x25576663
00886     125,  // U+3008 - U+300F : 0x66666666
00887     172,  // U+3010 - U+3017 : 0x66667766
00888     125,  // U+3018 - U+301F : 0x66666666
00889     173,  // U+3020 - U+3027 : 0x22222227
00890     174,  // U+3028 - U+302F : 0x11111122
00891     175,  // U+3030 - U+3037 : 0x77555556
00892     176,  // U+3038 - U+303F : 0x70000000
00893      37,  // U+3040 - U+3047 : 0x55555550
00894       6,  // U+3048 - U+304F : 0x55555555
00895       6,  // U+3050 - U+3057 : 0x55555555
00896       6,  // U+3058 - U+305F : 0x55555555
00897       6,  // U+3060 - U+3067 : 0x55555555
00898       6,  // U+3068 - U+306F : 0x55555555
00899       6,  // U+3070 - U+3077 : 0x55555555
00900       6,  // U+3078 - U+307F : 0x55555555
00901       6,  // U+3080 - U+3087 : 0x55555555
00902       6,  // U+3088 - U+308F : 0x55555555
00903     177,  // U+3090 - U+3097 : 0x00055555
00904     178,  // U+3098 - U+309F : 0x05577110
00905      37,  // U+30A0 - U+30A7 : 0x55555550
00906       6,  // U+30A8 - U+30AF : 0x55555555
00907       6,  // U+30B0 - U+30B7 : 0x55555555
00908       6,  // U+30B8 - U+30BF : 0x55555555
00909       6,  // U+30C0 - U+30C7 : 0x55555555
00910       6,  // U+30C8 - U+30CF : 0x55555555
00911       6,  // U+30D0 - U+30D7 : 0x55555555
00912       6,  // U+30D8 - U+30DF : 0x55555555
00913       6,  // U+30E0 - U+30E7 : 0x55555555
00914       6,  // U+30E8 - U+30EF : 0x55555555
00915       6,  // U+30F0 - U+30F7 : 0x55555555
00916     179,  // U+30F8 - U+30FF : 0x05556555
00917     180,  // U+3100 - U+3107 : 0x55500000
00918       6,  // U+3108 - U+310F : 0x55555555
00919       6,  // U+3110 - U+3117 : 0x55555555
00920       6,  // U+3118 - U+311F : 0x55555555
00921       6,  // U+3120 - U+3127 : 0x55555555
00922     177,  // U+3128 - U+312F : 0x00055555
00923      37,  // U+3130 - U+3137 : 0x55555550
00924       6,  // U+3138 - U+313F : 0x55555555
00925       6,  // U+3140 - U+3147 : 0x55555555
00926       6,  // U+3148 - U+314F : 0x55555555
00927       6,  // U+3150 - U+3157 : 0x55555555
00928       6,  // U+3158 - U+315F : 0x55555555
00929       6,  // U+3160 - U+3167 : 0x55555555
00930       6,  // U+3168 - U+316F : 0x55555555
00931       6,  // U+3170 - U+3177 : 0x55555555
00932       6,  // U+3178 - U+317F : 0x55555555
00933       6,  // U+3180 - U+3187 : 0x55555555
00934      33,  // U+3188 - U+318F : 0x05555555
00935     181,  // U+3190 - U+3197 : 0x77222277
00936      21,  // U+3198 - U+319F : 0x77777777
00937      17,  // U+31A0 - U+31A7 : 0x00000000
00938      17,  // U+31A8 - U+31AF : 0x00000000
00939      17,  // U+31B0 - U+31B7 : 0x00000000
00940      17,  // U+31B8 - U+31BF : 0x00000000
00941      17,  // U+31C0 - U+31C7 : 0x00000000
00942      17,  // U+31C8 - U+31CF : 0x00000000
00943      17,  // U+31D0 - U+31D7 : 0x00000000
00944      17,  // U+31D8 - U+31DF : 0x00000000
00945      17,  // U+31E0 - U+31E7 : 0x00000000
00946      17,  // U+31E8 - U+31EF : 0x00000000
00947      17,  // U+31F0 - U+31F7 : 0x00000000
00948      17,  // U+31F8 - U+31FF : 0x00000000
00949      21,  // U+3200 - U+3207 : 0x77777777
00950      21,  // U+3208 - U+320F : 0x77777777
00951      21,  // U+3210 - U+3217 : 0x77777777
00952     148,  // U+3218 - U+321F : 0x00077777
00953       3,  // U+3220 - U+3227 : 0x22222222
00954     182,  // U+3228 - U+322F : 0x77777722
00955      21,  // U+3230 - U+3237 : 0x77777777
00956      21,  // U+3238 - U+323F : 0x77777777
00957     163,  // U+3240 - U+3247 : 0x00007777
00958      17,  // U+3248 - U+324F : 0x00000000
00959      17,  // U+3250 - U+3257 : 0x00000000
00960      17,  // U+3258 - U+325F : 0x00000000
00961      21,  // U+3260 - U+3267 : 0x77777777
00962      21,  // U+3268 - U+326F : 0x77777777
00963      21,  // U+3270 - U+3277 : 0x77777777
00964     183,  // U+3278 - U+327F : 0x70007777
00965       3,  // U+3280 - U+3287 : 0x22222222
00966     182,  // U+3288 - U+328F : 0x77777722
00967      21,  // U+3290 - U+3297 : 0x77777777
00968      21,  // U+3298 - U+329F : 0x77777777
00969      21,  // U+32A0 - U+32A7 : 0x77777777
00970      21,  // U+32A8 - U+32AF : 0x77777777
00971      94,  // U+32B0 - U+32B7 : 0x00000007
00972      17,  // U+32B8 - U+32BF : 0x00000000
00973      21,  // U+32C0 - U+32C7 : 0x77777777
00974     163,  // U+32C8 - U+32CF : 0x00007777
00975      21,  // U+32D0 - U+32D7 : 0x77777777
00976      21,  // U+32D8 - U+32DF : 0x77777777
00977      21,  // U+32E0 - U+32E7 : 0x77777777
00978      21,  // U+32E8 - U+32EF : 0x77777777
00979      21,  // U+32F0 - U+32F7 : 0x77777777
00980      22,  // U+32F8 - U+32FF : 0x07777777
00981      21,  // U+3300 - U+3307 : 0x77777777
00982      21,  // U+3308 - U+330F : 0x77777777
00983      21,  // U+3310 - U+3317 : 0x77777777
00984      21,  // U+3318 - U+331F : 0x77777777
00985      21,  // U+3320 - U+3327 : 0x77777777
00986      21,  // U+3328 - U+332F : 0x77777777
00987      21,  // U+3330 - U+3337 : 0x77777777
00988      21,  // U+3338 - U+333F : 0x77777777
00989      21,  // U+3340 - U+3347 : 0x77777777
00990      21,  // U+3348 - U+334F : 0x77777777
00991      21,  // U+3350 - U+3357 : 0x77777777
00992      21,  // U+3358 - U+335F : 0x77777777
00993      21,  // U+3360 - U+3367 : 0x77777777
00994      21,  // U+3368 - U+336F : 0x77777777
00995      22,  // U+3370 - U+3377 : 0x07777777
00996     184,  // U+3378 - U+337F : 0x77777000
00997      21,  // U+3380 - U+3387 : 0x77777777
00998      21,  // U+3388 - U+338F : 0x77777777
00999      21,  // U+3390 - U+3397 : 0x77777777
01000      21,  // U+3398 - U+339F : 0x77777777
01001      21,  // U+33A0 - U+33A7 : 0x77777777
01002      21,  // U+33A8 - U+33AF : 0x77777777
01003      21,  // U+33B0 - U+33B7 : 0x77777777
01004      21,  // U+33B8 - U+33BF : 0x77777777
01005      21,  // U+33C0 - U+33C7 : 0x77777777
01006      21,  // U+33C8 - U+33CF : 0x77777777
01007      21,  // U+33D0 - U+33D7 : 0x77777777
01008     162,  // U+33D8 - U+33DF : 0x00777777
01009      21,  // U+33E0 - U+33E7 : 0x77777777
01010      21,  // U+33E8 - U+33EF : 0x77777777
01011      21,  // U+33F0 - U+33F7 : 0x77777777
01012      22,  // U+33F8 - U+33FF : 0x07777777
01013 };
01014 
01015 static const PRUint8 gGenCatIdx5[224] = {
01016       6,  // U+F900 - U+F907 : 0x55555555
01017       6,  // U+F908 - U+F90F : 0x55555555
01018       6,  // U+F910 - U+F917 : 0x55555555
01019       6,  // U+F918 - U+F91F : 0x55555555
01020       6,  // U+F920 - U+F927 : 0x55555555
01021       6,  // U+F928 - U+F92F : 0x55555555
01022       6,  // U+F930 - U+F937 : 0x55555555
01023       6,  // U+F938 - U+F93F : 0x55555555
01024       6,  // U+F940 - U+F947 : 0x55555555
01025       6,  // U+F948 - U+F94F : 0x55555555
01026       6,  // U+F950 - U+F957 : 0x55555555
01027       6,  // U+F958 - U+F95F : 0x55555555
01028       6,  // U+F960 - U+F967 : 0x55555555
01029       6,  // U+F968 - U+F96F : 0x55555555
01030       6,  // U+F970 - U+F977 : 0x55555555
01031       6,  // U+F978 - U+F97F : 0x55555555
01032       6,  // U+F980 - U+F987 : 0x55555555
01033       6,  // U+F988 - U+F98F : 0x55555555
01034       6,  // U+F990 - U+F997 : 0x55555555
01035       6,  // U+F998 - U+F99F : 0x55555555
01036       6,  // U+F9A0 - U+F9A7 : 0x55555555
01037       6,  // U+F9A8 - U+F9AF : 0x55555555
01038       6,  // U+F9B0 - U+F9B7 : 0x55555555
01039       6,  // U+F9B8 - U+F9BF : 0x55555555
01040       6,  // U+F9C0 - U+F9C7 : 0x55555555
01041       6,  // U+F9C8 - U+F9CF : 0x55555555
01042       6,  // U+F9D0 - U+F9D7 : 0x55555555
01043       6,  // U+F9D8 - U+F9DF : 0x55555555
01044       6,  // U+F9E0 - U+F9E7 : 0x55555555
01045       6,  // U+F9E8 - U+F9EF : 0x55555555
01046       6,  // U+F9F0 - U+F9F7 : 0x55555555
01047       6,  // U+F9F8 - U+F9FF : 0x55555555
01048       6,  // U+FA00 - U+FA07 : 0x55555555
01049       6,  // U+FA08 - U+FA0F : 0x55555555
01050       6,  // U+FA10 - U+FA17 : 0x55555555
01051       6,  // U+FA18 - U+FA1F : 0x55555555
01052       6,  // U+FA20 - U+FA27 : 0x55555555
01053      15,  // U+FA28 - U+FA2F : 0x00555555
01054      17,  // U+FA30 - U+FA37 : 0x00000000
01055      17,  // U+FA38 - U+FA3F : 0x00000000
01056      17,  // U+FA40 - U+FA47 : 0x00000000
01057      17,  // U+FA48 - U+FA4F : 0x00000000
01058      17,  // U+FA50 - U+FA57 : 0x00000000
01059      17,  // U+FA58 - U+FA5F : 0x00000000
01060      17,  // U+FA60 - U+FA67 : 0x00000000
01061      17,  // U+FA68 - U+FA6F : 0x00000000
01062      17,  // U+FA70 - U+FA77 : 0x00000000
01063      17,  // U+FA78 - U+FA7F : 0x00000000
01064      17,  // U+FA80 - U+FA87 : 0x00000000
01065      17,  // U+FA88 - U+FA8F : 0x00000000
01066      17,  // U+FA90 - U+FA97 : 0x00000000
01067      17,  // U+FA98 - U+FA9F : 0x00000000
01068      17,  // U+FAA0 - U+FAA7 : 0x00000000
01069      17,  // U+FAA8 - U+FAAF : 0x00000000
01070      17,  // U+FAB0 - U+FAB7 : 0x00000000
01071      17,  // U+FAB8 - U+FABF : 0x00000000
01072      17,  // U+FAC0 - U+FAC7 : 0x00000000
01073      17,  // U+FAC8 - U+FACF : 0x00000000
01074      17,  // U+FAD0 - U+FAD7 : 0x00000000
01075      17,  // U+FAD8 - U+FADF : 0x00000000
01076      17,  // U+FAE0 - U+FAE7 : 0x00000000
01077      17,  // U+FAE8 - U+FAEF : 0x00000000
01078      17,  // U+FAF0 - U+FAF7 : 0x00000000
01079      17,  // U+FAF8 - U+FAFF : 0x00000000
01080      33,  // U+FB00 - U+FB07 : 0x05555555
01081      17,  // U+FB08 - U+FB0F : 0x00000000
01082     185,  // U+FB10 - U+FB17 : 0x55555000
01083     186,  // U+FB18 - U+FB1F : 0x51000000
01084       6,  // U+FB20 - U+FB27 : 0x55555555
01085     154,  // U+FB28 - U+FB2F : 0x55555575
01086      33,  // U+FB30 - U+FB37 : 0x05555555
01087     122,  // U+FB38 - U+FB3F : 0x05055555
01088     187,  // U+FB40 - U+FB47 : 0x55055055
01089       6,  // U+FB48 - U+FB4F : 0x55555555
01090       6,  // U+FB50 - U+FB57 : 0x55555555
01091       6,  // U+FB58 - U+FB5F : 0x55555555
01092       6,  // U+FB60 - U+FB67 : 0x55555555
01093       6,  // U+FB68 - U+FB6F : 0x55555555
01094       6,  // U+FB70 - U+FB77 : 0x55555555
01095       6,  // U+FB78 - U+FB7F : 0x55555555
01096       6,  // U+FB80 - U+FB87 : 0x55555555
01097       6,  // U+FB88 - U+FB8F : 0x55555555
01098       6,  // U+FB90 - U+FB97 : 0x55555555
01099       6,  // U+FB98 - U+FB9F : 0x55555555
01100       6,  // U+FBA0 - U+FBA7 : 0x55555555
01101       6,  // U+FBA8 - U+FBAF : 0x55555555
01102      43,  // U+FBB0 - U+FBB7 : 0x00000055
01103      17,  // U+FBB8 - U+FBBF : 0x00000000
01104      17,  // U+FBC0 - U+FBC7 : 0x00000000
01105      17,  // U+FBC8 - U+FBCF : 0x00000000
01106     185,  // U+FBD0 - U+FBD7 : 0x55555000
01107       6,  // U+FBD8 - U+FBDF : 0x55555555
01108       6,  // U+FBE0 - U+FBE7 : 0x55555555
01109       6,  // U+FBE8 - U+FBEF : 0x55555555
01110       6,  // U+FBF0 - U+FBF7 : 0x55555555
01111       6,  // U+FBF8 - U+FBFF : 0x55555555
01112       6,  // U+FC00 - U+FC07 : 0x55555555
01113       6,  // U+FC08 - U+FC0F : 0x55555555
01114       6,  // U+FC10 - U+FC17 : 0x55555555
01115       6,  // U+FC18 - U+FC1F : 0x55555555
01116       6,  // U+FC20 - U+FC27 : 0x55555555
01117       6,  // U+FC28 - U+FC2F : 0x55555555
01118       6,  // U+FC30 - U+FC37 : 0x55555555
01119       6,  // U+FC38 - U+FC3F : 0x55555555
01120       6,  // U+FC40 - U+FC47 : 0x55555555
01121       6,  // U+FC48 - U+FC4F : 0x55555555
01122       6,  // U+FC50 - U+FC57 : 0x55555555
01123       6,  // U+FC58 - U+FC5F : 0x55555555
01124       6,  // U+FC60 - U+FC67 : 0x55555555
01125       6,  // U+FC68 - U+FC6F : 0x55555555
01126       6,  // U+FC70 - U+FC77 : 0x55555555
01127       6,  // U+FC78 - U+FC7F : 0x55555555
01128       6,  // U+FC80 - U+FC87 : 0x55555555
01129       6,  // U+FC88 - U+FC8F : 0x55555555
01130       6,  // U+FC90 - U+FC97 : 0x55555555
01131       6,  // U+FC98 - U+FC9F : 0x55555555
01132       6,  // U+FCA0 - U+FCA7 : 0x55555555
01133       6,  // U+FCA8 - U+FCAF : 0x55555555
01134       6,  // U+FCB0 - U+FCB7 : 0x55555555
01135       6,  // U+FCB8 - U+FCBF : 0x55555555
01136       6,  // U+FCC0 - U+FCC7 : 0x55555555
01137       6,  // U+FCC8 - U+FCCF : 0x55555555
01138       6,  // U+FCD0 - U+FCD7 : 0x55555555
01139       6,  // U+FCD8 - U+FCDF : 0x55555555
01140       6,  // U+FCE0 - U+FCE7 : 0x55555555
01141       6,  // U+FCE8 - U+FCEF : 0x55555555
01142       6,  // U+FCF0 - U+FCF7 : 0x55555555
01143       6,  // U+FCF8 - U+FCFF : 0x55555555
01144       6,  // U+FD00 - U+FD07 : 0x55555555
01145       6,  // U+FD08 - U+FD0F : 0x55555555
01146       6,  // U+FD10 - U+FD17 : 0x55555555
01147       6,  // U+FD18 - U+FD1F : 0x55555555
01148       6,  // U+FD20 - U+FD27 : 0x55555555
01149       6,  // U+FD28 - U+FD2F : 0x55555555
01150       6,  // U+FD30 - U+FD37 : 0x55555555
01151     188,  // U+FD38 - U+FD3F : 0x66555555
01152      17,  // U+FD40 - U+FD47 : 0x00000000
01153      17,  // U+FD48 - U+FD4F : 0x00000000
01154       6,  // U+FD50 - U+FD57 : 0x55555555
01155       6,  // U+FD58 - U+FD5F : 0x55555555
01156       6,  // U+FD60 - U+FD67 : 0x55555555
01157       6,  // U+FD68 - U+FD6F : 0x55555555
01158       6,  // U+FD70 - U+FD77 : 0x55555555
01159       6,  // U+FD78 - U+FD7F : 0x55555555
01160       6,  // U+FD80 - U+FD87 : 0x55555555
01161       6,  // U+FD88 - U+FD8F : 0x55555555
01162      16,  // U+FD90 - U+FD97 : 0x55555500
01163       6,  // U+FD98 - U+FD9F : 0x55555555
01164       6,  // U+FDA0 - U+FDA7 : 0x55555555
01165       6,  // U+FDA8 - U+FDAF : 0x55555555
01166       6,  // U+FDB0 - U+FDB7 : 0x55555555
01167       6,  // U+FDB8 - U+FDBF : 0x55555555
01168       6,  // U+FDC0 - U+FDC7 : 0x55555555
01169      17,  // U+FDC8 - U+FDCF : 0x00000000
01170      17,  // U+FDD0 - U+FDD7 : 0x00000000
01171      17,  // U+FDD8 - U+FDDF : 0x00000000
01172      17,  // U+FDE0 - U+FDE7 : 0x00000000
01173      17,  // U+FDE8 - U+FDEF : 0x00000000
01174       6,  // U+FDF0 - U+FDF7 : 0x55555555
01175      36,  // U+FDF8 - U+FDFF : 0x00005555
01176      17,  // U+FE00 - U+FE07 : 0x00000000
01177      17,  // U+FE08 - U+FE0F : 0x00000000
01178      17,  // U+FE10 - U+FE17 : 0x00000000
01179      17,  // U+FE18 - U+FE1F : 0x00000000
01180     189,  // U+FE20 - U+FE27 : 0x00001111
01181      17,  // U+FE28 - U+FE2F : 0x00000000
01182     125,  // U+FE30 - U+FE37 : 0x66666666
01183     125,  // U+FE38 - U+FE3F : 0x66666666
01184     190,  // U+FE40 - U+FE47 : 0x00066666
01185     191,  // U+FE48 - U+FE4F : 0x66666660
01186     192,  // U+FE50 - U+FE57 : 0x66660666
01187     125,  // U+FE58 - U+FE5F : 0x66666666
01188     193,  // U+FE60 - U+FE67 : 0x07776766
01189     194,  // U+FE68 - U+FE6F : 0x00006676
01190      31,  // U+FE70 - U+FE77 : 0x55050555
01191       6,  // U+FE78 - U+FE7F : 0x55555555
01192       6,  // U+FE80 - U+FE87 : 0x55555555
01193       6,  // U+FE88 - U+FE8F : 0x55555555
01194       6,  // U+FE90 - U+FE97 : 0x55555555
01195       6,  // U+FE98 - U+FE9F : 0x55555555
01196       6,  // U+FEA0 - U+FEA7 : 0x55555555
01197       6,  // U+FEA8 - U+FEAF : 0x55555555
01198       6,  // U+FEB0 - U+FEB7 : 0x55555555
01199       6,  // U+FEB8 - U+FEBF : 0x55555555
01200       6,  // U+FEC0 - U+FEC7 : 0x55555555
01201       6,  // U+FEC8 - U+FECF : 0x55555555
01202       6,  // U+FED0 - U+FED7 : 0x55555555
01203       6,  // U+FED8 - U+FEDF : 0x55555555
01204       6,  // U+FEE0 - U+FEE7 : 0x55555555
01205       6,  // U+FEE8 - U+FEEF : 0x55555555
01206       6,  // U+FEF0 - U+FEF7 : 0x55555555
01207     195,  // U+FEF8 - U+FEFF : 0x40055555
01208     196,  // U+FF00 - U+FF07 : 0x66676660
01209       2,  // U+FF08 - U+FF0F : 0x66667666
01210       3,  // U+FF10 - U+FF17 : 0x22222222
01211       4,  // U+FF18 - U+FF1F : 0x67776622
01212       5,  // U+FF20 - U+FF27 : 0x55555556
01213       6,  // U+FF28 - U+FF2F : 0x55555555
01214       6,  // U+FF30 - U+FF37 : 0x55555555
01215       7,  // U+FF38 - U+FF3F : 0x67666555
01216       8,  // U+FF40 - U+FF47 : 0x55555557
01217       6,  // U+FF48 - U+FF4F : 0x55555555
01218       6,  // U+FF50 - U+FF57 : 0x55555555
01219     197,  // U+FF58 - U+FF5F : 0x07676555
01220     198,  // U+FF60 - U+FF67 : 0x55666660
01221       6,  // U+FF68 - U+FF6F : 0x55555555
01222       6,  // U+FF70 - U+FF77 : 0x55555555
01223       6,  // U+FF78 - U+FF7F : 0x55555555
01224       6,  // U+FF80 - U+FF87 : 0x55555555
01225       6,  // U+FF88 - U+FF8F : 0x55555555
01226       6,  // U+FF90 - U+FF97 : 0x55555555
01227       6,  // U+FF98 - U+FF9F : 0x55555555
01228       6,  // U+FFA0 - U+FFA7 : 0x55555555
01229       6,  // U+FFA8 - U+FFAF : 0x55555555
01230       6,  // U+FFB0 - U+FFB7 : 0x55555555
01231      33,  // U+FFB8 - U+FFBF : 0x05555555
01232      16,  // U+FFC0 - U+FFC7 : 0x55555500
01233      16,  // U+FFC8 - U+FFCF : 0x55555500
01234      16,  // U+FFD0 - U+FFD7 : 0x55555500
01235     199,  // U+FFD8 - U+FFDF : 0x00055500
01236      22,  // U+FFE0 - U+FFE7 : 0x07777777
01237      22,  // U+FFE8 - U+FFEF : 0x07777777
01238      17,  // U+FFF0 - U+FFF7 : 0x00000000
01239     200,  // U+FFF8 - U+FFFF : 0x00770000
01240 };
01241 
01242 static PRUint32 gGenCatPat[201] = {
01243     0x44444444,  // 0 
01244     0x66676663,  // 1 
01245     0x66667666,  // 2 
01246     0x22222222,  // 3 
01247     0x67776622,  // 4 
01248     0x55555556,  // 5 
01249     0x55555555,  // 6 
01250     0x67666555,  // 7 
01251     0x55555557,  // 8 
01252     0x47676555,  // 9 
01253     0x77777763,  // 10 
01254     0x77676577,  // 11 
01255     0x67572277,  // 12 
01256     0x62226527,  // 13 
01257     0x75555555,  // 14 
01258     0x00555555,  // 15 
01259     0x55555500,  // 16 
01260     0x00000000,  // 17 
01261     0x00000005,  // 18 
01262     0x55555775,  // 19 
01263     0x77777755,  // 20 
01264     0x77777777,  // 21 
01265     0x07777777,  // 22 
01266     0x77755555,  // 23 
01267     0x00000077,  // 24 
01268     0x11111111,  // 25 
01269     0x00111111,  // 26 
01270     0x00000011,  // 27 
01271     0x00660000,  // 28 
01272     0x06000500,  // 29 
01273     0x65770000,  // 30 
01274     0x55050555,  // 31 
01275     0x55555055,  // 32 
01276     0x05555555,  // 33 
01277     0x05050500,  // 34 
01278     0x55555505,  // 35 
01279     0x00005555,  // 36 
01280     0x55555550,  // 37 
01281     0x55055555,  // 38 
01282     0x01111755,  // 39 
01283     0x50055555,  // 40 
01284     0x00055005,  // 41 
01285     0x55005555,  // 42 
01286     0x00000055,  // 43 
01287     0x66666650,  // 44 
01288     0x00000060,  // 45 
01289     0x11111110,  // 46 
01290     0x11111011,  // 47 
01291     0x16111011,  // 48 
01292     0x00016116,  // 49 
01293     0x00000555,  // 50 
01294     0x00066555,  // 51 
01295     0x00060000,  // 52 
01296     0x60006000,  // 53 
01297     0x11111555,  // 54 
01298     0x00000111,  // 55 
01299     0x00666622,  // 56 
01300     0x55555551,  // 57 
01301     0x05555500,  // 58 
01302     0x11565555,  // 59 
01303     0x15511111,  // 60 
01304     0x00111171,  // 61 
01305     0x00000022,  // 62 
01306     0x55501110,  // 63 
01307     0x11510055,  // 64 
01308     0x00011115,  // 65 
01309     0x22661155,  // 66 
01310     0x00000006,  // 67 
01311     0x55555005,  // 68 
01312     0x55000505,  // 69 
01313     0x11010055,  // 70 
01314     0x10011111,  // 71 
01315     0x00111001,  // 72 
01316     0x10000000,  // 73 
01317     0x50550000,  // 74 
01318     0x22001155,  // 75 
01319     0x22227755,  // 76 
01320     0x00000722,  // 77 
01321     0x55500100,  // 78 
01322     0x50000555,  // 79 
01323     0x05505505,  // 80 
01324     0x10000111,  // 81 
01325     0x05055550,  // 82 
01326     0x22000000,  // 83 
01327     0x00055511,  // 84 
01328     0x50505555,  // 85 
01329     0x55505505,  // 86 
01330     0x10111111,  // 87 
01331     0x00111011,  // 88 
01332     0x22000005,  // 89 
01333     0x55005505,  // 90 
01334     0x10001111,  // 91 
01335     0x11000000,  // 92 
01336     0x22000055,  // 93 
01337     0x00000007,  // 94 
01338     0x55501100,  // 95 
01339     0x55000555,  // 96 
01340     0x00555505,  // 97 
01341     0x55050550,  // 98 
01342     0x00055000,  // 99 
01343     0x50555555,  // 100 
01344     0x11000055,  // 101 
01345     0x11000111,  // 102 
01346     0x00111101,  // 103 
01347     0x20000000,  // 104 
01348     0x00000222,  // 105 
01349     0x55505555,  // 106 
01350     0x11011111,  // 107 
01351     0x01100000,  // 108 
01352     0x05000000,  // 109 
01353     0x11001111,  // 110 
01354     0x11115515,  // 111 
01355     0x70000111,  // 112 
01356     0x15555555,  // 113 
01357     0x71111111,  // 114 
01358     0x00006622,  // 115 
01359     0x50050550,  // 116 
01360     0x00500505,  // 117 
01361     0x55550000,  // 118 
01362     0x50505550,  // 119 
01363     0x55505500,  // 120 
01364     0x00511011,  // 121 
01365     0x05055555,  // 122 
01366     0x00550022,  // 123 
01367     0x66667775,  // 124 
01368     0x66666666,  // 125 
01369     0x77777666,  // 126 
01370     0x77777711,  // 127 
01371     0x17172222,  // 128 
01372     0x11666617,  // 129 
01373     0x11611111,  // 130 
01374     0x00000010,  // 131 
01375     0x00006000,  // 132 
01376     0x50000055,  // 133 
01377     0x50505050,  // 134 
01378     0x75755555,  // 135 
01379     0x55055577,  // 136 
01380     0x77705555,  // 137 
01381     0x55055500,  // 138 
01382     0x07755555,  // 139 
01383     0x33333333,  // 140 
01384     0x44443333,  // 141 
01385     0x04444433,  // 142 
01386     0x06676666,  // 143 
01387     0x44444400,  // 144 
01388     0x22220002,  // 145 
01389     0x56677722,  // 146 
01390     0x06677722,  // 147 
01391     0x00077777,  // 148 
01392     0x57777577,  // 149 
01393     0x55555577,  // 150 
01394     0x77575555,  // 151 
01395     0x77555555,  // 152 
01396     0x75757777,  // 153 
01397     0x55555575,  // 154 
01398     0x55555755,  // 155 
01399     0x22222000,  // 156 
01400     0x00000777,  // 157 
01401     0x77777707,  // 158 
01402     0x77777667,  // 159 
01403     0x77772222,  // 160 
01404     0x00000277,  // 161 
01405     0x00777777,  // 162 
01406     0x00007777,  // 163 
01407     0x77777700,  // 164 
01408     0x77077770,  // 165 
01409     0x77770077,  // 166 
01410     0x77777770,  // 167 
01411     0x70707777,  // 168 
01412     0x07000777,  // 169 
01413     0x00072222,  // 170 
01414     0x25576663,  // 171 
01415     0x66667766,  // 172 
01416     0x22222227,  // 173 
01417     0x11111122,  // 174 
01418     0x77555556,  // 175 
01419     0x70000000,  // 176 
01420     0x00055555,  // 177 
01421     0x05577110,  // 178 
01422     0x05556555,  // 179 
01423     0x55500000,  // 180 
01424     0x77222277,  // 181 
01425     0x77777722,  // 182 
01426     0x70007777,  // 183 
01427     0x77777000,  // 184 
01428     0x55555000,  // 185 
01429     0x51000000,  // 186 
01430     0x55055055,  // 187 
01431     0x66555555,  // 188 
01432     0x00001111,  // 189 
01433     0x00066666,  // 190 
01434     0x66666660,  // 191 
01435     0x66660666,  // 192 
01436     0x07776766,  // 193 
01437     0x00006676,  // 194 
01438     0x40055555,  // 195 
01439     0x66676660,  // 196 
01440     0x07676555,  // 197 
01441     0x55666660,  // 198 
01442     0x00055500,  // 199 
01443     0x00770000,  // 200 
01444 };
01445 
01446 static PRUint8 GetCat(PRUnichar u)
01447 {
01448     PRUint32 pat;
01449     //
01450     //  Handle block which use index table mapping    
01451     //
01452     // Handle U+0000 to U+06FF
01453     if( (u<=((PRUnichar)0x06FF))) {
01454         pat = gGenCatPat[gGenCatIdx1 [( u -(PRUnichar) 0x0000 ) / 8]];
01455         return (pat  >> ((u % 8) * 4)) & 0x0F;
01456     }
01457 
01458     // Handle U+0900 to U+11FF
01459     if((((PRUnichar)0x0900)<=u)&&(u<=((PRUnichar)0x11FF))) {
01460         pat = gGenCatPat[gGenCatIdx2 [( u -(PRUnichar) 0x0900 ) / 8]];
01461         return (pat  >> ((u % 8) * 4)) & 0x0F;
01462     }
01463 
01464     // Handle U+1E00 to U+27FF
01465     if((((PRUnichar)0x1E00)<=u)&&(u<=((PRUnichar)0x27FF))) {
01466         pat = gGenCatPat[gGenCatIdx3 [( u -(PRUnichar) 0x1E00 ) / 8]];
01467         return (pat  >> ((u % 8) * 4)) & 0x0F;
01468     }
01469 
01470     // Handle U+3000 to U+33FF
01471     if((((PRUnichar)0x3000)<=u)&&(u<=((PRUnichar)0x33FF))) {
01472         pat = gGenCatPat[gGenCatIdx4 [( u -(PRUnichar) 0x3000 ) / 8]];
01473         return (pat  >> ((u % 8) * 4)) & 0x0F;
01474     }
01475 
01476     // Handle U+F900 to U+FFFF
01477     if((((PRUnichar)0xF900)<=u)&&(u<=((PRUnichar)0xFFFF))) {
01478         pat = gGenCatPat[gGenCatIdx5 [( u -(PRUnichar) 0xF900 ) / 8]];
01479         return (pat  >> ((u % 8) * 4)) & 0x0F;
01480     }
01481 
01482     //
01483     //  Handle blocks which share the same category 
01484     //
01485     // Handle CJK Ideograp block 
01486     if((((PRUnichar)0x4E00)<=u)&&(u<=((PRUnichar)0x9FA5))) 
01487         return 5; 
01488 
01489     // Handle Hangul Syllabl block 
01490     if((((PRUnichar)0xAC00)<=u)&&(u<=((PRUnichar)0xD7A3))) 
01491         return 5; 
01492 
01493     // Handle Low Surrogat block 
01494     if((((PRUnichar)0xDC00)<=u)&&(u<=((PRUnichar)0xDFFF))) 
01495         return 4; 
01496 
01497     // Handle Private Us block 
01498     if((((PRUnichar)0xE000)<=u)&&(u<=((PRUnichar)0xF8FF))) 
01499         return 4; 
01500 
01501     // Handle Private Use High Surrogat block 
01502     if((((PRUnichar)0xDB80)<=u)&&(u<=((PRUnichar)0xDBFF))) 
01503         return 4; 
01504 
01505     // Handle Unassigned High Surrogat block 
01506     if((((PRUnichar)0xD800)<=u)&&(u<=((PRUnichar)0xDB7F))) 
01507         return 4; 
01508 
01509     return 0; // UNDEFINE 
01510 }
01511 // total data size = 1988