summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2002-02-18 20:07:17 +0000
committerEric Blake <ebb9@byu.net>2002-02-18 20:07:17 +0000
commit26cbbcfda33083544d135e59ccfae8206557e2ab (patch)
treedd7029e930baad02fb7fe7a93aabecce1df6dada /gnu
parent45940e02e46d2404145e67629b8c2f9641ede6d0 (diff)
downloadclasspath-26cbbcfda33083544d135e59ccfae8206557e2ab.tar.gz
2002-02-18 Eric Blake <ebb9@email.byu.edu>
* doc/unicode/unicode-blocks.pl: Minor updates, to avoid warnings. * doc/unicode/unicode-muncher.pl: Rewrite, to incorporate ideas from Artur Biesiadowski: use a 2-level lookup of fixed-length blocks instead of a 1-level lookup of variable-length blocks, and store the data in String literals in a Java interface instead of in binary files. * doc/unicode/unicode.database.format: Remove, as gnu/java/lang/CharData is self-documenting. * gnu/java/locale/block.uni: Remove, replaced by gnu/java/lang/CharData.java. * gnu/java/locale/character.uni: Ditto. * gnu/java/locale/titlecase.uni: Ditto. * gnu/java/lang/Makefile.am (EXTRA_DIST): Add CharData.java. * gnu/java/lang/CharData.java: New file, holding the Unicode database for java.lang.Character. * java/lang/Character.java (blocks, data, numValue, upper, lower), (direction, title): Replace blocks, tcs, and unicodeData as the Unicode database used in all other methods; initialized by gnu.java.lang.CharData. (<clinit>, getBlock, class Block, class CharAttr): Delete; character attribute lookup now uses char[] instead of objects. (readChar): Update to use new database. (Various others): Reduce multiple comparisons to just one when checking a character's type.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/java/lang/CharData.java928
-rw-r--r--gnu/java/lang/Makefile.am1
-rw-r--r--gnu/java/locale/block.unibin4938 -> 0 bytes
-rw-r--r--gnu/java/locale/character.unibin9773 -> 0 bytes
-rw-r--r--gnu/java/locale/titlecase.uni1
5 files changed, 929 insertions, 1 deletions
diff --git a/gnu/java/lang/CharData.java b/gnu/java/lang/CharData.java
new file mode 100644
index 000000000..c89f01c4f
--- /dev/null
+++ b/gnu/java/lang/CharData.java
@@ -0,0 +1,928 @@
+/* gnu/java/lang/CharData -- Database for java.lang.Character Unicode info
+ Copyright (C) 2002 Free Software Foundation, Inc.
+ *** This file is generated by doc/unicode/unicode-muncher.pl ***
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang;
+
+/**
+ * This contains the info about the unicode characters, that
+ * java.lang.Character needs. It is generated automatically from
+ * <code>UnicodeData-3.0.0.txt</code>, by some perl scripts. This Unicode
+ * definition file can be found on the <a href="http://www.unicode.org">
+ * http://www.unicode.org</a> website. JDK 1.4 uses Unicode version 3.0.0.
+ *
+ * The data is stored as string constants, but Character will convert these
+ * Strings to their respective <code>char[]</code> components. The field
+ * <code>BLOCKS</code> stores the offset of a block of 2<sup>SHIFT</sup>
+ * characters within <code>DATA</code>. The DATA field, in turn, stores
+ * information about each character in the low order bits, and an offset
+ * into the attribute tables <code>UPPER</code>, <code>LOWER</code>,
+ * <code>NUM_VALUE</code>, and <code>DIRECTION</code>. Notice that the
+ * attribute tables are much smaller than 0xffff entries; as many characters
+ * in Unicode share common attributes. Finally, there is a listing for
+ * <code>TITLE</code> exceptions (most characters just have the same
+ * title case as upper case).
+ *
+ * @author doc/unicode/unicode-muncher.pl (written by Artur Biesiadowski,
+ * Eric Blake)
+ * @see Character
+ */
+public interface CharData
+{
+ /**
+ * The character shift amount to look up the block offset. In other
+ * words, <code>BLOCKS.value[ch >> SHIFT] + (ch & ~(-1 << SHIFT))</code>
+ * is the index where <code>ch</code> is described in <code>DATA</code>.
+ */
+ int SHIFT = 5;
+
+ /**
+ * The mapping of character blocks to their location in <code>DATA</code>.
+ */
+ String BLOCKS
+ = "\u01c2\u01e2\u0201\u018c\u01ab\u0240\u02b8\u035e\u0301\u03b0\u02f7"
+ + "\u0429\u02d7\u0449\u03ff\u0398\u0301\u0477\u0539\u0559\u05f0\u0603"
+ + "\u014f\u061e\u0285\u0285\u00f5\u0101\u033d\u065e\u037e\u03c9\u02a8"
+ + "\u034e\u066f\u0301\u041d\u0301\u0469\000\u05c3\u062d\u063e\u00c1"
+ + "\u00da\u06a5\u06c3\u06d8\u048b\u0843\u0898\u0821\u0876\u0876\u05a1"
+ + "\u0903\u04aa\u0275\u08a3\u05c3\u0876\u089d\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u095f\u096a\u09e5\u0a93\u0788"
+ + "\u09fd\u0b0f\u0b82i\u0b43\u0b62\u0321\u08d0\u0ba2\u0bc1\u0523"
+ + "\u0788\u09c7\u0c00\u0801\u070f\035\u0c59\u06f1\u0a1a\u0942\u0769"
+ + "\u0c959\u0af1\u0988\u0c959\u07b2\u0cc5\u0c95\u07ce\u0506"
+ + "\u0ce5\u08b1\u0963\u0a54\u0d1f\u05c3\u0b2a\u0922\u0c79\u05c3\u0d3f"
+ + "\u0be1\u0d89\u074b\u068f\u0288\u0d59\u05c3\u0964\u0c1c\u0dd1\u05c3"
+ + "\u05c3\u04dc\u04f6K\u0964\u0964\u0d92\u0964\u0964\u0da9\u0964"
+ + "|\u0d8a\u0964\u0a34\u0964\u0a44\u0a2c\u072b\u07ac\u0a2c\u0964"
+ + "\u073b\u09a7\u05c3\u0964\u0964\u0081\u0963\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u08e3\u0df1\u0964\u0964\u0e11\u05c3\u05c3\u05c3"
+ + "\u05c3\u0964\u0c3c\u0cff\u0529\u0ad1\u0964\u012d~\u0964\u0e31"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u0301\u0301"
+ + "\u0301\u0301\u0e51\u0301\u0301\u0307\u0e81\u0e71\u0e91\u0eb1\u0ed1"
+ + "\u0ee1\u016d\u0f20\u0f40\u0f60\u0220\u03df\u0f80\u0a73\u0ca5\u05bf"
+ + "\u0fce\u107f\u05d0\u109f\u1063\u1116\u102e\u114a\u1177\u1192\u10cb"
+ + "\u122d\u10f7\u10bf\u10e1\u123f\u12d7\u11b0\u130d\u133b\u12e3\u05c3"
+ + "\u05c3\u05c3\u1125\u1157\u1153\u1376\u1382\u11e1\u11f7\u120d\u1125"
+ + "\u1125\u1125\u1125\u1148\u1016\u1123\u1146\u0fb0\u1125\u1125\u1043"
+ + "\u05c3\u05c3\u05c3\u05c3\u100a\u113d\u1292\u12a9\u12bf\u127f\u05c3"
+ + "\u05c3\u1125\u1125\u1125\u1125\u1125\u1125\u1125\u1125\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u112b\u1125"
+ + "\u1125\u114a\u1125\u1125\u1125\u1125\u1125\u1125\u1148\u0d69\u13a2"
+ + "\u0fed\u0963\u0964\u13c2\u0963\u0964\u0db1\u0dac\u079b\u0964\u0964"
+ + "\u13e2~\u05c3\u05c3\u1310\u1303\u1405\u1311\u1331\u13f8\u11d1"
+ + "\u130e\u130d\u130d\u130d\u11c6\u130d\u130d\u130f\u130e\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0080\u05c3\u05c3\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0090\u05c3\u05c3\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0fa0\u127b\u1356\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3"
+ + "\u05c3\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964"
+ + "\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0092\u05c3"
+ + "\u05c3\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425"
+ + "\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425"
+ + "\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425"
+ + "\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425"
+ + "\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425"
+ + "\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1425\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445\u1445"
+ + "\u1445\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0964\u0088"
+ + "\u05c3\u05c3\u05c3\u05c3\u05c3\u05c3\u0572\u1465\u0591\u0876\u0876"
+ + "\u084c\u0863\u0876\u0876\u0876\u0876\u0876\u0876\u0876\u0876\u0876"
+ + "\u0876\u0878\u0866\u0876\u0832\u0876\u0856\u00a2\u05c3\u1485\u14a1"
+ + "\u025f\u0876\u0876\u0876\u04bc\u0ab2\u14c1\u0f00\u0120\u0131\u0965"
+ + "\u07e6\u125f";
+
+ /**
+ * Information about each character. The low order 5 bits form the
+ * character type, the next bit is a flag for non-breaking spaces, and the
+ * next bit is a flag for mirrored directionality. The high order 9 bits
+ * form the offset into the attribute tables. Note that this limits the
+ * number of unique character attributes to 512, which is not a problem
+ * as of Unicode version 3.2.0, but may soon become one.
+ */
+ String DATA
+ = "\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81"
+ + "\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002"
+ + "\u3e00\u3e00\u2f81\u3002\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3a05"
+ + "\u3a05\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05"
+ + "\u3e00\u3e00\u3e00\u3e00\u5a88\u5a88\u3e00\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00"
+ + "\u3e00\u3e00\u3e00\u5098\u3e00\u3e00\u3e00\u3e00\u4586\u3e00\u3e00"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00\u3e00\u3a05"
+ + "\u3a05\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u3e00\u3e00\u3e00\u3e00\u5102\u5102\u5102\u5102"
+ + "\u5102\u5102\u5102\u5102\u5102\u5102\u5102\u5102\u5102\u5102\u5102"
+ + "\u5102\u5102\u5102\u5102\u5102\u5102\u5102\u5102\u5102\u5102\u5102"
+ + "\u5102\u5102\u5102\u5102\u5102\u2902\u3e00\u5098\u2a14\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u4586\u4586\u4586\u4586\u4586\u4586\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4606\u4586\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u1a1b\u1a1b\u3e00\u3e00\u3e00\u3e00\u4504\u3e00\u3e00"
+ + "\u3e00\u0298\u3e00\u0298\u6515\u6596\u0298\u1a97\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u4504\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u4504\u4504\u1a1b\u1a1b\u1a1b\u1a1b"
+ + "\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u4504"
+ + "\u4504\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b"
+ + "\u1a1b\u1a1b\u1a1b\u1a1b\u2902\u7102\u2902\u3e00\u2902\u2902\u7301"
+ + "\u7301\u7301\u7301\u7203\u1a1b\u1a1b\u1a1b\u6c82\u6c82\u2902\u2902"
+ + "\u3e00\u3e00\u2902\u2902\u6d01\u6d01\u7381\u7381\u3e00\u1a1b\u1a1b"
+ + "\u1a1b\u1b02\u1b82\u1c02\u1c82\u1d02\u1d82\u1e02\u1e82\u1f02\u1f82"
+ + "\u2002\u2082\u2102\u2182\u2202\u2282\u2302\u2382\u2402\u2482\u2502"
+ + "\u2582\u2602\u2682\u2702\u2782\u0455\u0c99\u04d6\u0c99\017\017"
+ + "\017\017\017\u010f\017\017\017\017\017\017\017"
+ + "\017\017\017\017\017\017\017\017\017\017\017"
+ + "\017\017\017\017\017\017\017\017\u008f\u010f\u008f"
+ + "\u018f\u010f\017\017\017\017\017\017\017\017\017"
+ + "\017\017\017\017\017\u010f\u010f\u010f\u008f\u020c\u0298"
+ + "\u0298\u0318\u039a\u0318\u0298\u0298\u0455\u04d6\u0298\u0519\u0598"
+ + "\u0614\u0598\u0698\u0709\u0789\u0809\u0889\u0909\u0989\u0a09\u0a89"
+ + "\u0b09\u0b89\u0598\u0298\u0c59\u0c99\u0c59\u0298\u0d01\u0d81\u0e01"
+ + "\u0e81\u0f01\u0f81\u1001\u1081\u1101\u1181\u1201\u1281\u1301\u1381"
+ + "\u1401\u1481\u1501\u1581\u1601\u1681\u1701\u1781\u1801\u1881\u1901"
+ + "\u1981\u0455\u0298\u04d6\u1a1b\u1a97\u0298\u0298\u0298\u0c99\u0455"
+ + "\u04d6\u3e00\u0298\u0298\u0298\u0298\u0298\u0298\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u282c\u0298\u039a\u039a\u039a\u039a\u289c"
+ + "\u289c\u1a1b\u289c\u2902\u29dd\u0c99\u2a14\u289c\u1a1b\u2a9c\u0519"
+ + "\u2b0b\u2b8b\u1a1b\u2c02\u289c\u0298\u1a1b\u2c8b\u2902\u2d5e\u2d8b"
+ + "\u2d8b\u2d8b\u0298\u0298\u0519\u0614\u0c99\u0c99\u0c99\u3e00\u0298"
+ + "\u039a\u0318\u0298\u3e00\u3e00\u3e00\u3e00\u5305\u5305\u5305\u3e00"
+ + "\u5305\u3e00\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u5305\u3e00\u3e00\u3e00\u4586\u4586\u4586\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u3e00\u4f1c\u4f1c\u4e81\u4e81"
+ + "\u4e81\u4e81\u4e81\u4e81\u4e81\u4e81\u4e81\u4e81\u4e81\u4e81\u4e81"
+ + "\u4e81\u4e81\u4e81\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01"
+ + "\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01"
+ + "\u2e01\u2e01\u2e01\u2e01\u0c99\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01"
+ + "\u2e01\u2902\u3281\u2f81\u3002\u2f81\u3002\u3301\u2f81\u3002\u3381"
+ + "\u3381\u2f81\u3002\u2902\u3401\u3481\u3501\u2f81\u3002\u3381\u3581"
+ + "\u3602\u3681\u3701\u2f81\u3002\u2902\u2902\u3681\u3781\u2902\u3801"
+ + "\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2902\u2f81"
+ + "\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002"
+ + "\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81"
+ + "\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u5b09\u5b89\u5c09\u5c89\u5d09\u5d89\u5e09"
+ + "\u5e89\u5f09\u5f89\u4586\u4586\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u1a1b\u1a1b\u4681"
+ + "\u0298\u4701\u4701\u4701\u3e00\u4781\u3e00\u4801\u4801\u2902\u2e01"
+ + "\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01"
+ + "\u2e01\u2e01\u2e01\u2e01\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82"
+ + "\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82"
+ + "\u2e82\u2e82\u2e82\u2e82\u2e82\u0c99\u2e82\u2e82\u2e82\u2e82\u2e82"
+ + "\u2e82\u2e82\u2f02\u2e82\u2e82\u4982\u2e82\u2e82\u2e82\u2e82\u2e82"
+ + "\u2e82\u2e82\u2e82\u2e82\u4a02\u4a82\u4a82\u3e00\u4b02\u4b82\u4c01"
+ + "\u4c01\u4c01\u4c82\u4d02\u2902\u3e00\u3e00\u2f81\u3002\u2f81\u3002"
+ + "\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81"
+ + "\u3002\u2902\u3b01\u3b83\u3c02\u2f81\u3002\u3d01\u3d81\u2f81\u3002"
+ + "\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81"
+ + "\u3002\u2f81\u3002\u3081\u3102\u2f81\u3002\u2f81\u3002\u2f81\u3002"
+ + "\u2902\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002"
+ + "\u2f81\u3002\u2f81\u3002\u2f81\u3002\u4d82\u4e02\u3c82\u2902\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u5a10\u5a10\u5a10\u5a10\u5a10\u5a10\u7d8b\u3e00\u3e00\u3e00\u7e0b"
+ + "\u7e8b\u7f0b\u7f8b\u800b\u808b\u0519\u0519\u0c99\u0455\u04d6\u2902"
+ + "\u3a05\u3a05\u3a05\u3a05\u3b01\u3b83\u3c02\u3b01\u3b83\u3c02\u3b01"
+ + "\u3b83\u3c02\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81"
+ + "\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u3c82\u2f81\u3002\u4f1c"
+ + "\u4586\u4586\u4586\u4586\u3e00\u4f87\u4f87\u3e00\u3e00\u2f81\u3002"
+ + "\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81"
+ + "\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002"
+ + "\u3181\u2f81\u3002\u2f81\u3002\u2f81\u3002\u3202\u2f81\u3002\u2f81"
+ + "\u3002\u2f81\u3002\u3881\u2f81\u3002\u3881\u2902\u2902\u2f81\u3002"
+ + "\u3881\u2f81\u3002\u3901\u3901\u2f81\u3002\u2f81\u3002\u3981\u2f81"
+ + "\u3002\u2902\u3a05\u2f81\u3002\u2902\u3a82\u4c01\u2f81\u3002\u2f81"
+ + "\u3002\u3e00\u3e00\u2f81\u3002\u3e00\u3e00\u2f81\u3002\u3e00\u3e00"
+ + "\u3e00\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002"
+ + "\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u0598\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u5298\u3e00\u3e00\u3e00\u5298\u5298\u5298\u5298\u5298"
+ + "\u5298\u5298\u5298\u5298\u5298\u5298\u5298\u5298\u5298\u3e00\u5a10"
+ + "\u5305\u4586\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u3e00\u3e00"
+ + "\u5a10\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01"
+ + "\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01"
+ + "\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01\u4c01"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u5b09\u5b89\u5c09\u5c89\u5d09\u5d89\u5e09\u5e89\u5f09\u5f89"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u2902\u2902\u2902\u3e82\u3f02\u2902\u3f82\u3f82\u2902\u4002\u2902"
+ + "\u4082\u2902\u2902\u2902\u2902\u3f82\u2902\u2902\u4102\u2902\u2902"
+ + "\u2902\u2902\u4182\u4202\u2902\u2902\u2902\u2902\u2902\u4202\u2902"
+ + "\u2902\u4282\u2902\u2902\u4302\u2902\u2902\u2902\u2902\u2902\u2902"
+ + "\u2902\u2902\u2902\u2902\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u2902\u2902\u2902\u2902\u2902\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u5205\u4586\u5205\u5205\u3e00\u5205\u5205"
+ + "\u3e00\u5205\u5205\u5205\u5205\u5205\u5205\u5205\u5205\u5205\u5205"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5298\u5305"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4f87\u4f87\u4586\u4f87"
+ + "\u4f87\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u2d8b\u2d8b\u2d8b\u2d8b\u2d8b\u2d8b\u2d8b\u2d8b\u2d8b\u2d8b\u2d8b"
+ + "\u2d8b\u828b\u4382\u2902\u2902\u4382\u2902\u2902\u2902\u2902\u4382"
+ + "\u2902\u4402\u4402\u2902\u2902\u2902\u2902\u2902\u2902\u4482\u2902"
+ + "\u2902\u2902\u2902\u2902\u2902\u2902\u2902\u2902\u2902\u2902\u2902"
+ + "\u2902\u2902\u3e00\u3e00\u4504\u4504\u4504\u4504\u4504\u4504\u4504"
+ + "\u4504\u4504\u1a1b\u1a1b\u4504\u4504\u4504\u4504\u4504\u1a1b\u1a1b"
+ + "\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u1a1b\u4504\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u5001\u5001\u5001\u5001\u5001\u5001\u5001\u5001"
+ + "\u5001\u5001\u5001\u5001\u5001\u5001\u5001\u5001\u5001\u5001\u5001"
+ + "\u5001\u5001\u5001\u5001\u3e00\u3e00\u4504\u5098\u5098\u5098\u5098"
+ + "\u5098\u5098\u2e01\u2e01\u3e00\u2e01\u2e01\u2e01\u2e01\u2e01\u2e01"
+ + "\u2e01\u2e01\u2e01\u4882\u4902\u4902\u4902\u2902\u2e82\u2e82\u2e82"
+ + "\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82\u2e82"
+ + "\u2e82\u2e82\u4e02\u4e02\u4e02\u4e02\u4e02\u4e02\u4e02\u4e02\u4e02"
+ + "\u4e02\u4e02\u4e02\u4e02\u4e02\u4e02\u4e02\u4586\u4586\u4586\u4586"
+ + "\u4586\u5098\u4586\u4586\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00"
+ + "\u3e00\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u3e00\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586"
+ + "\u3e00\u4586\u4586\u4586\u5198\u4586\u4586\u5198\u4586\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u5205\u5205"
+ + "\u5205\u5205\u5205\u5205\u5205\u5205\u5205\u5205\u5205\u5205\u5205"
+ + "\u5205\u5205\u5205\u3e00\u3e00\u3e00\u3e00\u3e00\u5205\u5205\u5205"
+ + "\u5198\u5198\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u5b89\u5c09\u5c89\u5d09\u5d89\u5e09\u5e89\u5f09\u5f89"
+ + "\u630b\u638b\u640b\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u4586\u5a88\u3e00\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3e00\u3a05"
+ + "\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00\u3a05\u3a05\u3e00\u3a05\u3e00"
+ + "\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u5a88\u5a88\u5a88\u5a88\u3e00"
+ + "\u4586\u4586\u4586\u3e00\u4586\u4586\u4586\u4586\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u4586\u4586\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u4586\u5a88\u5a88\u3e00\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3a05\u3a05\u3e00\u3e00"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3e00\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00\u3e00\u5a88\u5a88"
+ + "\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3e00\u3e00\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00\u3e00\u5b09\u5b89"
+ + "\u5c09\u5c89\u5d09\u5d89\u5e09\u5e89\u5f09\u5f89\u4f1c\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u5409\u5489\u5509\u5589\u5609\u5689\u5709\u5789\u5809"
+ + "\u5889\u0318\u5918\u5918\u5298\u3e00\u3e00\u4586\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u3e00\u3e00\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u5305"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u6515\u6596"
+ + "\u5384\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305\u5305"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u5a88"
+ + "\u5a88\u5098\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u4586\u4586\u5a88\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3e00\u3a05\u3e00\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u5098\u5098\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u4586\u4586\u4586"
+ + "\u4586\u4586\u5384\u5384\u4586\u4586\u289c\u4586\u4586\u4586\u4586"
+ + "\u3e00\u3e00\u0709\u0789\u0809\u0889\u0909\u0989\u0a09\u0a89\u0b09"
+ + "\u0b89\u5305\u5305\u5305\u599c\u599c\u3e00\u3a05\u3a05\u3a05\u3e00"
+ + "\u3a05\u3e00\u3a05\u3e00\u3e00\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05"
+ + "\u3a05\u4586\u3a05\u3a05\u4586\u4586\u4586\u4586\u4586\u4586\u3e00"
+ + "\u4586\u4586\u3a05\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00"
+ + "\u3e00\u3e00\u4586\u4586\u5a88\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u4586\u3a05\u5a88\u5a88"
+ + "\u5a88\u5a88\u5a88\u3e00\u4586\u5a88\u5a88\u3e00\u5a88\u5a88\u4586"
+ + "\u4586\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u5a88\u5a88\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3a05\u3e00\u5098\u5098\u5098"
+ + "\u5098\u5098\u5098\u5098\u5098\u5b89\u5c09\u5c89\u5d09\u5d89\u5e09"
+ + "\u5e89\u5f09\u5f89\u630b\u660b\u668b\u670b\u678b\u680b\u688b\u690b"
+ + "\u698b\u638b\u6a0b\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3e00\u3a05\u3a05\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3e00"
+ + "\u3e00\u4586\u3a05\u5a88\u4586\u4586\u4586\u4586\u4586\u4586\u4586"
+ + "\u4586\u5a88\u5a88\u5a88\u5a88\u4586\u3e00\u3e00\u3a05\u4586\u4586"
+ + "\u4586\u4586\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3e00\u3a05\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00"
+ + "\u4586\u3e00\u5a88\u5a88\u5a88\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3e00\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3e00\u3a05\u3a05"
+ + "\u3a05\u3a05\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u4586"
+ + "\u3a05\u3a05\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u3e00\u3e00"
+ + "\u3e00\u3e00\u039a\u039a\u039a\u039a\u039a\u039a\u039a\u039a\u039a"
+ + "\u039a\u039a\u039a\u039a\u039a\u039a\u039a\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3a05\u3a05\u4586\u4586\u5098\u5098\u5b09\u5b89\u5c09\u5c89"
+ + "\u5d09\u5d89\u5e09\u5e89\u5f09\u5f89\u5098\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u0298\u0298\u0318\u039a\u0318\u0298\u0298\u6515\u6596\u0298\u0519"
+ + "\u0598\u0614\u0598\u0698\u0709\u0789\u0809\u0889\u0909\u0989\u0a09"
+ + "\u0a89\u0b09\u0b89\u0598\u0298\u0c99\u0c99\u0c99\u0298\u0298\u0298"
+ + "\u0298\u0298\u0298\u2a14\u0298\u0298\u0298\u0298\u5a10\u5a10\u5a10"
+ + "\u5a10\u3e00\u5b09\u5b89\u5c09\u5c89\u5d09\u5d89\u5e09\u5e89\u5f09"
+ + "\u5f89\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3e00\u3e00\u3e00\u3e00\u5a88\u4586\u4586\u4586\u4586\u3e00\u3e00"
+ + "\u5a88\u5a88\u3e00\u3e00\u5a88\u5a88\u4586\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u5a88\u3e00\u3e00\u3e00\u3e00\u3a05"
+ + "\u3a05\u3e00\u3a05\u3e00\u3e00\u3a05\u3a05\u3e00\u3a05\u3e00\u3e00"
+ + "\u3a05\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05"
+ + "\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3e00"
+ + "\u3a05\u3a05\u3e00\u3a05\u3a05\u3e00\u3e00\u4586\u3e00\u5a88\u5a88"
+ + "\u4586\u4586\u3e00\u3e00\u3e00\u3e00\u4586\u4586\u3e00\u3e00\u4586"
+ + "\u4586\u4586\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3e00\u3a05\u3a05"
+ + "\u4586\u4586\u3e00\u3e00\u5b09\u5b89\u5c09\u5c89\u5d09\u5d89\u5e09"
+ + "\u5e89\u5f09\u5f89\u3a05\u3a05\u039a\u039a\u600b\u608b\u610b\u618b"
+ + "\u620b\u628b\u4f1c\u3e00\u3e00\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3e00\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3e00\u3e00\u4586\u3a05\u5a88\u5a88\u4586\u4586\u4586\u4586"
+ + "\u4586\u3e00\u4586\u4586\u5a88\u3e00\u5a88\u5a88\u4586\u3e00\u3e00"
+ + "\u3a05\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u5b09\u5b89\u5c09\u5c89\u5d09\u5d89"
+ + "\u5e09\u5e89\u5f09\u5f89\u620b\u620b\u620b\u620b\u620b\u620b\u620b"
+ + "\u620b\u620b\u620b\u4f1c\u4586\u4f1c\u4586\u4f1c\u4586\u6515\u6596"
+ + "\u6515\u6596\u5a88\u5a88\u4586\u4586\u4586\u3e00\u3e00\u3e00\u5a88"
+ + "\u5a88\u3e00\u3e00\u5a88\u5a88\u4586\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u4586\u5a88\u3e00\u3e00\u3e00\u3e00\u3a05\u3a05"
+ + "\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05\u3e00\u5a88"
+ + "\u4586\u4586\u4586\u4586\u5a88\u4586\u3e00\u3e00\u3e00\u4586\u4586"
+ + "\u5a88\u4586\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u5a88\u5a88\u5a88\u4586\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u5a88\u5a88\u3e00\u3e00\u3e00\u5a88"
+ + "\u5a88\u5a88\u3e00\u5a88\u5a88\u5a88\u4586\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u5a88\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u4504\u3e00"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u3e00\u3e00\u5b09\u5b89\u5c09"
+ + "\u5c89\u5d09\u5d89\u5e09\u5e89\u5f09\u5f89\u3e00\u3e00\u3a05\u3a05"
+ + "\u3e00\u3e00\u3e00\u3e00\u5b09\u5b89\u5c09\u5c89\u5d09\u5d89\u5e09"
+ + "\u5e89\u5f09\u5f89\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u4586\u4586\u4586"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4f87"
+ + "\u4f87\u4f87\u5a88\u4586\u4586\u4586\u3e00\u3e00\u5a88\u5a88\u5a88"
+ + "\u3e00\u5a88\u5a88\u5a88\u4586\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u5a88\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00"
+ + "\u4586\u3e00\u3e00\u3e00\u3e00\u5a88\u5a88\u5a88\u4586\u4586\u4586"
+ + "\u3e00\u4586\u3e00\u5a88\u5a88\u5a88\u5a88\u5a88\u5a88\u5a88\u5a88"
+ + "\u4586\u5a88\u5a88\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586"
+ + "\u4586\u4586\u4586\u5098\u5098\u5098\u5098\u5098\u5098\u5098\u039a"
+ + "\u5098\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u4504"
+ + "\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u4586\u5098\u5b09\u5b89"
+ + "\u5c09\u5c89\u5d09\u5d89\u5e09\u5e89\u5f09\u5f89\u5098\u5098\u3e00"
+ + "\u3e00\u3e00\u3e00\u3a05\u4f1c\u4f1c\u4f1c\u5098\u5098\u5098\u5098"
+ + "\u5098\u5098\u5098\u5098\u64b8\u5098\u5098\u5098\u5098\u5098\u5098"
+ + "\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4586\u4586\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4586\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u3e00\u3e00"
+ + "\u4f1c\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u3e00\u3e00\u3e00\u3e00"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3e00\u3e00\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u1a97\u4504\u4504\u4504\u3e00\u5b09\u5b89\u5c09\u5c89\u5d09"
+ + "\u5d89\u5e09\u5e89\u5f09\u5f89\u5098\u5098\u5098\u5098\u5098\u5098"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u5a88\u5a88\u4586\u4586\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u020c\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u6515"
+ + "\u6596\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u5098\u5098\u5098\u6a8b\u6b0b\u6b8b\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u4586\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81"
+ + "\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002\u2f81\u3002"
+ + "\u2f81\u3002\u2902\u2902\u2902\u2902\u2902\u6c02\u3e00\u3e00\u3e00"
+ + "\u3e00\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82\u6d01\u6d01"
+ + "\u6d01\u6d01\u6d01\u6d01\u6d01\u6d01\u6c82\u6c82\u6c82\u6c82\u6c82"
+ + "\u6c82\u6c82\u6c82\u6d01\u6d01\u6d01\u6d01\u6d01\u6d01\u6d01\u6d01"
+ + "\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82\u3e00\u3e00\u6d01\u6d01\u6d01"
+ + "\u6d01\u6d01\u6d01\u3e00\u3e00\u2902\u6c82\u2902\u6c82\u2902\u6c82"
+ + "\u2902\u6c82\u3e00\u6d01\u3e00\u6d01\u3e00\u6d01\u3e00\u6d01\u6c82"
+ + "\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82\u6d01\u6d01\u6d01\u6d01"
+ + "\u6d01\u6d01\u6d01\u6d01\u6d82\u6d82\u6e02\u6e02\u6e02\u6e02\u6e82"
+ + "\u6e82\u6f02\u6f02\u6f82\u6f82\u7002\u7002\u3e00\u3e00\u6c82\u6c82"
+ + "\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82\u7083\u7083\u7083\u7083\u7083"
+ + "\u7083\u7083\u7083\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82\u6c82"
+ + "\u7083\u7083\u7083\u7083\u7083\u7083\u7083\u7083\u6c82\u6c82\u2902"
+ + "\u7102\u2902\u3e00\u2902\u2902\u6d01\u6d01\u7181\u7181\u7203\u1a1b"
+ + "\u7282\u1a1b\u1b02\u1b82\u1c02\u1c82\u1d02\u1d82\u1e02\u1e82\u1f02"
+ + "\u1f82\u2002\u2082\u2102\u2182\u2202\u2282\u2302\u2382\u2402\u2482"
+ + "\u2502\u2582\u2602\u2682\u2702\u2782\u6515\u0c99\u6596\u0c99\u3e00"
+ + "\u6c82\u6c82\u2902\u2902\u2902\u7402\u2902\u2902\u6d01\u6d01\u7481"
+ + "\u7481\u7501\u1a1b\u1a1b\u1a1b\u3e00\u3e00\u2902\u7102\u2902\u3e00"
+ + "\u2902\u2902\u7581\u7581\u7601\u7601\u7203\u1a1b\u1a1b\u3e00\u020c"
+ + "\u020c\u020c\u020c\u020c\u020c\u020c\u76ac\u020c\u020c\u020c\u770c"
+ + "\u5a10\u5a10\u7790\u7810\u2a14\u78b4\u2a14\u2a14\u2a14\u2a14\u0298"
+ + "\u0298\u791d\u799e\u6515\u791d\u791d\u799e\u6515\u791d\u0298\u0298"
+ + "\u0298\u0298\u0298\u0298\u0298\u0298\u7a0d\u7a8e\u7b10\u7b90\u7c10"
+ + "\u7c90\u7d10\u76ac\u0318\u0318\u0318\u0318\u0318\u0298\u0298\u0298"
+ + "\u0298\u29dd\u2d5e\u0298\u0298\u0298\u0298\u1a97\u7d8b\u2c8b\u2b0b"
+ + "\u2b8b\u7e0b\u7e8b\u7f0b\u7f8b\u800b\u808b\u0519\u0519\u0c99\u0455"
+ + "\u04d6\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00"
+ + "\u3e00\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u4c01\u289c\u289c\u289c\u289c\u4c01\u289c\u289c\u2902\u4c01\u4c01"
+ + "\u4c01\u2902\u2902\u4c01\u4c01\u4c01\u2902\u289c\u4c01\u289c\u289c"
+ + "\u289c\u4c01\u4c01\u4c01\u4c01\u4c01\u289c\u289c\ua08a\ua10a\ua18a"
+ + "\ua20a\ua28a\ua30a\ua38a\ua40a\ua48a\u4586\u4586\u4586\u4586\u4586"
+ + "\u4586\u2a14\u4504\u4504\u4504\u4504\u4504\u289c\u289c\ua50a\ua58a"
+ + "\ua60a\u3e00\u3e00\u3e00\u289c\u289c\u289c\u289c\u3e00\u289c\u289c"
+ + "\u289c\u289c\u3e00\u3e00\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u0c99\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u0c99\u0c99"
+ + "\u289c\u289c\u0c99\u289c\u0c99\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u0c99\u289c"
+ + "\u289c\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u930a\u938a\u940a\u948a\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u0c99\u0c99"
+ + "\u0c99\u0c99\u0c99\u289c\u289c\u289c\u289c\u289c\u0c99\u0c99\u289c"
+ + "\u289c\u289c\u289c\u4c01\u289c\u8101\u289c\u4c01\u289c\u8181\u8201"
+ + "\u4c01\u4c01\u2a9c\u2902\u4c01\u4c01\u289c\u4c01\u2902\u3a05\u3a05"
+ + "\u3a05\u3a05\u2902\u289c\u3e00\u3e00\u3e00\u3e00\u3e00\u830a\u838a"
+ + "\u840a\u848a\u850a\u858a\u860a\u868a\u870a\u878a\u880a\u888a\u890a"
+ + "\u898a\u8a0a\u8a8a\u8b0a\u8b8a\u8c0a\u8c8a\u8d0a\u8d8a\u8e0a\u8e8a"
+ + "\u8f0a\u8f8a\u900a\u908a\u910a\u918a\u920a\u928a\u0c99\u0c99\u0c59"
+ + "\u0c59\u0c99\u0c99\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59"
+ + "\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59"
+ + "\u0c99\u0c99\u0c99\u0c99\u0c99\u0c59\u0c59\u0c59\u0c59\u0c99\u0c99"
+ + "\u0c99\u0c99\u0c99\u0c99\u0c99\u0c99\u0c99\u0c59\u0c59\u0c59\u0c59"
+ + "\u0c59\u0c99\u0c99\u0c59\u0c59\u0c99\u0c99\u0c99\u0c99\u0c59\u0c59"
+ + "\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59"
+ + "\u0c99\u0c99\u0c59\u0c59\u0c59\u0c59\u0c99\u0c99\u0c99\u0c99\u0c99"
+ + "\u0c59\u0c99\u0c99\u0c99\u0c99\u0c99\u0c99\u0c99\u289c\u289c\u0c99"
+ + "\u289c\u289c\u0c99\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u0c99"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u3e00"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u0c99\u0c59\u0c59\u0c59\u0c59\u0c99"
+ + "\u0c99\u0c99\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c99\u0c99\u0c99"
+ + "\u0c59\u0519\u0519\u0c99\u0c59\u0c59\u0c99\u0c99\u0c99\u0c59\u0c59"
+ + "\u0c59\u0c59\u0c99\u0c59\u0c99\u0c59\u0c99\u0c99\u0c99\u0c99\u0c59"
+ + "\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c99\u0c99\u0c99"
+ + "\u0c99\u0c99\u0c59\u0c99\u0c59\u0c59\u0c59\u0c59\u0c59\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u0455\u04d6\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u3e00\u3e00\u3e00"
+ + "\u3e00\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u9a9c\u9a9c\u9a9c\u9a9c\u9a9c\u9a9c\u9a9c\u9a9c\u9a9c\u9a9c"
+ + "\u9a9c\u9a9c\u9a9c\u9a9c\u9a9c\u9a9c\u9b1c\u9b1c\u9b1c\u9b1c\u9b1c"
+ + "\u9b1c\u9b1c\u9b1c\u9b1c\u9b1c\u9b1c\u9b1c\u9b1c\u9b1c\u9b1c\u9b1c"
+ + "\u7d8b\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u0c59\u0c99\u0c59\u0c99\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59"
+ + "\u0c59\u0c99\u0c99\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59"
+ + "\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c59\u0c99"
+ + "\u0c99\u0c59\u0c59\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u039a\u039a\u0c99\u1a1b\u289c"
+ + "\u039a\u039a\u3e00\u289c\u0c99\u0c99\u0c99\u0c99\u289c\u289c\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u5a10\u5a10"
+ + "\u5a10\u289c\u289c\u3e00\u3e00\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u3e00"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u3e00\u289c\u3e00\u289c\u289c\u289c\u289c\u3e00"
+ + "\u3e00\u3e00\u289c\u3e00\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u828b\u9b8b\u9c0b\u9c8b\u9d0b\u9d8b\u9e0b\u9e8b"
+ + "\u9f0b\u9f8b\u828b\u9b8b\u9c0b\u9c8b\u9d0b\u9d8b\u9e0b\u9e8b\u9f0b"
+ + "\u9f8b\u289c\u3e00\u3e00\u3e00\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u0c59\u0c59\u0c59\u0c59\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c\u289c"
+ + "\u289c\u289c\u289c\u289c\u289c\u4f1c\u289c\u289c\u289c\u289c\u289c"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u620b\u620b\u620b\u620b\u620b\u620b"
+ + "\u620b\u620b\u620b\u620b\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u3e00\u3e00\u3e00\u4f1c\u600b\u608b\u610b\u618b"
+ + "\ua68b\ua70b\ua78b\ua80b\ua88b\u630b\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u289c\u3e00\u289c\u289c\u289c\u3e00\u289c\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u2c8b"
+ + "\u2b0b\u2b8b\u7e0b\u7e8b\u7f0b\u7f8b\u800b\u808b\u950b\u958b\u960b"
+ + "\u968b\u970b\u978b\u980b\u988b\u990b\u998b\u9a0b\u2c8b\u2b0b\u2b8b"
+ + "\u7e0b\u7e8b\u7f0b\u7f8b\u800b\u808b\u950b\u958b\u960b\u968b\u970b"
+ + "\u978b\u980b\u988b\u990b\u998b\u9a0b\u4f1c\u4f1c\u4f1c\u4f1c\u020c"
+ + "\u0298\u0298\u0298\u289c\u4504\u3a05\ua00a\u0455\u04d6\u0455\u04d6"
+ + "\u0455\u04d6\u0455\u04d6\u0455\u04d6\u289c\u289c\u0455\u04d6\u0455"
+ + "\u04d6\u0455\u04d6\u0455\u04d6\u2a14\u6515\u6596\u6596\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3e00\u3e00\u3e00"
+ + "\u3e00\u4586\u4586\u1a1b\u1a1b\u4504\u4504\u3e00\u3a05\u3a05\u3a05"
+ + "\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05\u3a05"
+ + "\u3a05\u3e00\u4f1c\u4f1c\u620b\u620b\u620b\u620b\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c\u4f1c"
+ + "\u4f1c\u4f1c\u4f1c\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\ua913\ua913"
+ + "\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua913"
+ + "\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua913"
+ + "\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua913\ua992\ua992\ua992"
+ + "\ua992\ua992\ua992\ua992\ua992\ua992\ua992\ua992\ua992\ua992\ua992"
+ + "\ua992\ua992\ua992\ua992\ua992\ua992\ua992\ua992\ua992\ua992\ua992"
+ + "\ua992\ua992\ua992\ua992\ua992\ua992\ua992\u5205\u5205\u5205\u5205"
+ + "\u5205\u5205\u5205\u5205\u5205\u0519\u5205\u5205\u5205\u5205\u5205"
+ + "\u5205\u5205\u5205\u5205\u5205\u5205\u5205\u5205\u3e00\u5205\u5205"
+ + "\u5205\u5205\u5205\u3e00\u5205\u3e00\u4586\u4586\u4586\u4586\u3e00"
+ + "\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00\u3e00"
+ + "\u0298\u2a14\u2a14\u1a97\u1a97\u6515\u6596\u6515\u6596\u6515\u6596"
+ + "\u6515\u6596\u6515\u6596\u6515\u6596\u3e00\u3e00\u3e00\u3e00\u0298"
+ + "\u0298\u0298\u0298\u1a97\u1a97\u1a97\u0598\u0298\u0598\u3e00\u0298"
+ + "\u0598\u0298\u0298\u2a14\u6515\u6596\u6515\u6596\u6515\u6596\u0318"
+ + "\u0298\u0d01\u0d81\u0e01\u0e81\u0f01\u0f81\u1001\u1081\u1101\u1181"
+ + "\u1201\u1281\u1301\u1381\u1401\u1481\u1501\u1581\u1601\u1681\u1701"
+ + "\u1781\u1801\u1881\u1901\u1981\u6515\u0298\u6596\u1a1b\u1a97";
+
+ /**
+ * This is the attribute table for computing the numeric value of a
+ * character. The value is -1 if Unicode does not define a value, -2
+ * if the value is not a positive integer, otherwise it is the value.
+ * Note that this is a signed value, but stored as an unsigned char
+ * since this is a String literal.
+ */
+ String NUM_VALUE
+ = "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\000\001\002\003\004\005\006\007"
+ + "\010\011\uffff\uffff\012\013\014\015\016\017\020"
+ + "\021\022\023\024\025\026\027\030\031\032\033"
+ + "\034\035\036\037 !\"#\uffff\uffff\012"
+ + "\013\014\015\016\017\020\021\022\023\024\025"
+ + "\026\027\030\031\032\033\034\035\036\037 "
+ + "!\"#\uffff\uffff\uffff\uffff\uffff\uffff\002\003"
+ + "\uffff\001\uffff\ufffe\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\000\001\002\003\004\005\006\007"
+ + "\010\011\uffff\uffff\uffff\uffff\000\001\002\003\004"
+ + "\005\006\007\010\011\001\002\003\004\uffff\020"
+ + "\012d\u03e8\uffff\uffff\uffff\024\036(2<"
+ + "FPZ\u2710\021\022\023\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff"
+ + "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\000\004"
+ + "\005\006\007\010\011\uffff\uffff\uffff\001\001\002"
+ + "\003\004\005\006\007\010\011\012\013\0142"
+ + "d\u01f4\u03e8\001\002\003\004\005\006\007\010"
+ + "\011\012\013\0142d\u01f4\u03e8\u03e8\u1388\u2710"
+ + "\uffff\012\013\014\015\016\017\020\021\022\023"
+ + "\024\uffff\uffff\002\003\004\005\006\007\010\011"
+ + "\012\000\001\002\003\004\005\006\007\010\011"
+ + "\012\024\036\005\006\007\010\011\uffff\uffff";
+
+ /**
+ * This is the attribute table for computing the uppercase representation
+ * of a character. The value is the signed difference between the
+ * character and its uppercase version. Note that this is stored as an
+ * unsigned char since this is a String literal.
+ */
+ String UPPER
+ = "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\uffe0"
+ + "\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0"
+ + "\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0\uffe0"
+ + "\uffe0\uffe0\uffe0\000\000\000\000\000\000\000\000"
+ + "\u02e7\000\000\000\000\uffe0y\000\uffff\000\uff18"
+ + "\000\ufed4\000\000\000\000\000\000\000a\000"
+ + "\000\000\000\000\000\000\0008\000\uffff\ufffe"
+ + "\uffb1\000\000\000\uff2e\uff32\uff33\uff36\uff35\uff31\uff2f"
+ + "\uff2d\uff2b\uff2a\uff26\uff27\uff25\000\000T\000\000"
+ + "\000\000\uffda\uffdb\uffe1\uffc0\uffc1\uffc2\uffc7\000\uffd1"
+ + "\uffca\uffaa\uffb0\000\000\000\000\000\uffd0\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\uffc5\010\000J"
+ + "Vd\u0080p~\000\011\000\000\ue3db\000"
+ + "\000\007\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\ufff0\ufff0\ufff0\ufff0\ufff0\ufff0\ufff0\ufff0"
+ + "\ufff0\ufff0\ufff0\ufff0\ufff0\ufff0\ufff0\ufff0\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\uffe6\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000";
+
+ /**
+ * This is the attribute table for computing the lowercase representation
+ * of a character. The value is the signed difference between the
+ * character and its lowercase version. Note that this is stored as an
+ * unsigned char since this is a String literal.
+ */
+ String LOWER
+ = "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000 "
+ + " "
+ + " \000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000 \000\000\001\000\uff39\000"
+ + "\uff87\000\u00d2\u00ce\u00cdO\u00ca\u00cb\u00cf\000\u00d3"
+ + "\u00d1\u00d5\u00d6\u00da\u00d9\u00db\000\000\002\001\000"
+ + "\000\uff9f\uffc8\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000&%"
+ + "@?\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000P\000\0000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\ufff8\000"
+ + "\000\000\000\000\000\ufff8\000\uffb6\ufff7\000\uffaa"
+ + "\uff9c\000\uff90\ufff9\uff80\uff82\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\ue2a3\udf41\udfba\000\020\020"
+ + "\020\020\020\020\020\020\020\020\020\020\020"
+ + "\020\020\020\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\032\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000";
+
+ /**
+ * This is the attribute table for computing the directionality class
+ * of a character. At present, the value is in the range 0 - 18 if the
+ * character has a direction, otherwise it is -1. Note that this is
+ * stored as an unsigned char since this is a String literal.
+ */
+ String DIRECTION
+ = "\011\013\012\014\014\015\005\005\015\015\005"
+ + "\007\005\004\003\003\003\003\003\003\003\003"
+ + "\003\003\015\015\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\015\015\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\007\015\000\015\015\005\003\003"
+ + "\000\003\015\015\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\uffff\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\010\010\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\010\000\000\000\001\001"
+ + "\002\002\002\006\006\006\006\006\006\006\006"
+ + "\006\006\006\002\011\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\015\015\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\014\011\000\001\015"
+ + "\015\015\014\012\016\020\022\017\021\003\003"
+ + "\003\003\003\003\003\000\000\000\015\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000\000"
+ + "\000\003\003\003\003\003\003\003\003\003\003"
+ + "\003\000\000\015\015\015\015\015\015\015\015"
+ + "\015\000\000\000\000\000\000\000\000\000\000"
+ + "\000\000\000\000\000\000\000\000\000\000";
+
+ /**
+ * This is the listing of titlecase special cases (all other character
+ * can use <code>UPPER</code> to determine their titlecase). The listing
+ * is a sequence of character pairs; converting the first character of the
+ * pair to titlecase produces the second character.
+ */
+ String TITLE
+ = "\u01c4\u01c5\u01c5\u01c5\u01c6\u01c5\u01c7\u01c8\u01c8\u01c8\u01c9"
+ + "\u01c8\u01ca\u01cb\u01cb\u01cb\u01cc\u01cb\u01f1\u01f2\u01f2\u01f2"
+ + "\u01f3\u01f2";
+}
diff --git a/gnu/java/lang/Makefile.am b/gnu/java/lang/Makefile.am
index 4c4d40193..8ceb627cb 100644
--- a/gnu/java/lang/Makefile.am
+++ b/gnu/java/lang/Makefile.am
@@ -4,6 +4,7 @@ SUBDIRS = reflect
EXTRA_DIST = \
ArrayHelper.java \
+CharData.java \
ClassHelper.java \
ClassLoaderHelper.java \
ExecutionStack.java \
diff --git a/gnu/java/locale/block.uni b/gnu/java/locale/block.uni
deleted file mode 100644
index 72df107d2..000000000
--- a/gnu/java/locale/block.uni
+++ /dev/null
Binary files differ
diff --git a/gnu/java/locale/character.uni b/gnu/java/locale/character.uni
deleted file mode 100644
index 38b17799d..000000000
--- a/gnu/java/locale/character.uni
+++ /dev/null
Binary files differ
diff --git a/gnu/java/locale/titlecase.uni b/gnu/java/locale/titlecase.uni
deleted file mode 100644
index d18e146a6..000000000
--- a/gnu/java/locale/titlecase.uni
+++ /dev/null
@@ -1 +0,0 @@
-ÄÅÅÅÆÅÇÈÈÈÉÈÊËËËÌËñòòòóò \ No newline at end of file