Bug 393356. Remove unused copy of cattable.h
authorroc+@cs.cmu.edu
Tue, 28 Aug 2007 19:18:40 -0700
changeset 5411 2dccb504e0949d351ca226cb6f1128a98b75059e
parent 5410 46513f1a2baec0f044511772e97908b1594b2539
child 5412 d92da33e21e6811bcdd01b96faea37d76d1d0022
push id1
push userbsmedberg@mozilla.com
push dateThu, 20 Mar 2008 16:49:24 +0000
treeherdermozilla-central@61007906a1f8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs393356
milestone1.9a8pre
Bug 393356. Remove unused copy of cattable.h
extensions/spellcheck/src/cattable.h
deleted file mode 100644
--- a/extensions/spellcheck/src/cattable.h
+++ /dev/null
@@ -1,1511 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1999
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-/* 
-    DO NOT EDIT THIS DOCUMENT !!! THIS DOCUMENT IS GENERATED BY
-    mozilla/intl/unicharutil/tools/gencattable.pl
- */
-#include "nscore.h" 
-
-static const PRUint8 gGenCatIdx1[224] = {
-      0,  // U+0000 - U+0007 : 0x44444444
-      0,  // U+0008 - U+000F : 0x44444444
-      0,  // U+0010 - U+0017 : 0x44444444
-      0,  // U+0018 - U+001F : 0x44444444
-      1,  // U+0020 - U+0027 : 0x66676663
-      2,  // U+0028 - U+002F : 0x66667666
-      3,  // U+0030 - U+0037 : 0x22222222
-      4,  // U+0038 - U+003F : 0x67776622
-      5,  // U+0040 - U+0047 : 0x55555556
-      6,  // U+0048 - U+004F : 0x55555555
-      6,  // U+0050 - U+0057 : 0x55555555
-      7,  // U+0058 - U+005F : 0x67666555
-      8,  // U+0060 - U+0067 : 0x55555557
-      6,  // U+0068 - U+006F : 0x55555555
-      6,  // U+0070 - U+0077 : 0x55555555
-      9,  // U+0078 - U+007F : 0x47676555
-      0,  // U+0080 - U+0087 : 0x44444444
-      0,  // U+0088 - U+008F : 0x44444444
-      0,  // U+0090 - U+0097 : 0x44444444
-      0,  // U+0098 - U+009F : 0x44444444
-     10,  // U+00A0 - U+00A7 : 0x77777763
-     11,  // U+00A8 - U+00AF : 0x77676577
-     12,  // U+00B0 - U+00B7 : 0x67572277
-     13,  // U+00B8 - U+00BF : 0x62226527
-      6,  // U+00C0 - U+00C7 : 0x55555555
-      6,  // U+00C8 - U+00CF : 0x55555555
-     14,  // U+00D0 - U+00D7 : 0x75555555
-      6,  // U+00D8 - U+00DF : 0x55555555
-      6,  // U+00E0 - U+00E7 : 0x55555555
-      6,  // U+00E8 - U+00EF : 0x55555555
-     14,  // U+00F0 - U+00F7 : 0x75555555
-      6,  // U+00F8 - U+00FF : 0x55555555
-      6,  // U+0100 - U+0107 : 0x55555555
-      6,  // U+0108 - U+010F : 0x55555555
-      6,  // U+0110 - U+0117 : 0x55555555
-      6,  // U+0118 - U+011F : 0x55555555
-      6,  // U+0120 - U+0127 : 0x55555555
-      6,  // U+0128 - U+012F : 0x55555555
-      6,  // U+0130 - U+0137 : 0x55555555
-      6,  // U+0138 - U+013F : 0x55555555
-      6,  // U+0140 - U+0147 : 0x55555555
-      6,  // U+0148 - U+014F : 0x55555555
-      6,  // U+0150 - U+0157 : 0x55555555
-      6,  // U+0158 - U+015F : 0x55555555
-      6,  // U+0160 - U+0167 : 0x55555555
-      6,  // U+0168 - U+016F : 0x55555555
-      6,  // U+0170 - U+0177 : 0x55555555
-      6,  // U+0178 - U+017F : 0x55555555
-      6,  // U+0180 - U+0187 : 0x55555555
-      6,  // U+0188 - U+018F : 0x55555555
-      6,  // U+0190 - U+0197 : 0x55555555
-      6,  // U+0198 - U+019F : 0x55555555
-      6,  // U+01A0 - U+01A7 : 0x55555555
-      6,  // U+01A8 - U+01AF : 0x55555555
-      6,  // U+01B0 - U+01B7 : 0x55555555
-      6,  // U+01B8 - U+01BF : 0x55555555
-      6,  // U+01C0 - U+01C7 : 0x55555555
-      6,  // U+01C8 - U+01CF : 0x55555555
-      6,  // U+01D0 - U+01D7 : 0x55555555
-      6,  // U+01D8 - U+01DF : 0x55555555
-      6,  // U+01E0 - U+01E7 : 0x55555555
-      6,  // U+01E8 - U+01EF : 0x55555555
-     15,  // U+01F0 - U+01F7 : 0x00555555
-     16,  // U+01F8 - U+01FF : 0x55555500
-      6,  // U+0200 - U+0207 : 0x55555555
-      6,  // U+0208 - U+020F : 0x55555555
-      6,  // U+0210 - U+0217 : 0x55555555
-     17,  // U+0218 - U+021F : 0x00000000
-     17,  // U+0220 - U+0227 : 0x00000000
-     17,  // U+0228 - U+022F : 0x00000000
-     17,  // U+0230 - U+0237 : 0x00000000
-     17,  // U+0238 - U+023F : 0x00000000
-     17,  // U+0240 - U+0247 : 0x00000000
-     17,  // U+0248 - U+024F : 0x00000000
-      6,  // U+0250 - U+0257 : 0x55555555
-      6,  // U+0258 - U+025F : 0x55555555
-      6,  // U+0260 - U+0267 : 0x55555555
-      6,  // U+0268 - U+026F : 0x55555555
-      6,  // U+0270 - U+0277 : 0x55555555
-      6,  // U+0278 - U+027F : 0x55555555
-      6,  // U+0280 - U+0287 : 0x55555555
-      6,  // U+0288 - U+028F : 0x55555555
-      6,  // U+0290 - U+0297 : 0x55555555
-      6,  // U+0298 - U+029F : 0x55555555
-      6,  // U+02A0 - U+02A7 : 0x55555555
-     18,  // U+02A8 - U+02AF : 0x00000005
-      6,  // U+02B0 - U+02B7 : 0x55555555
-     19,  // U+02B8 - U+02BF : 0x55555775
-     20,  // U+02C0 - U+02C7 : 0x77777755
-     21,  // U+02C8 - U+02CF : 0x77777777
-     20,  // U+02D0 - U+02D7 : 0x77777755
-     22,  // U+02D8 - U+02DF : 0x07777777
-     23,  // U+02E0 - U+02E7 : 0x77755555
-     24,  // U+02E8 - U+02EF : 0x00000077
-     17,  // U+02F0 - U+02F7 : 0x00000000
-     17,  // U+02F8 - U+02FF : 0x00000000
-     25,  // U+0300 - U+0307 : 0x11111111
-     25,  // U+0308 - U+030F : 0x11111111
-     25,  // U+0310 - U+0317 : 0x11111111
-     25,  // U+0318 - U+031F : 0x11111111
-     25,  // U+0320 - U+0327 : 0x11111111
-     25,  // U+0328 - U+032F : 0x11111111
-     25,  // U+0330 - U+0337 : 0x11111111
-     25,  // U+0338 - U+033F : 0x11111111
-     26,  // U+0340 - U+0347 : 0x00111111
-     17,  // U+0348 - U+034F : 0x00000000
-     17,  // U+0350 - U+0357 : 0x00000000
-     17,  // U+0358 - U+035F : 0x00000000
-     27,  // U+0360 - U+0367 : 0x00000011
-     17,  // U+0368 - U+036F : 0x00000000
-     28,  // U+0370 - U+0377 : 0x00660000
-     29,  // U+0378 - U+037F : 0x06000500
-     30,  // U+0380 - U+0387 : 0x65770000
-     31,  // U+0388 - U+038F : 0x55050555
-      6,  // U+0390 - U+0397 : 0x55555555
-      6,  // U+0398 - U+039F : 0x55555555
-     32,  // U+03A0 - U+03A7 : 0x55555055
-      6,  // U+03A8 - U+03AF : 0x55555555
-      6,  // U+03B0 - U+03B7 : 0x55555555
-      6,  // U+03B8 - U+03BF : 0x55555555
-      6,  // U+03C0 - U+03C7 : 0x55555555
-     33,  // U+03C8 - U+03CF : 0x05555555
-     33,  // U+03D0 - U+03D7 : 0x05555555
-     34,  // U+03D8 - U+03DF : 0x05050500
-     35,  // U+03E0 - U+03E7 : 0x55555505
-      6,  // U+03E8 - U+03EF : 0x55555555
-     36,  // U+03F0 - U+03F7 : 0x00005555
-     17,  // U+03F8 - U+03FF : 0x00000000
-     37,  // U+0400 - U+0407 : 0x55555550
-     38,  // U+0408 - U+040F : 0x55055555
-      6,  // U+0410 - U+0417 : 0x55555555
-      6,  // U+0418 - U+041F : 0x55555555
-      6,  // U+0420 - U+0427 : 0x55555555
-      6,  // U+0428 - U+042F : 0x55555555
-      6,  // U+0430 - U+0437 : 0x55555555
-      6,  // U+0438 - U+043F : 0x55555555
-      6,  // U+0440 - U+0447 : 0x55555555
-      6,  // U+0448 - U+044F : 0x55555555
-     37,  // U+0450 - U+0457 : 0x55555550
-     38,  // U+0458 - U+045F : 0x55055555
-      6,  // U+0460 - U+0467 : 0x55555555
-      6,  // U+0468 - U+046F : 0x55555555
-      6,  // U+0470 - U+0477 : 0x55555555
-      6,  // U+0478 - U+047F : 0x55555555
-     39,  // U+0480 - U+0487 : 0x01111755
-     17,  // U+0488 - U+048F : 0x00000000
-      6,  // U+0490 - U+0497 : 0x55555555
-      6,  // U+0498 - U+049F : 0x55555555
-      6,  // U+04A0 - U+04A7 : 0x55555555
-      6,  // U+04A8 - U+04AF : 0x55555555
-      6,  // U+04B0 - U+04B7 : 0x55555555
-      6,  // U+04B8 - U+04BF : 0x55555555
-     40,  // U+04C0 - U+04C7 : 0x50055555
-     41,  // U+04C8 - U+04CF : 0x00055005
-      6,  // U+04D0 - U+04D7 : 0x55555555
-      6,  // U+04D8 - U+04DF : 0x55555555
-      6,  // U+04E0 - U+04E7 : 0x55555555
-     42,  // U+04E8 - U+04EF : 0x55005555
-     15,  // U+04F0 - U+04F7 : 0x00555555
-     43,  // U+04F8 - U+04FF : 0x00000055
-     17,  // U+0500 - U+0507 : 0x00000000
-     17,  // U+0508 - U+050F : 0x00000000
-     17,  // U+0510 - U+0517 : 0x00000000
-     17,  // U+0518 - U+051F : 0x00000000
-     17,  // U+0520 - U+0527 : 0x00000000
-     17,  // U+0528 - U+052F : 0x00000000
-     37,  // U+0530 - U+0537 : 0x55555550
-      6,  // U+0538 - U+053F : 0x55555555
-      6,  // U+0540 - U+0547 : 0x55555555
-      6,  // U+0548 - U+054F : 0x55555555
-     33,  // U+0550 - U+0557 : 0x05555555
-     44,  // U+0558 - U+055F : 0x66666650
-     37,  // U+0560 - U+0567 : 0x55555550
-      6,  // U+0568 - U+056F : 0x55555555
-      6,  // U+0570 - U+0577 : 0x55555555
-      6,  // U+0578 - U+057F : 0x55555555
-      6,  // U+0580 - U+0587 : 0x55555555
-     45,  // U+0588 - U+058F : 0x00000060
-     46,  // U+0590 - U+0597 : 0x11111110
-     25,  // U+0598 - U+059F : 0x11111111
-     47,  // U+05A0 - U+05A7 : 0x11111011
-     25,  // U+05A8 - U+05AF : 0x11111111
-     25,  // U+05B0 - U+05B7 : 0x11111111
-     48,  // U+05B8 - U+05BF : 0x16111011
-     49,  // U+05C0 - U+05C7 : 0x00016116
-     17,  // U+05C8 - U+05CF : 0x00000000
-      6,  // U+05D0 - U+05D7 : 0x55555555
-      6,  // U+05D8 - U+05DF : 0x55555555
-      6,  // U+05E0 - U+05E7 : 0x55555555
-     50,  // U+05E8 - U+05EF : 0x00000555
-     51,  // U+05F0 - U+05F7 : 0x00066555
-     17,  // U+05F8 - U+05FF : 0x00000000
-     17,  // U+0600 - U+0607 : 0x00000000
-     52,  // U+0608 - U+060F : 0x00060000
-     17,  // U+0610 - U+0617 : 0x00000000
-     53,  // U+0618 - U+061F : 0x60006000
-     37,  // U+0620 - U+0627 : 0x55555550
-      6,  // U+0628 - U+062F : 0x55555555
-      6,  // U+0630 - U+0637 : 0x55555555
-     50,  // U+0638 - U+063F : 0x00000555
-      6,  // U+0640 - U+0647 : 0x55555555
-     54,  // U+0648 - U+064F : 0x11111555
-     55,  // U+0650 - U+0657 : 0x00000111
-     17,  // U+0658 - U+065F : 0x00000000
-      3,  // U+0660 - U+0667 : 0x22222222
-     56,  // U+0668 - U+066F : 0x00666622
-     57,  // U+0670 - U+0677 : 0x55555551
-      6,  // U+0678 - U+067F : 0x55555555
-      6,  // U+0680 - U+0687 : 0x55555555
-      6,  // U+0688 - U+068F : 0x55555555
-      6,  // U+0690 - U+0697 : 0x55555555
-      6,  // U+0698 - U+069F : 0x55555555
-      6,  // U+06A0 - U+06A7 : 0x55555555
-      6,  // U+06A8 - U+06AF : 0x55555555
-      6,  // U+06B0 - U+06B7 : 0x55555555
-     58,  // U+06B8 - U+06BF : 0x05555500
-      6,  // U+06C0 - U+06C7 : 0x55555555
-     33,  // U+06C8 - U+06CF : 0x05555555
-     59,  // U+06D0 - U+06D7 : 0x11565555
-     25,  // U+06D8 - U+06DF : 0x11111111
-     60,  // U+06E0 - U+06E7 : 0x15511111
-     61,  // U+06E8 - U+06EF : 0x00111171
-      3,  // U+06F0 - U+06F7 : 0x22222222
-     62,  // U+06F8 - U+06FF : 0x00000022
-};
-
-static const PRUint8 gGenCatIdx2[288] = {
-     63,  // U+0900 - U+0907 : 0x55501110
-      6,  // U+0908 - U+090F : 0x55555555
-      6,  // U+0910 - U+0917 : 0x55555555
-      6,  // U+0918 - U+091F : 0x55555555
-      6,  // U+0920 - U+0927 : 0x55555555
-      6,  // U+0928 - U+092F : 0x55555555
-      6,  // U+0930 - U+0937 : 0x55555555
-     64,  // U+0938 - U+093F : 0x11510055
-     25,  // U+0940 - U+0947 : 0x11111111
-     26,  // U+0948 - U+094F : 0x00111111
-     65,  // U+0950 - U+0957 : 0x00011115
-      6,  // U+0958 - U+095F : 0x55555555
-     66,  // U+0960 - U+0967 : 0x22661155
-      3,  // U+0968 - U+096F : 0x22222222
-     67,  // U+0970 - U+0977 : 0x00000006
-     17,  // U+0978 - U+097F : 0x00000000
-     63,  // U+0980 - U+0987 : 0x55501110
-     40,  // U+0988 - U+098F : 0x50055555
-     68,  // U+0990 - U+0997 : 0x55555005
-      6,  // U+0998 - U+099F : 0x55555555
-      6,  // U+09A0 - U+09A7 : 0x55555555
-     35,  // U+09A8 - U+09AF : 0x55555505
-     69,  // U+09B0 - U+09B7 : 0x55000505
-     70,  // U+09B8 - U+09BF : 0x11010055
-     71,  // U+09C0 - U+09C7 : 0x10011111
-     72,  // U+09C8 - U+09CF : 0x00111001
-     73,  // U+09D0 - U+09D7 : 0x10000000
-     74,  // U+09D8 - U+09DF : 0x50550000
-     75,  // U+09E0 - U+09E7 : 0x22001155
-      3,  // U+09E8 - U+09EF : 0x22222222
-     76,  // U+09F0 - U+09F7 : 0x22227755
-     77,  // U+09F8 - U+09FF : 0x00000722
-     78,  // U+0A00 - U+0A07 : 0x55500100
-     79,  // U+0A08 - U+0A0F : 0x50000555
-     68,  // U+0A10 - U+0A17 : 0x55555005
-      6,  // U+0A18 - U+0A1F : 0x55555555
-      6,  // U+0A20 - U+0A27 : 0x55555555
-     35,  // U+0A28 - U+0A2F : 0x55555505
-     80,  // U+0A30 - U+0A37 : 0x05505505
-     70,  // U+0A38 - U+0A3F : 0x11010055
-     81,  // U+0A40 - U+0A47 : 0x10000111
-     72,  // U+0A48 - U+0A4F : 0x00111001
-     17,  // U+0A50 - U+0A57 : 0x00000000
-     82,  // U+0A58 - U+0A5F : 0x05055550
-     83,  // U+0A60 - U+0A67 : 0x22000000
-      3,  // U+0A68 - U+0A6F : 0x22222222
-     84,  // U+0A70 - U+0A77 : 0x00055511
-     17,  // U+0A78 - U+0A7F : 0x00000000
-     63,  // U+0A80 - U+0A87 : 0x55501110
-     85,  // U+0A88 - U+0A8F : 0x50505555
-     32,  // U+0A90 - U+0A97 : 0x55555055
-      6,  // U+0A98 - U+0A9F : 0x55555555
-      6,  // U+0AA0 - U+0AA7 : 0x55555555
-     35,  // U+0AA8 - U+0AAF : 0x55555505
-     86,  // U+0AB0 - U+0AB7 : 0x55505505
-     64,  // U+0AB8 - U+0ABF : 0x11510055
-     87,  // U+0AC0 - U+0AC7 : 0x10111111
-     88,  // U+0AC8 - U+0ACF : 0x00111011
-     18,  // U+0AD0 - U+0AD7 : 0x00000005
-     17,  // U+0AD8 - U+0ADF : 0x00000000
-     89,  // U+0AE0 - U+0AE7 : 0x22000005
-      3,  // U+0AE8 - U+0AEF : 0x22222222
-     17,  // U+0AF0 - U+0AF7 : 0x00000000
-     17,  // U+0AF8 - U+0AFF : 0x00000000
-     63,  // U+0B00 - U+0B07 : 0x55501110
-     40,  // U+0B08 - U+0B0F : 0x50055555
-     68,  // U+0B10 - U+0B17 : 0x55555005
-      6,  // U+0B18 - U+0B1F : 0x55555555
-      6,  // U+0B20 - U+0B27 : 0x55555555
-     35,  // U+0B28 - U+0B2F : 0x55555505
-     90,  // U+0B30 - U+0B37 : 0x55005505
-     64,  // U+0B38 - U+0B3F : 0x11510055
-     91,  // U+0B40 - U+0B47 : 0x10001111
-     72,  // U+0B48 - U+0B4F : 0x00111001
-     92,  // U+0B50 - U+0B57 : 0x11000000
-     74,  // U+0B58 - U+0B5F : 0x50550000
-     93,  // U+0B60 - U+0B67 : 0x22000055
-      3,  // U+0B68 - U+0B6F : 0x22222222
-     94,  // U+0B70 - U+0B77 : 0x00000007
-     17,  // U+0B78 - U+0B7F : 0x00000000
-     95,  // U+0B80 - U+0B87 : 0x55501100
-     96,  // U+0B88 - U+0B8F : 0x55000555
-     97,  // U+0B90 - U+0B97 : 0x00555505
-     98,  // U+0B98 - U+0B9F : 0x55050550
-     99,  // U+0BA0 - U+0BA7 : 0x00055000
-     96,  // U+0BA8 - U+0BAF : 0x55000555
-    100,  // U+0BB0 - U+0BB7 : 0x50555555
-    101,  // U+0BB8 - U+0BBF : 0x11000055
-    102,  // U+0BC0 - U+0BC7 : 0x11000111
-    103,  // U+0BC8 - U+0BCF : 0x00111101
-     73,  // U+0BD0 - U+0BD7 : 0x10000000
-     17,  // U+0BD8 - U+0BDF : 0x00000000
-    104,  // U+0BE0 - U+0BE7 : 0x20000000
-      3,  // U+0BE8 - U+0BEF : 0x22222222
-    105,  // U+0BF0 - U+0BF7 : 0x00000222
-     17,  // U+0BF8 - U+0BFF : 0x00000000
-     63,  // U+0C00 - U+0C07 : 0x55501110
-     38,  // U+0C08 - U+0C0F : 0x55055555
-     35,  // U+0C10 - U+0C17 : 0x55555505
-      6,  // U+0C18 - U+0C1F : 0x55555555
-      6,  // U+0C20 - U+0C27 : 0x55555555
-     35,  // U+0C28 - U+0C2F : 0x55555505
-    106,  // U+0C30 - U+0C37 : 0x55505555
-    101,  // U+0C38 - U+0C3F : 0x11000055
-    107,  // U+0C40 - U+0C47 : 0x11011111
-    103,  // U+0C48 - U+0C4F : 0x00111101
-    108,  // U+0C50 - U+0C57 : 0x01100000
-     17,  // U+0C58 - U+0C5F : 0x00000000
-     93,  // U+0C60 - U+0C67 : 0x22000055
-      3,  // U+0C68 - U+0C6F : 0x22222222
-     17,  // U+0C70 - U+0C77 : 0x00000000
-     17,  // U+0C78 - U+0C7F : 0x00000000
-     95,  // U+0C80 - U+0C87 : 0x55501100
-     38,  // U+0C88 - U+0C8F : 0x55055555
-     35,  // U+0C90 - U+0C97 : 0x55555505
-      6,  // U+0C98 - U+0C9F : 0x55555555
-      6,  // U+0CA0 - U+0CA7 : 0x55555555
-     35,  // U+0CA8 - U+0CAF : 0x55555505
-    106,  // U+0CB0 - U+0CB7 : 0x55505555
-    101,  // U+0CB8 - U+0CBF : 0x11000055
-    107,  // U+0CC0 - U+0CC7 : 0x11011111
-    103,  // U+0CC8 - U+0CCF : 0x00111101
-    108,  // U+0CD0 - U+0CD7 : 0x01100000
-    109,  // U+0CD8 - U+0CDF : 0x05000000
-     93,  // U+0CE0 - U+0CE7 : 0x22000055
-      3,  // U+0CE8 - U+0CEF : 0x22222222
-     17,  // U+0CF0 - U+0CF7 : 0x00000000
-     17,  // U+0CF8 - U+0CFF : 0x00000000
-     95,  // U+0D00 - U+0D07 : 0x55501100
-     38,  // U+0D08 - U+0D0F : 0x55055555
-     35,  // U+0D10 - U+0D17 : 0x55555505
-      6,  // U+0D18 - U+0D1F : 0x55555555
-      6,  // U+0D20 - U+0D27 : 0x55555555
-     35,  // U+0D28 - U+0D2F : 0x55555505
-      6,  // U+0D30 - U+0D37 : 0x55555555
-    101,  // U+0D38 - U+0D3F : 0x11000055
-    110,  // U+0D40 - U+0D47 : 0x11001111
-    103,  // U+0D48 - U+0D4F : 0x00111101
-     73,  // U+0D50 - U+0D57 : 0x10000000
-     17,  // U+0D58 - U+0D5F : 0x00000000
-     93,  // U+0D60 - U+0D67 : 0x22000055
-      3,  // U+0D68 - U+0D6F : 0x22222222
-     17,  // U+0D70 - U+0D77 : 0x00000000
-     17,  // U+0D78 - U+0D7F : 0x00000000
-     17,  // U+0D80 - U+0D87 : 0x00000000
-     17,  // U+0D88 - U+0D8F : 0x00000000
-     17,  // U+0D90 - U+0D97 : 0x00000000
-     17,  // U+0D98 - U+0D9F : 0x00000000
-     17,  // U+0DA0 - U+0DA7 : 0x00000000
-     17,  // U+0DA8 - U+0DAF : 0x00000000
-     17,  // U+0DB0 - U+0DB7 : 0x00000000
-     17,  // U+0DB8 - U+0DBF : 0x00000000
-     17,  // U+0DC0 - U+0DC7 : 0x00000000
-     17,  // U+0DC8 - U+0DCF : 0x00000000
-     17,  // U+0DD0 - U+0DD7 : 0x00000000
-     17,  // U+0DD8 - U+0DDF : 0x00000000
-     17,  // U+0DE0 - U+0DE7 : 0x00000000
-     17,  // U+0DE8 - U+0DEF : 0x00000000
-     17,  // U+0DF0 - U+0DF7 : 0x00000000
-     17,  // U+0DF8 - U+0DFF : 0x00000000
-     37,  // U+0E00 - U+0E07 : 0x55555550
-      6,  // U+0E08 - U+0E0F : 0x55555555
-      6,  // U+0E10 - U+0E17 : 0x55555555
-      6,  // U+0E18 - U+0E1F : 0x55555555
-      6,  // U+0E20 - U+0E27 : 0x55555555
-      6,  // U+0E28 - U+0E2F : 0x55555555
-    111,  // U+0E30 - U+0E37 : 0x11115515
-    112,  // U+0E38 - U+0E3F : 0x70000111
-    113,  // U+0E40 - U+0E47 : 0x15555555
-    114,  // U+0E48 - U+0E4F : 0x71111111
-      3,  // U+0E50 - U+0E57 : 0x22222222
-    115,  // U+0E58 - U+0E5F : 0x00006622
-     17,  // U+0E60 - U+0E67 : 0x00000000
-     17,  // U+0E68 - U+0E6F : 0x00000000
-     17,  // U+0E70 - U+0E77 : 0x00000000
-     17,  // U+0E78 - U+0E7F : 0x00000000
-    116,  // U+0E80 - U+0E87 : 0x50050550
-    117,  // U+0E88 - U+0E8F : 0x00500505
-    118,  // U+0E90 - U+0E97 : 0x55550000
-     37,  // U+0E98 - U+0E9F : 0x55555550
-    119,  // U+0EA0 - U+0EA7 : 0x50505550
-    120,  // U+0EA8 - U+0EAF : 0x55505500
-    111,  // U+0EB0 - U+0EB7 : 0x11115515
-    121,  // U+0EB8 - U+0EBF : 0x00511011
-    122,  // U+0EC0 - U+0EC7 : 0x05055555
-     26,  // U+0EC8 - U+0ECF : 0x00111111
-      3,  // U+0ED0 - U+0ED7 : 0x22222222
-    123,  // U+0ED8 - U+0EDF : 0x00550022
-     17,  // U+0EE0 - U+0EE7 : 0x00000000
-     17,  // U+0EE8 - U+0EEF : 0x00000000
-     17,  // U+0EF0 - U+0EF7 : 0x00000000
-     17,  // U+0EF8 - U+0EFF : 0x00000000
-    124,  // U+0F00 - U+0F07 : 0x66667775
-    125,  // U+0F08 - U+0F0F : 0x66666666
-    126,  // U+0F10 - U+0F17 : 0x77777666
-    127,  // U+0F18 - U+0F1F : 0x77777711
-      3,  // U+0F20 - U+0F27 : 0x22222222
-      3,  // U+0F28 - U+0F2F : 0x22222222
-    128,  // U+0F30 - U+0F37 : 0x17172222
-    129,  // U+0F38 - U+0F3F : 0x11666617
-      6,  // U+0F40 - U+0F47 : 0x55555555
-     37,  // U+0F48 - U+0F4F : 0x55555550
-      6,  // U+0F50 - U+0F57 : 0x55555555
-      6,  // U+0F58 - U+0F5F : 0x55555555
-      6,  // U+0F60 - U+0F67 : 0x55555555
-     43,  // U+0F68 - U+0F6F : 0x00000055
-     46,  // U+0F70 - U+0F77 : 0x11111110
-     25,  // U+0F78 - U+0F7F : 0x11111111
-    130,  // U+0F80 - U+0F87 : 0x11611111
-     36,  // U+0F88 - U+0F8F : 0x00005555
-     87,  // U+0F90 - U+0F97 : 0x10111111
-     46,  // U+0F98 - U+0F9F : 0x11111110
-     25,  // U+0FA0 - U+0FA7 : 0x11111111
-     26,  // U+0FA8 - U+0FAF : 0x00111111
-     46,  // U+0FB0 - U+0FB7 : 0x11111110
-    131,  // U+0FB8 - U+0FBF : 0x00000010
-     17,  // U+0FC0 - U+0FC7 : 0x00000000
-     17,  // U+0FC8 - U+0FCF : 0x00000000
-     17,  // U+0FD0 - U+0FD7 : 0x00000000
-     17,  // U+0FD8 - U+0FDF : 0x00000000
-     17,  // U+0FE0 - U+0FE7 : 0x00000000
-     17,  // U+0FE8 - U+0FEF : 0x00000000
-     17,  // U+0FF0 - U+0FF7 : 0x00000000
-     17,  // U+0FF8 - U+0FFF : 0x00000000
-     17,  // U+1000 - U+1007 : 0x00000000
-     17,  // U+1008 - U+100F : 0x00000000
-     17,  // U+1010 - U+1017 : 0x00000000
-     17,  // U+1018 - U+101F : 0x00000000
-     17,  // U+1020 - U+1027 : 0x00000000
-     17,  // U+1028 - U+102F : 0x00000000
-     17,  // U+1030 - U+1037 : 0x00000000
-     17,  // U+1038 - U+103F : 0x00000000
-     17,  // U+1040 - U+1047 : 0x00000000
-     17,  // U+1048 - U+104F : 0x00000000
-     17,  // U+1050 - U+1057 : 0x00000000
-     17,  // U+1058 - U+105F : 0x00000000
-     17,  // U+1060 - U+1067 : 0x00000000
-     17,  // U+1068 - U+106F : 0x00000000
-     17,  // U+1070 - U+1077 : 0x00000000
-     17,  // U+1078 - U+107F : 0x00000000
-     17,  // U+1080 - U+1087 : 0x00000000
-     17,  // U+1088 - U+108F : 0x00000000
-     17,  // U+1090 - U+1097 : 0x00000000
-     17,  // U+1098 - U+109F : 0x00000000
-      6,  // U+10A0 - U+10A7 : 0x55555555
-      6,  // U+10A8 - U+10AF : 0x55555555
-      6,  // U+10B0 - U+10B7 : 0x55555555
-      6,  // U+10B8 - U+10BF : 0x55555555
-     15,  // U+10C0 - U+10C7 : 0x00555555
-     17,  // U+10C8 - U+10CF : 0x00000000
-      6,  // U+10D0 - U+10D7 : 0x55555555
-      6,  // U+10D8 - U+10DF : 0x55555555
-      6,  // U+10E0 - U+10E7 : 0x55555555
-      6,  // U+10E8 - U+10EF : 0x55555555
-     33,  // U+10F0 - U+10F7 : 0x05555555
-    132,  // U+10F8 - U+10FF : 0x00006000
-      6,  // U+1100 - U+1107 : 0x55555555
-      6,  // U+1108 - U+110F : 0x55555555
-      6,  // U+1110 - U+1117 : 0x55555555
-      6,  // U+1118 - U+111F : 0x55555555
-      6,  // U+1120 - U+1127 : 0x55555555
-      6,  // U+1128 - U+112F : 0x55555555
-      6,  // U+1130 - U+1137 : 0x55555555
-      6,  // U+1138 - U+113F : 0x55555555
-      6,  // U+1140 - U+1147 : 0x55555555
-      6,  // U+1148 - U+114F : 0x55555555
-      6,  // U+1150 - U+1157 : 0x55555555
-    133,  // U+1158 - U+115F : 0x50000055
-      6,  // U+1160 - U+1167 : 0x55555555
-      6,  // U+1168 - U+116F : 0x55555555
-      6,  // U+1170 - U+1177 : 0x55555555
-      6,  // U+1178 - U+117F : 0x55555555
-      6,  // U+1180 - U+1187 : 0x55555555
-      6,  // U+1188 - U+118F : 0x55555555
-      6,  // U+1190 - U+1197 : 0x55555555
-      6,  // U+1198 - U+119F : 0x55555555
-     50,  // U+11A0 - U+11A7 : 0x00000555
-      6,  // U+11A8 - U+11AF : 0x55555555
-      6,  // U+11B0 - U+11B7 : 0x55555555
-      6,  // U+11B8 - U+11BF : 0x55555555
-      6,  // U+11C0 - U+11C7 : 0x55555555
-      6,  // U+11C8 - U+11CF : 0x55555555
-      6,  // U+11D0 - U+11D7 : 0x55555555
-      6,  // U+11D8 - U+11DF : 0x55555555
-      6,  // U+11E0 - U+11E7 : 0x55555555
-      6,  // U+11E8 - U+11EF : 0x55555555
-      6,  // U+11F0 - U+11F7 : 0x55555555
-     43,  // U+11F8 - U+11FF : 0x00000055
-};
-
-static const PRUint8 gGenCatIdx3[320] = {
-      6,  // U+1E00 - U+1E07 : 0x55555555
-      6,  // U+1E08 - U+1E0F : 0x55555555
-      6,  // U+1E10 - U+1E17 : 0x55555555
-      6,  // U+1E18 - U+1E1F : 0x55555555
-      6,  // U+1E20 - U+1E27 : 0x55555555
-      6,  // U+1E28 - U+1E2F : 0x55555555
-      6,  // U+1E30 - U+1E37 : 0x55555555
-      6,  // U+1E38 - U+1E3F : 0x55555555
-      6,  // U+1E40 - U+1E47 : 0x55555555
-      6,  // U+1E48 - U+1E4F : 0x55555555
-      6,  // U+1E50 - U+1E57 : 0x55555555
-      6,  // U+1E58 - U+1E5F : 0x55555555
-      6,  // U+1E60 - U+1E67 : 0x55555555
-      6,  // U+1E68 - U+1E6F : 0x55555555
-      6,  // U+1E70 - U+1E77 : 0x55555555
-      6,  // U+1E78 - U+1E7F : 0x55555555
-      6,  // U+1E80 - U+1E87 : 0x55555555
-      6,  // U+1E88 - U+1E8F : 0x55555555
-      6,  // U+1E90 - U+1E97 : 0x55555555
-     36,  // U+1E98 - U+1E9F : 0x00005555
-      6,  // U+1EA0 - U+1EA7 : 0x55555555
-      6,  // U+1EA8 - U+1EAF : 0x55555555
-      6,  // U+1EB0 - U+1EB7 : 0x55555555
-      6,  // U+1EB8 - U+1EBF : 0x55555555
-      6,  // U+1EC0 - U+1EC7 : 0x55555555
-      6,  // U+1EC8 - U+1ECF : 0x55555555
-      6,  // U+1ED0 - U+1ED7 : 0x55555555
-      6,  // U+1ED8 - U+1EDF : 0x55555555
-      6,  // U+1EE0 - U+1EE7 : 0x55555555
-      6,  // U+1EE8 - U+1EEF : 0x55555555
-      6,  // U+1EF0 - U+1EF7 : 0x55555555
-     43,  // U+1EF8 - U+1EFF : 0x00000055
-      6,  // U+1F00 - U+1F07 : 0x55555555
-      6,  // U+1F08 - U+1F0F : 0x55555555
-     15,  // U+1F10 - U+1F17 : 0x00555555
-     15,  // U+1F18 - U+1F1F : 0x00555555
-      6,  // U+1F20 - U+1F27 : 0x55555555
-      6,  // U+1F28 - U+1F2F : 0x55555555
-      6,  // U+1F30 - U+1F37 : 0x55555555
-      6,  // U+1F38 - U+1F3F : 0x55555555
-     15,  // U+1F40 - U+1F47 : 0x00555555
-     15,  // U+1F48 - U+1F4F : 0x00555555
-      6,  // U+1F50 - U+1F57 : 0x55555555
-    134,  // U+1F58 - U+1F5F : 0x50505050
-      6,  // U+1F60 - U+1F67 : 0x55555555
-      6,  // U+1F68 - U+1F6F : 0x55555555
-      6,  // U+1F70 - U+1F77 : 0x55555555
-     15,  // U+1F78 - U+1F7F : 0x00555555
-      6,  // U+1F80 - U+1F87 : 0x55555555
-      6,  // U+1F88 - U+1F8F : 0x55555555
-      6,  // U+1F90 - U+1F97 : 0x55555555
-      6,  // U+1F98 - U+1F9F : 0x55555555
-      6,  // U+1FA0 - U+1FA7 : 0x55555555
-      6,  // U+1FA8 - U+1FAF : 0x55555555
-     38,  // U+1FB0 - U+1FB7 : 0x55055555
-    135,  // U+1FB8 - U+1FBF : 0x75755555
-    136,  // U+1FC0 - U+1FC7 : 0x55055577
-     23,  // U+1FC8 - U+1FCF : 0x77755555
-     42,  // U+1FD0 - U+1FD7 : 0x55005555
-    137,  // U+1FD8 - U+1FDF : 0x77705555
-      6,  // U+1FE0 - U+1FE7 : 0x55555555
-     23,  // U+1FE8 - U+1FEF : 0x77755555
-    138,  // U+1FF0 - U+1FF7 : 0x55055500
-    139,  // U+1FF8 - U+1FFF : 0x07755555
-    140,  // U+2000 - U+2007 : 0x33333333
-    141,  // U+2008 - U+200F : 0x44443333
-    125,  // U+2010 - U+2017 : 0x66666666
-    125,  // U+2018 - U+201F : 0x66666666
-    125,  // U+2020 - U+2027 : 0x66666666
-    142,  // U+2028 - U+202F : 0x04444433
-    125,  // U+2030 - U+2037 : 0x66666666
-    125,  // U+2038 - U+203F : 0x66666666
-    143,  // U+2040 - U+2047 : 0x06676666
-     17,  // U+2048 - U+204F : 0x00000000
-     17,  // U+2050 - U+2057 : 0x00000000
-     17,  // U+2058 - U+205F : 0x00000000
-     17,  // U+2060 - U+2067 : 0x00000000
-    144,  // U+2068 - U+206F : 0x44444400
-    145,  // U+2070 - U+2077 : 0x22220002
-    146,  // U+2078 - U+207F : 0x56677722
-      3,  // U+2080 - U+2087 : 0x22222222
-    147,  // U+2088 - U+208F : 0x06677722
-     17,  // U+2090 - U+2097 : 0x00000000
-     17,  // U+2098 - U+209F : 0x00000000
-     21,  // U+20A0 - U+20A7 : 0x77777777
-    148,  // U+20A8 - U+20AF : 0x00077777
-     17,  // U+20B0 - U+20B7 : 0x00000000
-     17,  // U+20B8 - U+20BF : 0x00000000
-     17,  // U+20C0 - U+20C7 : 0x00000000
-     17,  // U+20C8 - U+20CF : 0x00000000
-     25,  // U+20D0 - U+20D7 : 0x11111111
-     25,  // U+20D8 - U+20DF : 0x11111111
-     27,  // U+20E0 - U+20E7 : 0x00000011
-     17,  // U+20E8 - U+20EF : 0x00000000
-     17,  // U+20F0 - U+20F7 : 0x00000000
-     17,  // U+20F8 - U+20FF : 0x00000000
-    149,  // U+2100 - U+2107 : 0x57777577
-    150,  // U+2108 - U+210F : 0x55555577
-    151,  // U+2110 - U+2117 : 0x77575555
-    152,  // U+2118 - U+211F : 0x77555555
-    153,  // U+2120 - U+2127 : 0x75757777
-    154,  // U+2128 - U+212F : 0x55555575
-    155,  // U+2130 - U+2137 : 0x55555755
-     18,  // U+2138 - U+213F : 0x00000005
-     17,  // U+2140 - U+2147 : 0x00000000
-     17,  // U+2148 - U+214F : 0x00000000
-    156,  // U+2150 - U+2157 : 0x22222000
-      3,  // U+2158 - U+215F : 0x22222222
-      3,  // U+2160 - U+2167 : 0x22222222
-      3,  // U+2168 - U+216F : 0x22222222
-      3,  // U+2170 - U+2177 : 0x22222222
-      3,  // U+2178 - U+217F : 0x22222222
-    105,  // U+2180 - U+2187 : 0x00000222
-     17,  // U+2188 - U+218F : 0x00000000
-     21,  // U+2190 - U+2197 : 0x77777777
-     21,  // U+2198 - U+219F : 0x77777777
-     21,  // U+21A0 - U+21A7 : 0x77777777
-     21,  // U+21A8 - U+21AF : 0x77777777
-     21,  // U+21B0 - U+21B7 : 0x77777777
-     21,  // U+21B8 - U+21BF : 0x77777777
-     21,  // U+21C0 - U+21C7 : 0x77777777
-     21,  // U+21C8 - U+21CF : 0x77777777
-     21,  // U+21D0 - U+21D7 : 0x77777777
-     21,  // U+21D8 - U+21DF : 0x77777777
-     21,  // U+21E0 - U+21E7 : 0x77777777
-    157,  // U+21E8 - U+21EF : 0x00000777
-     17,  // U+21F0 - U+21F7 : 0x00000000
-     17,  // U+21F8 - U+21FF : 0x00000000
-     21,  // U+2200 - U+2207 : 0x77777777
-     21,  // U+2208 - U+220F : 0x77777777
-     21,  // U+2210 - U+2217 : 0x77777777
-     21,  // U+2218 - U+221F : 0x77777777
-     21,  // U+2220 - U+2227 : 0x77777777
-     21,  // U+2228 - U+222F : 0x77777777
-     21,  // U+2230 - U+2237 : 0x77777777
-     21,  // U+2238 - U+223F : 0x77777777
-     21,  // U+2240 - U+2247 : 0x77777777
-     21,  // U+2248 - U+224F : 0x77777777
-     21,  // U+2250 - U+2257 : 0x77777777
-     21,  // U+2258 - U+225F : 0x77777777
-     21,  // U+2260 - U+2267 : 0x77777777
-     21,  // U+2268 - U+226F : 0x77777777
-     21,  // U+2270 - U+2277 : 0x77777777
-     21,  // U+2278 - U+227F : 0x77777777
-     21,  // U+2280 - U+2287 : 0x77777777
-     21,  // U+2288 - U+228F : 0x77777777
-     21,  // U+2290 - U+2297 : 0x77777777
-     21,  // U+2298 - U+229F : 0x77777777
-     21,  // U+22A0 - U+22A7 : 0x77777777
-     21,  // U+22A8 - U+22AF : 0x77777777
-     21,  // U+22B0 - U+22B7 : 0x77777777
-     21,  // U+22B8 - U+22BF : 0x77777777
-     21,  // U+22C0 - U+22C7 : 0x77777777
-     21,  // U+22C8 - U+22CF : 0x77777777
-     21,  // U+22D0 - U+22D7 : 0x77777777
-     21,  // U+22D8 - U+22DF : 0x77777777
-     21,  // U+22E0 - U+22E7 : 0x77777777
-     21,  // U+22E8 - U+22EF : 0x77777777
-     24,  // U+22F0 - U+22F7 : 0x00000077
-     17,  // U+22F8 - U+22FF : 0x00000000
-    158,  // U+2300 - U+2307 : 0x77777707
-     21,  // U+2308 - U+230F : 0x77777777
-     21,  // U+2310 - U+2317 : 0x77777777
-     21,  // U+2318 - U+231F : 0x77777777
-     21,  // U+2320 - U+2327 : 0x77777777
-    159,  // U+2328 - U+232F : 0x77777667
-     21,  // U+2330 - U+2337 : 0x77777777
-     21,  // U+2338 - U+233F : 0x77777777
-     21,  // U+2340 - U+2347 : 0x77777777
-     21,  // U+2348 - U+234F : 0x77777777
-     21,  // U+2350 - U+2357 : 0x77777777
-     21,  // U+2358 - U+235F : 0x77777777
-     21,  // U+2360 - U+2367 : 0x77777777
-     21,  // U+2368 - U+236F : 0x77777777
-     21,  // U+2370 - U+2377 : 0x77777777
-    157,  // U+2378 - U+237F : 0x00000777
-     17,  // U+2380 - U+2387 : 0x00000000
-     17,  // U+2388 - U+238F : 0x00000000
-     17,  // U+2390 - U+2397 : 0x00000000
-     17,  // U+2398 - U+239F : 0x00000000
-     17,  // U+23A0 - U+23A7 : 0x00000000
-     17,  // U+23A8 - U+23AF : 0x00000000
-     17,  // U+23B0 - U+23B7 : 0x00000000
-     17,  // U+23B8 - U+23BF : 0x00000000
-     17,  // U+23C0 - U+23C7 : 0x00000000
-     17,  // U+23C8 - U+23CF : 0x00000000
-     17,  // U+23D0 - U+23D7 : 0x00000000
-     17,  // U+23D8 - U+23DF : 0x00000000
-     17,  // U+23E0 - U+23E7 : 0x00000000
-     17,  // U+23E8 - U+23EF : 0x00000000
-     17,  // U+23F0 - U+23F7 : 0x00000000
-     17,  // U+23F8 - U+23FF : 0x00000000
-     21,  // U+2400 - U+2407 : 0x77777777
-     21,  // U+2408 - U+240F : 0x77777777
-     21,  // U+2410 - U+2417 : 0x77777777
-     21,  // U+2418 - U+241F : 0x77777777
-    148,  // U+2420 - U+2427 : 0x00077777
-     17,  // U+2428 - U+242F : 0x00000000
-     17,  // U+2430 - U+2437 : 0x00000000
-     17,  // U+2438 - U+243F : 0x00000000
-     21,  // U+2440 - U+2447 : 0x77777777
-    157,  // U+2448 - U+244F : 0x00000777
-     17,  // U+2450 - U+2457 : 0x00000000
-     17,  // U+2458 - U+245F : 0x00000000
-      3,  // U+2460 - U+2467 : 0x22222222
-      3,  // U+2468 - U+246F : 0x22222222
-      3,  // U+2470 - U+2477 : 0x22222222
-      3,  // U+2478 - U+247F : 0x22222222
-      3,  // U+2480 - U+2487 : 0x22222222
-      3,  // U+2488 - U+248F : 0x22222222
-      3,  // U+2490 - U+2497 : 0x22222222
-    160,  // U+2498 - U+249F : 0x77772222
-     21,  // U+24A0 - U+24A7 : 0x77777777
-     21,  // U+24A8 - U+24AF : 0x77777777
-     21,  // U+24B0 - U+24B7 : 0x77777777
-     21,  // U+24B8 - U+24BF : 0x77777777
-     21,  // U+24C0 - U+24C7 : 0x77777777
-     21,  // U+24C8 - U+24CF : 0x77777777
-     21,  // U+24D0 - U+24D7 : 0x77777777
-     21,  // U+24D8 - U+24DF : 0x77777777
-     21,  // U+24E0 - U+24E7 : 0x77777777
-    161,  // U+24E8 - U+24EF : 0x00000277
-     17,  // U+24F0 - U+24F7 : 0x00000000
-     17,  // U+24F8 - U+24FF : 0x00000000
-     21,  // U+2500 - U+2507 : 0x77777777
-     21,  // U+2508 - U+250F : 0x77777777
-     21,  // U+2510 - U+2517 : 0x77777777
-     21,  // U+2518 - U+251F : 0x77777777
-     21,  // U+2520 - U+2527 : 0x77777777
-     21,  // U+2528 - U+252F : 0x77777777
-     21,  // U+2530 - U+2537 : 0x77777777
-     21,  // U+2538 - U+253F : 0x77777777
-     21,  // U+2540 - U+2547 : 0x77777777
-     21,  // U+2548 - U+254F : 0x77777777
-     21,  // U+2550 - U+2557 : 0x77777777
-     21,  // U+2558 - U+255F : 0x77777777
-     21,  // U+2560 - U+2567 : 0x77777777
-     21,  // U+2568 - U+256F : 0x77777777
-     21,  // U+2570 - U+2577 : 0x77777777
-     21,  // U+2578 - U+257F : 0x77777777
-     21,  // U+2580 - U+2587 : 0x77777777
-     21,  // U+2588 - U+258F : 0x77777777
-    162,  // U+2590 - U+2597 : 0x00777777
-     17,  // U+2598 - U+259F : 0x00000000
-     21,  // U+25A0 - U+25A7 : 0x77777777
-     21,  // U+25A8 - U+25AF : 0x77777777
-     21,  // U+25B0 - U+25B7 : 0x77777777
-     21,  // U+25B8 - U+25BF : 0x77777777
-     21,  // U+25C0 - U+25C7 : 0x77777777
-     21,  // U+25C8 - U+25CF : 0x77777777
-     21,  // U+25D0 - U+25D7 : 0x77777777
-     21,  // U+25D8 - U+25DF : 0x77777777
-     21,  // U+25E0 - U+25E7 : 0x77777777
-     21,  // U+25E8 - U+25EF : 0x77777777
-     17,  // U+25F0 - U+25F7 : 0x00000000
-     17,  // U+25F8 - U+25FF : 0x00000000
-     21,  // U+2600 - U+2607 : 0x77777777
-     21,  // U+2608 - U+260F : 0x77777777
-    163,  // U+2610 - U+2617 : 0x00007777
-    164,  // U+2618 - U+261F : 0x77777700
-     21,  // U+2620 - U+2627 : 0x77777777
-     21,  // U+2628 - U+262F : 0x77777777
-     21,  // U+2630 - U+2637 : 0x77777777
-     21,  // U+2638 - U+263F : 0x77777777
-     21,  // U+2640 - U+2647 : 0x77777777
-     21,  // U+2648 - U+264F : 0x77777777
-     21,  // U+2650 - U+2657 : 0x77777777
-     21,  // U+2658 - U+265F : 0x77777777
-     21,  // U+2660 - U+2667 : 0x77777777
-     21,  // U+2668 - U+266F : 0x77777777
-     17,  // U+2670 - U+2677 : 0x00000000
-     17,  // U+2678 - U+267F : 0x00000000
-     17,  // U+2680 - U+2687 : 0x00000000
-     17,  // U+2688 - U+268F : 0x00000000
-     17,  // U+2690 - U+2697 : 0x00000000
-     17,  // U+2698 - U+269F : 0x00000000
-     17,  // U+26A0 - U+26A7 : 0x00000000
-     17,  // U+26A8 - U+26AF : 0x00000000
-     17,  // U+26B0 - U+26B7 : 0x00000000
-     17,  // U+26B8 - U+26BF : 0x00000000
-     17,  // U+26C0 - U+26C7 : 0x00000000
-     17,  // U+26C8 - U+26CF : 0x00000000
-     17,  // U+26D0 - U+26D7 : 0x00000000
-     17,  // U+26D8 - U+26DF : 0x00000000
-     17,  // U+26E0 - U+26E7 : 0x00000000
-     17,  // U+26E8 - U+26EF : 0x00000000
-     17,  // U+26F0 - U+26F7 : 0x00000000
-     17,  // U+26F8 - U+26FF : 0x00000000
-    165,  // U+2700 - U+2707 : 0x77077770
-    166,  // U+2708 - U+270F : 0x77770077
-     21,  // U+2710 - U+2717 : 0x77777777
-     21,  // U+2718 - U+271F : 0x77777777
-     21,  // U+2720 - U+2727 : 0x77777777
-    167,  // U+2728 - U+272F : 0x77777770
-     21,  // U+2730 - U+2737 : 0x77777777
-     21,  // U+2738 - U+273F : 0x77777777
-     21,  // U+2740 - U+2747 : 0x77777777
-    168,  // U+2748 - U+274F : 0x70707777
-    169,  // U+2750 - U+2757 : 0x07000777
-     22,  // U+2758 - U+275F : 0x07777777
-    167,  // U+2760 - U+2767 : 0x77777770
-     17,  // U+2768 - U+276F : 0x00000000
-     83,  // U+2770 - U+2777 : 0x22000000
-      3,  // U+2778 - U+277F : 0x22222222
-      3,  // U+2780 - U+2787 : 0x22222222
-      3,  // U+2788 - U+278F : 0x22222222
-    170,  // U+2790 - U+2797 : 0x00072222
-     21,  // U+2798 - U+279F : 0x77777777
-     21,  // U+27A0 - U+27A7 : 0x77777777
-     21,  // U+27A8 - U+27AF : 0x77777777
-    167,  // U+27B0 - U+27B7 : 0x77777770
-     22,  // U+27B8 - U+27BF : 0x07777777
-     17,  // U+27C0 - U+27C7 : 0x00000000
-     17,  // U+27C8 - U+27CF : 0x00000000
-     17,  // U+27D0 - U+27D7 : 0x00000000
-     17,  // U+27D8 - U+27DF : 0x00000000
-     17,  // U+27E0 - U+27E7 : 0x00000000
-     17,  // U+27E8 - U+27EF : 0x00000000
-     17,  // U+27F0 - U+27F7 : 0x00000000
-     17,  // U+27F8 - U+27FF : 0x00000000
-};
-
-static const PRUint8 gGenCatIdx4[128] = {
-    171,  // U+3000 - U+3007 : 0x25576663
-    125,  // U+3008 - U+300F : 0x66666666
-    172,  // U+3010 - U+3017 : 0x66667766
-    125,  // U+3018 - U+301F : 0x66666666
-    173,  // U+3020 - U+3027 : 0x22222227
-    174,  // U+3028 - U+302F : 0x11111122
-    175,  // U+3030 - U+3037 : 0x77555556
-    176,  // U+3038 - U+303F : 0x70000000
-     37,  // U+3040 - U+3047 : 0x55555550
-      6,  // U+3048 - U+304F : 0x55555555
-      6,  // U+3050 - U+3057 : 0x55555555
-      6,  // U+3058 - U+305F : 0x55555555
-      6,  // U+3060 - U+3067 : 0x55555555
-      6,  // U+3068 - U+306F : 0x55555555
-      6,  // U+3070 - U+3077 : 0x55555555
-      6,  // U+3078 - U+307F : 0x55555555
-      6,  // U+3080 - U+3087 : 0x55555555
-      6,  // U+3088 - U+308F : 0x55555555
-    177,  // U+3090 - U+3097 : 0x00055555
-    178,  // U+3098 - U+309F : 0x05577110
-     37,  // U+30A0 - U+30A7 : 0x55555550
-      6,  // U+30A8 - U+30AF : 0x55555555
-      6,  // U+30B0 - U+30B7 : 0x55555555
-      6,  // U+30B8 - U+30BF : 0x55555555
-      6,  // U+30C0 - U+30C7 : 0x55555555
-      6,  // U+30C8 - U+30CF : 0x55555555
-      6,  // U+30D0 - U+30D7 : 0x55555555
-      6,  // U+30D8 - U+30DF : 0x55555555
-      6,  // U+30E0 - U+30E7 : 0x55555555
-      6,  // U+30E8 - U+30EF : 0x55555555
-      6,  // U+30F0 - U+30F7 : 0x55555555
-    179,  // U+30F8 - U+30FF : 0x05556555
-    180,  // U+3100 - U+3107 : 0x55500000
-      6,  // U+3108 - U+310F : 0x55555555
-      6,  // U+3110 - U+3117 : 0x55555555
-      6,  // U+3118 - U+311F : 0x55555555
-      6,  // U+3120 - U+3127 : 0x55555555
-    177,  // U+3128 - U+312F : 0x00055555
-     37,  // U+3130 - U+3137 : 0x55555550
-      6,  // U+3138 - U+313F : 0x55555555
-      6,  // U+3140 - U+3147 : 0x55555555
-      6,  // U+3148 - U+314F : 0x55555555
-      6,  // U+3150 - U+3157 : 0x55555555
-      6,  // U+3158 - U+315F : 0x55555555
-      6,  // U+3160 - U+3167 : 0x55555555
-      6,  // U+3168 - U+316F : 0x55555555
-      6,  // U+3170 - U+3177 : 0x55555555
-      6,  // U+3178 - U+317F : 0x55555555
-      6,  // U+3180 - U+3187 : 0x55555555
-     33,  // U+3188 - U+318F : 0x05555555
-    181,  // U+3190 - U+3197 : 0x77222277
-     21,  // U+3198 - U+319F : 0x77777777
-     17,  // U+31A0 - U+31A7 : 0x00000000
-     17,  // U+31A8 - U+31AF : 0x00000000
-     17,  // U+31B0 - U+31B7 : 0x00000000
-     17,  // U+31B8 - U+31BF : 0x00000000
-     17,  // U+31C0 - U+31C7 : 0x00000000
-     17,  // U+31C8 - U+31CF : 0x00000000
-     17,  // U+31D0 - U+31D7 : 0x00000000
-     17,  // U+31D8 - U+31DF : 0x00000000
-     17,  // U+31E0 - U+31E7 : 0x00000000
-     17,  // U+31E8 - U+31EF : 0x00000000
-     17,  // U+31F0 - U+31F7 : 0x00000000
-     17,  // U+31F8 - U+31FF : 0x00000000
-     21,  // U+3200 - U+3207 : 0x77777777
-     21,  // U+3208 - U+320F : 0x77777777
-     21,  // U+3210 - U+3217 : 0x77777777
-    148,  // U+3218 - U+321F : 0x00077777
-      3,  // U+3220 - U+3227 : 0x22222222
-    182,  // U+3228 - U+322F : 0x77777722
-     21,  // U+3230 - U+3237 : 0x77777777
-     21,  // U+3238 - U+323F : 0x77777777
-    163,  // U+3240 - U+3247 : 0x00007777
-     17,  // U+3248 - U+324F : 0x00000000
-     17,  // U+3250 - U+3257 : 0x00000000
-     17,  // U+3258 - U+325F : 0x00000000
-     21,  // U+3260 - U+3267 : 0x77777777
-     21,  // U+3268 - U+326F : 0x77777777
-     21,  // U+3270 - U+3277 : 0x77777777
-    183,  // U+3278 - U+327F : 0x70007777
-      3,  // U+3280 - U+3287 : 0x22222222
-    182,  // U+3288 - U+328F : 0x77777722
-     21,  // U+3290 - U+3297 : 0x77777777
-     21,  // U+3298 - U+329F : 0x77777777
-     21,  // U+32A0 - U+32A7 : 0x77777777
-     21,  // U+32A8 - U+32AF : 0x77777777
-     94,  // U+32B0 - U+32B7 : 0x00000007
-     17,  // U+32B8 - U+32BF : 0x00000000
-     21,  // U+32C0 - U+32C7 : 0x77777777
-    163,  // U+32C8 - U+32CF : 0x00007777
-     21,  // U+32D0 - U+32D7 : 0x77777777
-     21,  // U+32D8 - U+32DF : 0x77777777
-     21,  // U+32E0 - U+32E7 : 0x77777777
-     21,  // U+32E8 - U+32EF : 0x77777777
-     21,  // U+32F0 - U+32F7 : 0x77777777
-     22,  // U+32F8 - U+32FF : 0x07777777
-     21,  // U+3300 - U+3307 : 0x77777777
-     21,  // U+3308 - U+330F : 0x77777777
-     21,  // U+3310 - U+3317 : 0x77777777
-     21,  // U+3318 - U+331F : 0x77777777
-     21,  // U+3320 - U+3327 : 0x77777777
-     21,  // U+3328 - U+332F : 0x77777777
-     21,  // U+3330 - U+3337 : 0x77777777
-     21,  // U+3338 - U+333F : 0x77777777
-     21,  // U+3340 - U+3347 : 0x77777777
-     21,  // U+3348 - U+334F : 0x77777777
-     21,  // U+3350 - U+3357 : 0x77777777
-     21,  // U+3358 - U+335F : 0x77777777
-     21,  // U+3360 - U+3367 : 0x77777777
-     21,  // U+3368 - U+336F : 0x77777777
-     22,  // U+3370 - U+3377 : 0x07777777
-    184,  // U+3378 - U+337F : 0x77777000
-     21,  // U+3380 - U+3387 : 0x77777777
-     21,  // U+3388 - U+338F : 0x77777777
-     21,  // U+3390 - U+3397 : 0x77777777
-     21,  // U+3398 - U+339F : 0x77777777
-     21,  // U+33A0 - U+33A7 : 0x77777777
-     21,  // U+33A8 - U+33AF : 0x77777777
-     21,  // U+33B0 - U+33B7 : 0x77777777
-     21,  // U+33B8 - U+33BF : 0x77777777
-     21,  // U+33C0 - U+33C7 : 0x77777777
-     21,  // U+33C8 - U+33CF : 0x77777777
-     21,  // U+33D0 - U+33D7 : 0x77777777
-    162,  // U+33D8 - U+33DF : 0x00777777
-     21,  // U+33E0 - U+33E7 : 0x77777777
-     21,  // U+33E8 - U+33EF : 0x77777777
-     21,  // U+33F0 - U+33F7 : 0x77777777
-     22,  // U+33F8 - U+33FF : 0x07777777
-};
-
-static const PRUint8 gGenCatIdx5[224] = {
-      6,  // U+F900 - U+F907 : 0x55555555
-      6,  // U+F908 - U+F90F : 0x55555555
-      6,  // U+F910 - U+F917 : 0x55555555
-      6,  // U+F918 - U+F91F : 0x55555555
-      6,  // U+F920 - U+F927 : 0x55555555
-      6,  // U+F928 - U+F92F : 0x55555555
-      6,  // U+F930 - U+F937 : 0x55555555
-      6,  // U+F938 - U+F93F : 0x55555555
-      6,  // U+F940 - U+F947 : 0x55555555
-      6,  // U+F948 - U+F94F : 0x55555555
-      6,  // U+F950 - U+F957 : 0x55555555
-      6,  // U+F958 - U+F95F : 0x55555555
-      6,  // U+F960 - U+F967 : 0x55555555
-      6,  // U+F968 - U+F96F : 0x55555555
-      6,  // U+F970 - U+F977 : 0x55555555
-      6,  // U+F978 - U+F97F : 0x55555555
-      6,  // U+F980 - U+F987 : 0x55555555
-      6,  // U+F988 - U+F98F : 0x55555555
-      6,  // U+F990 - U+F997 : 0x55555555
-      6,  // U+F998 - U+F99F : 0x55555555
-      6,  // U+F9A0 - U+F9A7 : 0x55555555
-      6,  // U+F9A8 - U+F9AF : 0x55555555
-      6,  // U+F9B0 - U+F9B7 : 0x55555555
-      6,  // U+F9B8 - U+F9BF : 0x55555555
-      6,  // U+F9C0 - U+F9C7 : 0x55555555
-      6,  // U+F9C8 - U+F9CF : 0x55555555
-      6,  // U+F9D0 - U+F9D7 : 0x55555555
-      6,  // U+F9D8 - U+F9DF : 0x55555555
-      6,  // U+F9E0 - U+F9E7 : 0x55555555
-      6,  // U+F9E8 - U+F9EF : 0x55555555
-      6,  // U+F9F0 - U+F9F7 : 0x55555555
-      6,  // U+F9F8 - U+F9FF : 0x55555555
-      6,  // U+FA00 - U+FA07 : 0x55555555
-      6,  // U+FA08 - U+FA0F : 0x55555555
-      6,  // U+FA10 - U+FA17 : 0x55555555
-      6,  // U+FA18 - U+FA1F : 0x55555555
-      6,  // U+FA20 - U+FA27 : 0x55555555
-     15,  // U+FA28 - U+FA2F : 0x00555555
-     17,  // U+FA30 - U+FA37 : 0x00000000
-     17,  // U+FA38 - U+FA3F : 0x00000000
-     17,  // U+FA40 - U+FA47 : 0x00000000
-     17,  // U+FA48 - U+FA4F : 0x00000000
-     17,  // U+FA50 - U+FA57 : 0x00000000
-     17,  // U+FA58 - U+FA5F : 0x00000000
-     17,  // U+FA60 - U+FA67 : 0x00000000
-     17,  // U+FA68 - U+FA6F : 0x00000000
-     17,  // U+FA70 - U+FA77 : 0x00000000
-     17,  // U+FA78 - U+FA7F : 0x00000000
-     17,  // U+FA80 - U+FA87 : 0x00000000
-     17,  // U+FA88 - U+FA8F : 0x00000000
-     17,  // U+FA90 - U+FA97 : 0x00000000
-     17,  // U+FA98 - U+FA9F : 0x00000000
-     17,  // U+FAA0 - U+FAA7 : 0x00000000
-     17,  // U+FAA8 - U+FAAF : 0x00000000
-     17,  // U+FAB0 - U+FAB7 : 0x00000000
-     17,  // U+FAB8 - U+FABF : 0x00000000
-     17,  // U+FAC0 - U+FAC7 : 0x00000000
-     17,  // U+FAC8 - U+FACF : 0x00000000
-     17,  // U+FAD0 - U+FAD7 : 0x00000000
-     17,  // U+FAD8 - U+FADF : 0x00000000
-     17,  // U+FAE0 - U+FAE7 : 0x00000000
-     17,  // U+FAE8 - U+FAEF : 0x00000000
-     17,  // U+FAF0 - U+FAF7 : 0x00000000
-     17,  // U+FAF8 - U+FAFF : 0x00000000
-     33,  // U+FB00 - U+FB07 : 0x05555555
-     17,  // U+FB08 - U+FB0F : 0x00000000
-    185,  // U+FB10 - U+FB17 : 0x55555000
-    186,  // U+FB18 - U+FB1F : 0x51000000
-      6,  // U+FB20 - U+FB27 : 0x55555555
-    154,  // U+FB28 - U+FB2F : 0x55555575
-     33,  // U+FB30 - U+FB37 : 0x05555555
-    122,  // U+FB38 - U+FB3F : 0x05055555
-    187,  // U+FB40 - U+FB47 : 0x55055055
-      6,  // U+FB48 - U+FB4F : 0x55555555
-      6,  // U+FB50 - U+FB57 : 0x55555555
-      6,  // U+FB58 - U+FB5F : 0x55555555
-      6,  // U+FB60 - U+FB67 : 0x55555555
-      6,  // U+FB68 - U+FB6F : 0x55555555
-      6,  // U+FB70 - U+FB77 : 0x55555555
-      6,  // U+FB78 - U+FB7F : 0x55555555
-      6,  // U+FB80 - U+FB87 : 0x55555555
-      6,  // U+FB88 - U+FB8F : 0x55555555
-      6,  // U+FB90 - U+FB97 : 0x55555555
-      6,  // U+FB98 - U+FB9F : 0x55555555
-      6,  // U+FBA0 - U+FBA7 : 0x55555555
-      6,  // U+FBA8 - U+FBAF : 0x55555555
-     43,  // U+FBB0 - U+FBB7 : 0x00000055
-     17,  // U+FBB8 - U+FBBF : 0x00000000
-     17,  // U+FBC0 - U+FBC7 : 0x00000000
-     17,  // U+FBC8 - U+FBCF : 0x00000000
-    185,  // U+FBD0 - U+FBD7 : 0x55555000
-      6,  // U+FBD8 - U+FBDF : 0x55555555
-      6,  // U+FBE0 - U+FBE7 : 0x55555555
-      6,  // U+FBE8 - U+FBEF : 0x55555555
-      6,  // U+FBF0 - U+FBF7 : 0x55555555
-      6,  // U+FBF8 - U+FBFF : 0x55555555
-      6,  // U+FC00 - U+FC07 : 0x55555555
-      6,  // U+FC08 - U+FC0F : 0x55555555
-      6,  // U+FC10 - U+FC17 : 0x55555555
-      6,  // U+FC18 - U+FC1F : 0x55555555
-      6,  // U+FC20 - U+FC27 : 0x55555555
-      6,  // U+FC28 - U+FC2F : 0x55555555
-      6,  // U+FC30 - U+FC37 : 0x55555555
-      6,  // U+FC38 - U+FC3F : 0x55555555
-      6,  // U+FC40 - U+FC47 : 0x55555555
-      6,  // U+FC48 - U+FC4F : 0x55555555
-      6,  // U+FC50 - U+FC57 : 0x55555555
-      6,  // U+FC58 - U+FC5F : 0x55555555
-      6,  // U+FC60 - U+FC67 : 0x55555555
-      6,  // U+FC68 - U+FC6F : 0x55555555
-      6,  // U+FC70 - U+FC77 : 0x55555555
-      6,  // U+FC78 - U+FC7F : 0x55555555
-      6,  // U+FC80 - U+FC87 : 0x55555555
-      6,  // U+FC88 - U+FC8F : 0x55555555
-      6,  // U+FC90 - U+FC97 : 0x55555555
-      6,  // U+FC98 - U+FC9F : 0x55555555
-      6,  // U+FCA0 - U+FCA7 : 0x55555555
-      6,  // U+FCA8 - U+FCAF : 0x55555555
-      6,  // U+FCB0 - U+FCB7 : 0x55555555
-      6,  // U+FCB8 - U+FCBF : 0x55555555
-      6,  // U+FCC0 - U+FCC7 : 0x55555555
-      6,  // U+FCC8 - U+FCCF : 0x55555555
-      6,  // U+FCD0 - U+FCD7 : 0x55555555
-      6,  // U+FCD8 - U+FCDF : 0x55555555
-      6,  // U+FCE0 - U+FCE7 : 0x55555555
-      6,  // U+FCE8 - U+FCEF : 0x55555555
-      6,  // U+FCF0 - U+FCF7 : 0x55555555
-      6,  // U+FCF8 - U+FCFF : 0x55555555
-      6,  // U+FD00 - U+FD07 : 0x55555555
-      6,  // U+FD08 - U+FD0F : 0x55555555
-      6,  // U+FD10 - U+FD17 : 0x55555555
-      6,  // U+FD18 - U+FD1F : 0x55555555
-      6,  // U+FD20 - U+FD27 : 0x55555555
-      6,  // U+FD28 - U+FD2F : 0x55555555
-      6,  // U+FD30 - U+FD37 : 0x55555555
-    188,  // U+FD38 - U+FD3F : 0x66555555
-     17,  // U+FD40 - U+FD47 : 0x00000000
-     17,  // U+FD48 - U+FD4F : 0x00000000
-      6,  // U+FD50 - U+FD57 : 0x55555555
-      6,  // U+FD58 - U+FD5F : 0x55555555
-      6,  // U+FD60 - U+FD67 : 0x55555555
-      6,  // U+FD68 - U+FD6F : 0x55555555
-      6,  // U+FD70 - U+FD77 : 0x55555555
-      6,  // U+FD78 - U+FD7F : 0x55555555
-      6,  // U+FD80 - U+FD87 : 0x55555555
-      6,  // U+FD88 - U+FD8F : 0x55555555
-     16,  // U+FD90 - U+FD97 : 0x55555500
-      6,  // U+FD98 - U+FD9F : 0x55555555
-      6,  // U+FDA0 - U+FDA7 : 0x55555555
-      6,  // U+FDA8 - U+FDAF : 0x55555555
-      6,  // U+FDB0 - U+FDB7 : 0x55555555
-      6,  // U+FDB8 - U+FDBF : 0x55555555
-      6,  // U+FDC0 - U+FDC7 : 0x55555555
-     17,  // U+FDC8 - U+FDCF : 0x00000000
-     17,  // U+FDD0 - U+FDD7 : 0x00000000
-     17,  // U+FDD8 - U+FDDF : 0x00000000
-     17,  // U+FDE0 - U+FDE7 : 0x00000000
-     17,  // U+FDE8 - U+FDEF : 0x00000000
-      6,  // U+FDF0 - U+FDF7 : 0x55555555
-     36,  // U+FDF8 - U+FDFF : 0x00005555
-     17,  // U+FE00 - U+FE07 : 0x00000000
-     17,  // U+FE08 - U+FE0F : 0x00000000
-     17,  // U+FE10 - U+FE17 : 0x00000000
-     17,  // U+FE18 - U+FE1F : 0x00000000
-    189,  // U+FE20 - U+FE27 : 0x00001111
-     17,  // U+FE28 - U+FE2F : 0x00000000
-    125,  // U+FE30 - U+FE37 : 0x66666666
-    125,  // U+FE38 - U+FE3F : 0x66666666
-    190,  // U+FE40 - U+FE47 : 0x00066666
-    191,  // U+FE48 - U+FE4F : 0x66666660
-    192,  // U+FE50 - U+FE57 : 0x66660666
-    125,  // U+FE58 - U+FE5F : 0x66666666
-    193,  // U+FE60 - U+FE67 : 0x07776766
-    194,  // U+FE68 - U+FE6F : 0x00006676
-     31,  // U+FE70 - U+FE77 : 0x55050555
-      6,  // U+FE78 - U+FE7F : 0x55555555
-      6,  // U+FE80 - U+FE87 : 0x55555555
-      6,  // U+FE88 - U+FE8F : 0x55555555
-      6,  // U+FE90 - U+FE97 : 0x55555555
-      6,  // U+FE98 - U+FE9F : 0x55555555
-      6,  // U+FEA0 - U+FEA7 : 0x55555555
-      6,  // U+FEA8 - U+FEAF : 0x55555555
-      6,  // U+FEB0 - U+FEB7 : 0x55555555
-      6,  // U+FEB8 - U+FEBF : 0x55555555
-      6,  // U+FEC0 - U+FEC7 : 0x55555555
-      6,  // U+FEC8 - U+FECF : 0x55555555
-      6,  // U+FED0 - U+FED7 : 0x55555555
-      6,  // U+FED8 - U+FEDF : 0x55555555
-      6,  // U+FEE0 - U+FEE7 : 0x55555555
-      6,  // U+FEE8 - U+FEEF : 0x55555555
-      6,  // U+FEF0 - U+FEF7 : 0x55555555
-    195,  // U+FEF8 - U+FEFF : 0x40055555
-    196,  // U+FF00 - U+FF07 : 0x66676660
-      2,  // U+FF08 - U+FF0F : 0x66667666
-      3,  // U+FF10 - U+FF17 : 0x22222222
-      4,  // U+FF18 - U+FF1F : 0x67776622
-      5,  // U+FF20 - U+FF27 : 0x55555556
-      6,  // U+FF28 - U+FF2F : 0x55555555
-      6,  // U+FF30 - U+FF37 : 0x55555555
-      7,  // U+FF38 - U+FF3F : 0x67666555
-      8,  // U+FF40 - U+FF47 : 0x55555557
-      6,  // U+FF48 - U+FF4F : 0x55555555
-      6,  // U+FF50 - U+FF57 : 0x55555555
-    197,  // U+FF58 - U+FF5F : 0x07676555
-    198,  // U+FF60 - U+FF67 : 0x55666660
-      6,  // U+FF68 - U+FF6F : 0x55555555
-      6,  // U+FF70 - U+FF77 : 0x55555555
-      6,  // U+FF78 - U+FF7F : 0x55555555
-      6,  // U+FF80 - U+FF87 : 0x55555555
-      6,  // U+FF88 - U+FF8F : 0x55555555
-      6,  // U+FF90 - U+FF97 : 0x55555555
-      6,  // U+FF98 - U+FF9F : 0x55555555
-      6,  // U+FFA0 - U+FFA7 : 0x55555555
-      6,  // U+FFA8 - U+FFAF : 0x55555555
-      6,  // U+FFB0 - U+FFB7 : 0x55555555
-     33,  // U+FFB8 - U+FFBF : 0x05555555
-     16,  // U+FFC0 - U+FFC7 : 0x55555500
-     16,  // U+FFC8 - U+FFCF : 0x55555500
-     16,  // U+FFD0 - U+FFD7 : 0x55555500
-    199,  // U+FFD8 - U+FFDF : 0x00055500
-     22,  // U+FFE0 - U+FFE7 : 0x07777777
-     22,  // U+FFE8 - U+FFEF : 0x07777777
-     17,  // U+FFF0 - U+FFF7 : 0x00000000
-    200,  // U+FFF8 - U+FFFF : 0x00770000
-};
-
-static PRUint32 gGenCatPat[201] = {
-    0x44444444,  // 0 
-    0x66676663,  // 1 
-    0x66667666,  // 2 
-    0x22222222,  // 3 
-    0x67776622,  // 4 
-    0x55555556,  // 5 
-    0x55555555,  // 6 
-    0x67666555,  // 7 
-    0x55555557,  // 8 
-    0x47676555,  // 9 
-    0x77777763,  // 10 
-    0x77676577,  // 11 
-    0x67572277,  // 12 
-    0x62226527,  // 13 
-    0x75555555,  // 14 
-    0x00555555,  // 15 
-    0x55555500,  // 16 
-    0x00000000,  // 17 
-    0x00000005,  // 18 
-    0x55555775,  // 19 
-    0x77777755,  // 20 
-    0x77777777,  // 21 
-    0x07777777,  // 22 
-    0x77755555,  // 23 
-    0x00000077,  // 24 
-    0x11111111,  // 25 
-    0x00111111,  // 26 
-    0x00000011,  // 27 
-    0x00660000,  // 28 
-    0x06000500,  // 29 
-    0x65770000,  // 30 
-    0x55050555,  // 31 
-    0x55555055,  // 32 
-    0x05555555,  // 33 
-    0x05050500,  // 34 
-    0x55555505,  // 35 
-    0x00005555,  // 36 
-    0x55555550,  // 37 
-    0x55055555,  // 38 
-    0x01111755,  // 39 
-    0x50055555,  // 40 
-    0x00055005,  // 41 
-    0x55005555,  // 42 
-    0x00000055,  // 43 
-    0x66666650,  // 44 
-    0x00000060,  // 45 
-    0x11111110,  // 46 
-    0x11111011,  // 47 
-    0x16111011,  // 48 
-    0x00016116,  // 49 
-    0x00000555,  // 50 
-    0x00066555,  // 51 
-    0x00060000,  // 52 
-    0x60006000,  // 53 
-    0x11111555,  // 54 
-    0x00000111,  // 55 
-    0x00666622,  // 56 
-    0x55555551,  // 57 
-    0x05555500,  // 58 
-    0x11565555,  // 59 
-    0x15511111,  // 60 
-    0x00111171,  // 61 
-    0x00000022,  // 62 
-    0x55501110,  // 63 
-    0x11510055,  // 64 
-    0x00011115,  // 65 
-    0x22661155,  // 66 
-    0x00000006,  // 67 
-    0x55555005,  // 68 
-    0x55000505,  // 69 
-    0x11010055,  // 70 
-    0x10011111,  // 71 
-    0x00111001,  // 72 
-    0x10000000,  // 73 
-    0x50550000,  // 74 
-    0x22001155,  // 75 
-    0x22227755,  // 76 
-    0x00000722,  // 77 
-    0x55500100,  // 78 
-    0x50000555,  // 79 
-    0x05505505,  // 80 
-    0x10000111,  // 81 
-    0x05055550,  // 82 
-    0x22000000,  // 83 
-    0x00055511,  // 84 
-    0x50505555,  // 85 
-    0x55505505,  // 86 
-    0x10111111,  // 87 
-    0x00111011,  // 88 
-    0x22000005,  // 89 
-    0x55005505,  // 90 
-    0x10001111,  // 91 
-    0x11000000,  // 92 
-    0x22000055,  // 93 
-    0x00000007,  // 94 
-    0x55501100,  // 95 
-    0x55000555,  // 96 
-    0x00555505,  // 97 
-    0x55050550,  // 98 
-    0x00055000,  // 99 
-    0x50555555,  // 100 
-    0x11000055,  // 101 
-    0x11000111,  // 102 
-    0x00111101,  // 103 
-    0x20000000,  // 104 
-    0x00000222,  // 105 
-    0x55505555,  // 106 
-    0x11011111,  // 107 
-    0x01100000,  // 108 
-    0x05000000,  // 109 
-    0x11001111,  // 110 
-    0x11115515,  // 111 
-    0x70000111,  // 112 
-    0x15555555,  // 113 
-    0x71111111,  // 114 
-    0x00006622,  // 115 
-    0x50050550,  // 116 
-    0x00500505,  // 117 
-    0x55550000,  // 118 
-    0x50505550,  // 119 
-    0x55505500,  // 120 
-    0x00511011,  // 121 
-    0x05055555,  // 122 
-    0x00550022,  // 123 
-    0x66667775,  // 124 
-    0x66666666,  // 125 
-    0x77777666,  // 126 
-    0x77777711,  // 127 
-    0x17172222,  // 128 
-    0x11666617,  // 129 
-    0x11611111,  // 130 
-    0x00000010,  // 131 
-    0x00006000,  // 132 
-    0x50000055,  // 133 
-    0x50505050,  // 134 
-    0x75755555,  // 135 
-    0x55055577,  // 136 
-    0x77705555,  // 137 
-    0x55055500,  // 138 
-    0x07755555,  // 139 
-    0x33333333,  // 140 
-    0x44443333,  // 141 
-    0x04444433,  // 142 
-    0x06676666,  // 143 
-    0x44444400,  // 144 
-    0x22220002,  // 145 
-    0x56677722,  // 146 
-    0x06677722,  // 147 
-    0x00077777,  // 148 
-    0x57777577,  // 149 
-    0x55555577,  // 150 
-    0x77575555,  // 151 
-    0x77555555,  // 152 
-    0x75757777,  // 153 
-    0x55555575,  // 154 
-    0x55555755,  // 155 
-    0x22222000,  // 156 
-    0x00000777,  // 157 
-    0x77777707,  // 158 
-    0x77777667,  // 159 
-    0x77772222,  // 160 
-    0x00000277,  // 161 
-    0x00777777,  // 162 
-    0x00007777,  // 163 
-    0x77777700,  // 164 
-    0x77077770,  // 165 
-    0x77770077,  // 166 
-    0x77777770,  // 167 
-    0x70707777,  // 168 
-    0x07000777,  // 169 
-    0x00072222,  // 170 
-    0x25576663,  // 171 
-    0x66667766,  // 172 
-    0x22222227,  // 173 
-    0x11111122,  // 174 
-    0x77555556,  // 175 
-    0x70000000,  // 176 
-    0x00055555,  // 177 
-    0x05577110,  // 178 
-    0x05556555,  // 179 
-    0x55500000,  // 180 
-    0x77222277,  // 181 
-    0x77777722,  // 182 
-    0x70007777,  // 183 
-    0x77777000,  // 184 
-    0x55555000,  // 185 
-    0x51000000,  // 186 
-    0x55055055,  // 187 
-    0x66555555,  // 188 
-    0x00001111,  // 189 
-    0x00066666,  // 190 
-    0x66666660,  // 191 
-    0x66660666,  // 192 
-    0x07776766,  // 193 
-    0x00006676,  // 194 
-    0x40055555,  // 195 
-    0x66676660,  // 196 
-    0x07676555,  // 197 
-    0x55666660,  // 198 
-    0x00055500,  // 199 
-    0x00770000,  // 200 
-};
-
-static PRUint8 GetCat(PRUnichar u)
-{
-    PRUint32 pat;
-    //
-    //  Handle block which use index table mapping    
-    //
-    // Handle U+0000 to U+06FF
-    if( (u<=((PRUnichar)0x06FF))) {
-        pat = gGenCatPat[gGenCatIdx1 [( u -(PRUnichar) 0x0000 ) / 8]];
-        return (pat  >> ((u % 8) * 4)) & 0x0F;
-    }
-
-    // Handle U+0900 to U+11FF
-    if((((PRUnichar)0x0900)<=u)&&(u<=((PRUnichar)0x11FF))) {
-        pat = gGenCatPat[gGenCatIdx2 [( u -(PRUnichar) 0x0900 ) / 8]];
-        return (pat  >> ((u % 8) * 4)) & 0x0F;
-    }
-
-    // Handle U+1E00 to U+27FF
-    if((((PRUnichar)0x1E00)<=u)&&(u<=((PRUnichar)0x27FF))) {
-        pat = gGenCatPat[gGenCatIdx3 [( u -(PRUnichar) 0x1E00 ) / 8]];
-        return (pat  >> ((u % 8) * 4)) & 0x0F;
-    }
-
-    // Handle U+3000 to U+33FF
-    if((((PRUnichar)0x3000)<=u)&&(u<=((PRUnichar)0x33FF))) {
-        pat = gGenCatPat[gGenCatIdx4 [( u -(PRUnichar) 0x3000 ) / 8]];
-        return (pat  >> ((u % 8) * 4)) & 0x0F;
-    }
-
-    // Handle U+F900 to U+FFFF
-    if((((PRUnichar)0xF900)<=u)&&(u<=((PRUnichar)0xFFFF))) {
-        pat = gGenCatPat[gGenCatIdx5 [( u -(PRUnichar) 0xF900 ) / 8]];
-        return (pat  >> ((u % 8) * 4)) & 0x0F;
-    }
-
-    //
-    //  Handle blocks which share the same category 
-    //
-    // Handle CJK Ideograp block 
-    if((((PRUnichar)0x4E00)<=u)&&(u<=((PRUnichar)0x9FA5))) 
-        return 5; 
-
-    // Handle Hangul Syllabl block 
-    if((((PRUnichar)0xAC00)<=u)&&(u<=((PRUnichar)0xD7A3))) 
-        return 5; 
-
-    // Handle Low Surrogat block 
-    if((((PRUnichar)0xDC00)<=u)&&(u<=((PRUnichar)0xDFFF))) 
-        return 4; 
-
-    // Handle Private Us block 
-    if((((PRUnichar)0xE000)<=u)&&(u<=((PRUnichar)0xF8FF))) 
-        return 4; 
-
-    // Handle Private Use High Surrogat block 
-    if((((PRUnichar)0xDB80)<=u)&&(u<=((PRUnichar)0xDBFF))) 
-        return 4; 
-
-    // Handle Unassigned High Surrogat block 
-    if((((PRUnichar)0xD800)<=u)&&(u<=((PRUnichar)0xDB7F))) 
-        return 4; 
-
-    return 0; // UNDEFINE 
-}
-// total data size = 1988