[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[unigbrk 1/2] unigbrk: Fix uc_graphemeclusterbreak_property(), add compr
From: |
Ben Pfaff |
Subject: |
[unigbrk 1/2] unigbrk: Fix uc_graphemeclusterbreak_property(), add comprehensive test. |
Date: |
Fri, 31 Dec 2010 20:49:36 -0800 |
gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
* lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c. I had
modified how this file was generated before I initially submitted
the module, but failed to regenerate it. This meant that several
of the level2 entries were wrong.
* lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
Remove the division-by-2 that is folded into the table now that
gbrkprop.h has been regenerated properly. Now -1 entries are
handled correctly.
New module 'unigbrk/uc-gbrk-prop-tests'.
* modules/unigbrk/uc-gbrk-prop-tests: New file.
* lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
* tests/unigbrk/test-uc-gbrk-prop.c: New file.
* tests/unigbrk/test-uc-gbrk-prop.h: New file.
---
ChangeLog | 18 +
lib/gen-uni-tables.c | 78 +++
lib/unigbrk/gbrkprop.h | 60 +-
lib/unigbrk/uc-gbrk-prop.c | 2 +-
modules/unigbrk/uc-gbrk-prop-tests | 14 +
tests/unigbrk/test-uc-gbrk-prop.c | 82 +++
tests/unigbrk/test-uc-gbrk-prop.h | 1270 ++++++++++++++++++++++++++++++++++++
7 files changed, 1493 insertions(+), 31 deletions(-)
create mode 100644 modules/unigbrk/uc-gbrk-prop-tests
create mode 100644 tests/unigbrk/test-uc-gbrk-prop.c
create mode 100644 tests/unigbrk/test-uc-gbrk-prop.h
diff --git a/ChangeLog b/ChangeLog
index 2a0f94f..448d02e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2010-12-31 Ben Pfaff <address@hidden>
+
+ gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
+ * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c. I had
+ modified how this file was generated before I initially submitted
+ the module, but failed to regenerate it. This meant that several
+ of the level2 entries were wrong.
+ * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
+ Remove the division-by-2 that is folded into the table now that
+ gbrkprop.h has been regenerated properly. Now -1 entries are
+ handled correctly.
+
+ New module 'unigbrk/uc-gbrk-prop-tests'.
+ * modules/unigbrk/uc-gbrk-prop-tests: New file.
+ * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
+ * tests/unigbrk/test-uc-gbrk-prop.c: New file.
+ * tests/unigbrk/test-uc-gbrk-prop.h: New file.
+
2010-12-31 Bruno Haible <address@hidden>
isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
diff --git a/lib/gen-uni-tables.c b/lib/gen-uni-tables.c
index afa56ab..45f8e43 100644
--- a/lib/gen-uni-tables.c
+++ b/lib/gen-uni-tables.c
@@ -6776,6 +6776,83 @@ enum
/* The grapheme break property from the GraphemeBreakProperty.txt file. */
int unicode_org_gbp[0x110000];
+/* Output the unit test data for the grapheme break property. */
+static void
+output_gbp_test (const char *filename)
+{
+ FILE *stream;
+ bool need_comma;
+ unsigned int ch;
+
+ stream = fopen (filename, "w");
+ if (stream == NULL)
+ {
+ fprintf (stderr, "cannot open '%s' for writing\n", filename);
+ exit (1);
+ }
+
+ fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+ fprintf (stream, "/* Test the Unicode grapheme break property functions.\n");
+ fprintf (stream, " Copyright (C) 2010 Free Software Foundation, Inc.\n");
+ fprintf (stream, "\n");
+ fprintf (stream, " This program is free software: you can redistribute it
and/or modify\n");
+ fprintf (stream, " it under the terms of the GNU General Public License as
published by\n");
+ fprintf (stream, " the Free Software Foundation; either version 3 of the
License, or\n");
+ fprintf (stream, " (at your option) any later version.\n");
+ fprintf (stream, "\n");
+ fprintf (stream, " This program is distributed in the hope that it will be
useful,\n");
+ fprintf (stream, " but WITHOUT ANY WARRANTY; without even the implied
warranty of\n");
+ fprintf (stream, " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the\n");
+ fprintf (stream, " GNU General Public License for more details.\n");
+ fprintf (stream, "\n");
+ fprintf (stream, " You should have received a copy of the GNU General
Public License\n");
+ fprintf (stream, " along with this program. If not, see
<http://www.gnu.org/licenses/>. */\n");
+ fprintf (stream, "\n");
+
+ need_comma = false;
+ for (ch = 0; ch < 0x110000; ch++)
+ {
+ int gbp = unicode_org_gbp[ch];
+ const char *gbp_string;
+
+ while (ch + 1 < 0x110000 && unicode_org_gbp[ch + 1] == gbp)
+ ch++;
+
+ switch (gbp)
+ {
+#define CASE(x) case x: gbp_string = #x; break;
+ CASE (GBP_OTHER)
+ CASE (GBP_CR)
+ CASE (GBP_LF)
+ CASE (GBP_CONTROL)
+ CASE (GBP_EXTEND)
+ CASE (GBP_PREPEND)
+ CASE (GBP_SPACINGMARK)
+ CASE (GBP_L)
+ CASE (GBP_V)
+ CASE (GBP_T)
+ CASE (GBP_LV)
+ CASE (GBP_LVT)
+#undef CASE
+ default:
+ abort ();
+ }
+
+ if (need_comma)
+ fprintf (stream, ",\n");
+ fprintf (stream, "{ 0x%04X, %s }", ch + 1, gbp_string);
+
+ need_comma = true;
+ }
+ fprintf (stream, "\n");
+
+ if (ferror (stream) || fclose (stream))
+ {
+ fprintf (stderr, "error writing to '%s'\n", filename);
+ exit (1);
+ }
+}
+
/* Output the per-character grapheme break property table. */
static void
output_gbp_table (const char *filename, const char *version)
@@ -8581,6 +8658,7 @@ main (int argc, char * argv[])
debug_output_org_wbrk_tables ("uniwbrk/wbrkprop_org.txt");
output_wbrk_tables ("uniwbrk/wbrkprop.h", version);
+ output_gbp_test ("../tests/unigbrk/test-uc-gbrk-prop.h");
output_gbp_table ("unigbrk/gbrkprop.h", version);
output_decomposition_tables ("uninorm/decomposition-table1.h",
"uninorm/decomposition-table2.h", version);
diff --git a/lib/unigbrk/gbrkprop.h b/lib/unigbrk/gbrkprop.h
index d071a34..1550945 100644
--- a/lib/unigbrk/gbrkprop.h
+++ b/lib/unigbrk/gbrkprop.h
@@ -20,19 +20,19 @@ unigbrkprop =
-1, -1, -1, -1, -1, -1, 1024
},
{
- 0, 128, -1, -1, -1, -1, 256, -1,
- -1, 384, -1, 512, 640, 768, 896, 1024,
- -1, -1, 1152, 1280, 1408, 1536, 1664, 1792,
- 1920, 2048, 2176, 2304, 2432, 2560, 2688, 2816,
- 2944, 3072, 3200, 3328, -1, -1, 3456, -1,
- -1, -1, -1, -1, -1, -1, 3584, 3712,
- 3840, 3968, 4096, 4224, 4352, -1, 4480, 4608,
- 4736, -1, -1, 4864, -1, -1, -1, -1,
- 4992, 5120, -1, -1, -1, -1, -1, -1,
+ 0, 64, -1, -1, -1, -1, 128, -1,
+ -1, 192, -1, 256, 320, 384, 448, 512,
+ -1, -1, 576, 640, 704, 768, 832, 896,
+ 960, 1024, 1088, 1152, 1216, 1280, 1344, 1408,
+ 1472, 1536, 1600, 1664, -1, -1, 1728, -1,
+ -1, -1, -1, -1, -1, -1, 1792, 1856,
+ 1920, 1984, 2048, 2112, 2176, -1, 2240, 2304,
+ 2368, -1, -1, 2432, -1, -1, -1, -1,
+ 2496, 2560, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 5248, -1, -1, -1, -1,
- 5376, 5504, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2624, -1, -1, -1, -1,
+ 2688, 2752, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -61,19 +61,19 @@ unigbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 5632, -1, -1, -1,
- 5760, 5888, 6016, -1, 6144, -1, -1, -1,
- 6272, 6400, 6528, 6656, 6784, 6912, 7040, 6272,
- 6400, 6528, 6656, 6784, 6912, 7040, 6272, 6400,
- 6528, 6656, 6784, 6912, 7040, 6272, 6400, 6528,
- 6656, 6784, 6912, 7040, 6272, 6400, 6528, 6656,
- 6784, 6912, 7040, 6272, 6400, 6528, 6656, 6784,
- 6912, 7040, 6272, 6400, 6528, 6656, 6784, 6912,
- 7040, 6272, 6400, 6528, 6656, 6784, 6912, 7040,
- 6272, 6400, 6528, 6656, 6784, 6912, 7040, 6272,
- 6400, 6528, 6656, 6784, 6912, 7040, 6272, 6400,
- 6528, 6656, 6784, 6912, 7040, 6272, 6400, 6528,
- 6656, 6784, 6912, 7040, 6272, 6400, 6528, 7168,
+ -1, -1, -1, -1, 2816, -1, -1, -1,
+ 2880, 2944, 3008, -1, 3072, -1, -1, -1,
+ 3136, 3200, 3264, 3328, 3392, 3456, 3520, 3136,
+ 3200, 3264, 3328, 3392, 3456, 3520, 3136, 3200,
+ 3264, 3328, 3392, 3456, 3520, 3136, 3200, 3264,
+ 3328, 3392, 3456, 3520, 3136, 3200, 3264, 3328,
+ 3392, 3456, 3520, 3136, 3200, 3264, 3328, 3392,
+ 3456, 3520, 3136, 3200, 3264, 3328, 3392, 3456,
+ 3520, 3136, 3200, 3264, 3328, 3392, 3456, 3520,
+ 3136, 3200, 3264, 3328, 3392, 3456, 3520, 3136,
+ 3200, 3264, 3328, 3392, 3456, 3520, 3136, 3200,
+ 3264, 3328, 3392, 3456, 3520, 3136, 3200, 3264,
+ 3328, 3392, 3456, 3520, 3136, 3200, 3264, 3584,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -82,11 +82,11 @@ unigbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 7296, -1,
- -1, -1, -1, -1, 7424, 7552, -1, 7680,
- -1, -1, -1, 7808, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3648, -1,
+ -1, -1, -1, -1, 3712, 3776, -1, 3840,
+ -1, -1, -1, 3904, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 7936, -1, -1, -1,
+ -1, -1, -1, -1, 3968, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -136,7 +136,7 @@ unigbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 8064, 8192, 8320, -1, -1, -1,
+ -1, -1, 4032, 4096, 4160, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -148,7 +148,7 @@ unigbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 8448, -1, 8576, 256, -1, -1, -1, -1,
+ 4224, -1, 4288, 128, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
diff --git a/lib/unigbrk/uc-gbrk-prop.c b/lib/unigbrk/uc-gbrk-prop.c
index 10d0fcc..6c93157 100644
--- a/lib/unigbrk/uc-gbrk-prop.c
+++ b/lib/unigbrk/uc-gbrk-prop.c
@@ -32,7 +32,7 @@ uc_graphemeclusterbreak_property (ucs4_t uc)
if (lookup1 >= 0)
{
unsigned int index2 = (uc >> gbrkprop_header_2) & gbrkprop_header_3;
- int lookup2 = unigbrkprop.level2[lookup1 + index2] / 2;
+ int lookup2 = unigbrkprop.level2[lookup1 + index2];
if (lookup2 >= 0)
{
unsigned int index3 = uc & gbrkprop_header_4;
diff --git a/modules/unigbrk/uc-gbrk-prop-tests
b/modules/unigbrk/uc-gbrk-prop-tests
new file mode 100644
index 0000000..0180646
--- /dev/null
+++ b/modules/unigbrk/uc-gbrk-prop-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unigbrk/test-uc-gbrk-prop.c
+tests/unigbrk/test-uc-gbrk-prop.h
+tests/macros.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-uc-gbrk-prop
+check_PROGRAMS += test-uc-gbrk-prop
+test_uc_gbrk_prop_SOURCES = unigbrk/test-uc-gbrk-prop.c
+test_uc_gbrk_prop_LDADD = $(LDADD) $(LIBUNISTRING)
diff --git a/tests/unigbrk/test-uc-gbrk-prop.c
b/tests/unigbrk/test-uc-gbrk-prop.c
new file mode 100644
index 0000000..444f7a9
--- /dev/null
+++ b/tests/unigbrk/test-uc-gbrk-prop.c
@@ -0,0 +1,82 @@
+/* Test the Unicode grapheme break property function.
+ Copyright (C) 2010 Free Software Foundation, Inc.
+
+ This program 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 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <unigbrk.h>
+
+struct uc_gbrk_prop_range
+{
+ ucs4_t end;
+ int gbp;
+};
+
+static const struct uc_gbrk_prop_range set[] =
+ {
+#include "test-uc-gbrk-prop.h"
+ };
+
+#include "macros.h"
+
+const char *
+graphemebreakproperty_to_string (int gbp)
+{
+ switch (gbp)
+ {
+#define CASE(VALUE) case GBP_##VALUE: return #VALUE;
+ CASE(OTHER)
+ CASE(CR)
+ CASE(LF)
+ CASE(CONTROL)
+ CASE(EXTEND)
+ CASE(PREPEND)
+ CASE(SPACINGMARK)
+ CASE(L)
+ CASE(V)
+ CASE(T)
+ CASE(LV)
+ CASE(LVT)
+ }
+ abort ();
+}
+
+int
+main (void)
+{
+ const struct uc_gbrk_prop_range *r;
+ ucs4_t uc;
+
+ uc = 0;
+ for (r = set; r < set + SIZEOF (set); r++)
+ {
+ for (; uc < r->end; uc++)
+ {
+ int retval = uc_graphemeclusterbreak_property (uc);
+ if (retval != r->gbp)
+ {
+ fprintf (stderr, "uc_graphemeclusterbreak_property(%#x) "
+ "yielded %s but should have been %s\n",
+ uc, graphemebreakproperty_to_string (retval),
+ graphemebreakproperty_to_string (r->gbp));
+ abort ();
+ }
+ }
+ }
+ ASSERT (uc == 0x110000);
+
+ return 0;
+}
diff --git a/tests/unigbrk/test-uc-gbrk-prop.h
b/tests/unigbrk/test-uc-gbrk-prop.h
new file mode 100644
index 0000000..f57f632
--- /dev/null
+++ b/tests/unigbrk/test-uc-gbrk-prop.h
@@ -0,0 +1,1270 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Test the Unicode grapheme break property functions.
+ Copyright (C) 2010 Free Software Foundation, Inc.
+
+ This program 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 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */
+
+{ 0x000A, GBP_CONTROL },
+{ 0x000B, GBP_LF },
+{ 0x000D, GBP_CONTROL },
+{ 0x000E, GBP_CR },
+{ 0x0020, GBP_CONTROL },
+{ 0x007F, GBP_OTHER },
+{ 0x00A0, GBP_CONTROL },
+{ 0x00AD, GBP_OTHER },
+{ 0x00AE, GBP_CONTROL },
+{ 0x0300, GBP_OTHER },
+{ 0x0370, GBP_EXTEND },
+{ 0x0483, GBP_OTHER },
+{ 0x048A, GBP_EXTEND },
+{ 0x0591, GBP_OTHER },
+{ 0x05BE, GBP_EXTEND },
+{ 0x05BF, GBP_OTHER },
+{ 0x05C0, GBP_EXTEND },
+{ 0x05C1, GBP_OTHER },
+{ 0x05C3, GBP_EXTEND },
+{ 0x05C4, GBP_OTHER },
+{ 0x05C6, GBP_EXTEND },
+{ 0x05C7, GBP_OTHER },
+{ 0x05C8, GBP_EXTEND },
+{ 0x0600, GBP_OTHER },
+{ 0x0604, GBP_CONTROL },
+{ 0x0610, GBP_OTHER },
+{ 0x061B, GBP_EXTEND },
+{ 0x064B, GBP_OTHER },
+{ 0x065F, GBP_EXTEND },
+{ 0x0670, GBP_OTHER },
+{ 0x0671, GBP_EXTEND },
+{ 0x06D6, GBP_OTHER },
+{ 0x06DD, GBP_EXTEND },
+{ 0x06DE, GBP_CONTROL },
+{ 0x06E5, GBP_EXTEND },
+{ 0x06E7, GBP_OTHER },
+{ 0x06E9, GBP_EXTEND },
+{ 0x06EA, GBP_OTHER },
+{ 0x06EE, GBP_EXTEND },
+{ 0x070F, GBP_OTHER },
+{ 0x0710, GBP_CONTROL },
+{ 0x0711, GBP_OTHER },
+{ 0x0712, GBP_EXTEND },
+{ 0x0730, GBP_OTHER },
+{ 0x074B, GBP_EXTEND },
+{ 0x07A6, GBP_OTHER },
+{ 0x07B1, GBP_EXTEND },
+{ 0x07EB, GBP_OTHER },
+{ 0x07F4, GBP_EXTEND },
+{ 0x0901, GBP_OTHER },
+{ 0x0903, GBP_EXTEND },
+{ 0x0904, GBP_SPACINGMARK },
+{ 0x093C, GBP_OTHER },
+{ 0x093D, GBP_EXTEND },
+{ 0x093E, GBP_OTHER },
+{ 0x0941, GBP_SPACINGMARK },
+{ 0x0949, GBP_EXTEND },
+{ 0x094D, GBP_SPACINGMARK },
+{ 0x094E, GBP_EXTEND },
+{ 0x0951, GBP_OTHER },
+{ 0x0955, GBP_EXTEND },
+{ 0x0962, GBP_OTHER },
+{ 0x0964, GBP_EXTEND },
+{ 0x0981, GBP_OTHER },
+{ 0x0982, GBP_EXTEND },
+{ 0x0984, GBP_SPACINGMARK },
+{ 0x09BC, GBP_OTHER },
+{ 0x09BD, GBP_EXTEND },
+{ 0x09BE, GBP_OTHER },
+{ 0x09BF, GBP_EXTEND },
+{ 0x09C1, GBP_SPACINGMARK },
+{ 0x09C5, GBP_EXTEND },
+{ 0x09C7, GBP_OTHER },
+{ 0x09C9, GBP_SPACINGMARK },
+{ 0x09CB, GBP_OTHER },
+{ 0x09CD, GBP_SPACINGMARK },
+{ 0x09CE, GBP_EXTEND },
+{ 0x09D7, GBP_OTHER },
+{ 0x09D8, GBP_EXTEND },
+{ 0x09E2, GBP_OTHER },
+{ 0x09E4, GBP_EXTEND },
+{ 0x0A01, GBP_OTHER },
+{ 0x0A03, GBP_EXTEND },
+{ 0x0A04, GBP_SPACINGMARK },
+{ 0x0A3C, GBP_OTHER },
+{ 0x0A3D, GBP_EXTEND },
+{ 0x0A3E, GBP_OTHER },
+{ 0x0A41, GBP_SPACINGMARK },
+{ 0x0A43, GBP_EXTEND },
+{ 0x0A47, GBP_OTHER },
+{ 0x0A49, GBP_EXTEND },
+{ 0x0A4B, GBP_OTHER },
+{ 0x0A4E, GBP_EXTEND },
+{ 0x0A51, GBP_OTHER },
+{ 0x0A52, GBP_EXTEND },
+{ 0x0A70, GBP_OTHER },
+{ 0x0A72, GBP_EXTEND },
+{ 0x0A75, GBP_OTHER },
+{ 0x0A76, GBP_EXTEND },
+{ 0x0A81, GBP_OTHER },
+{ 0x0A83, GBP_EXTEND },
+{ 0x0A84, GBP_SPACINGMARK },
+{ 0x0ABC, GBP_OTHER },
+{ 0x0ABD, GBP_EXTEND },
+{ 0x0ABE, GBP_OTHER },
+{ 0x0AC1, GBP_SPACINGMARK },
+{ 0x0AC6, GBP_EXTEND },
+{ 0x0AC7, GBP_OTHER },
+{ 0x0AC9, GBP_EXTEND },
+{ 0x0ACA, GBP_SPACINGMARK },
+{ 0x0ACB, GBP_OTHER },
+{ 0x0ACD, GBP_SPACINGMARK },
+{ 0x0ACE, GBP_EXTEND },
+{ 0x0AE2, GBP_OTHER },
+{ 0x0AE4, GBP_EXTEND },
+{ 0x0B01, GBP_OTHER },
+{ 0x0B02, GBP_EXTEND },
+{ 0x0B04, GBP_SPACINGMARK },
+{ 0x0B3C, GBP_OTHER },
+{ 0x0B3D, GBP_EXTEND },
+{ 0x0B3E, GBP_OTHER },
+{ 0x0B40, GBP_EXTEND },
+{ 0x0B41, GBP_SPACINGMARK },
+{ 0x0B45, GBP_EXTEND },
+{ 0x0B47, GBP_OTHER },
+{ 0x0B49, GBP_SPACINGMARK },
+{ 0x0B4B, GBP_OTHER },
+{ 0x0B4D, GBP_SPACINGMARK },
+{ 0x0B4E, GBP_EXTEND },
+{ 0x0B56, GBP_OTHER },
+{ 0x0B58, GBP_EXTEND },
+{ 0x0B62, GBP_OTHER },
+{ 0x0B64, GBP_EXTEND },
+{ 0x0B82, GBP_OTHER },
+{ 0x0B83, GBP_EXTEND },
+{ 0x0BBE, GBP_OTHER },
+{ 0x0BBF, GBP_EXTEND },
+{ 0x0BC0, GBP_SPACINGMARK },
+{ 0x0BC1, GBP_EXTEND },
+{ 0x0BC3, GBP_SPACINGMARK },
+{ 0x0BC6, GBP_OTHER },
+{ 0x0BC9, GBP_SPACINGMARK },
+{ 0x0BCA, GBP_OTHER },
+{ 0x0BCD, GBP_SPACINGMARK },
+{ 0x0BCE, GBP_EXTEND },
+{ 0x0BD7, GBP_OTHER },
+{ 0x0BD8, GBP_EXTEND },
+{ 0x0C01, GBP_OTHER },
+{ 0x0C04, GBP_SPACINGMARK },
+{ 0x0C3E, GBP_OTHER },
+{ 0x0C41, GBP_EXTEND },
+{ 0x0C45, GBP_SPACINGMARK },
+{ 0x0C46, GBP_OTHER },
+{ 0x0C49, GBP_EXTEND },
+{ 0x0C4A, GBP_OTHER },
+{ 0x0C4E, GBP_EXTEND },
+{ 0x0C55, GBP_OTHER },
+{ 0x0C57, GBP_EXTEND },
+{ 0x0C62, GBP_OTHER },
+{ 0x0C64, GBP_EXTEND },
+{ 0x0C82, GBP_OTHER },
+{ 0x0C84, GBP_SPACINGMARK },
+{ 0x0CBC, GBP_OTHER },
+{ 0x0CBD, GBP_EXTEND },
+{ 0x0CBE, GBP_OTHER },
+{ 0x0CBF, GBP_SPACINGMARK },
+{ 0x0CC0, GBP_EXTEND },
+{ 0x0CC2, GBP_SPACINGMARK },
+{ 0x0CC3, GBP_EXTEND },
+{ 0x0CC5, GBP_SPACINGMARK },
+{ 0x0CC6, GBP_OTHER },
+{ 0x0CC7, GBP_EXTEND },
+{ 0x0CC9, GBP_SPACINGMARK },
+{ 0x0CCA, GBP_OTHER },
+{ 0x0CCC, GBP_SPACINGMARK },
+{ 0x0CCE, GBP_EXTEND },
+{ 0x0CD5, GBP_OTHER },
+{ 0x0CD7, GBP_EXTEND },
+{ 0x0CE2, GBP_OTHER },
+{ 0x0CE4, GBP_EXTEND },
+{ 0x0D02, GBP_OTHER },
+{ 0x0D04, GBP_SPACINGMARK },
+{ 0x0D3E, GBP_OTHER },
+{ 0x0D3F, GBP_EXTEND },
+{ 0x0D41, GBP_SPACINGMARK },
+{ 0x0D45, GBP_EXTEND },
+{ 0x0D46, GBP_OTHER },
+{ 0x0D49, GBP_SPACINGMARK },
+{ 0x0D4A, GBP_OTHER },
+{ 0x0D4D, GBP_SPACINGMARK },
+{ 0x0D4E, GBP_EXTEND },
+{ 0x0D57, GBP_OTHER },
+{ 0x0D58, GBP_EXTEND },
+{ 0x0D62, GBP_OTHER },
+{ 0x0D64, GBP_EXTEND },
+{ 0x0D82, GBP_OTHER },
+{ 0x0D84, GBP_SPACINGMARK },
+{ 0x0DCA, GBP_OTHER },
+{ 0x0DCB, GBP_EXTEND },
+{ 0x0DCF, GBP_OTHER },
+{ 0x0DD0, GBP_EXTEND },
+{ 0x0DD2, GBP_SPACINGMARK },
+{ 0x0DD5, GBP_EXTEND },
+{ 0x0DD6, GBP_OTHER },
+{ 0x0DD7, GBP_EXTEND },
+{ 0x0DD8, GBP_OTHER },
+{ 0x0DDF, GBP_SPACINGMARK },
+{ 0x0DE0, GBP_EXTEND },
+{ 0x0DF2, GBP_OTHER },
+{ 0x0DF4, GBP_SPACINGMARK },
+{ 0x0E30, GBP_OTHER },
+{ 0x0E3B, GBP_EXTEND },
+{ 0x0E40, GBP_OTHER },
+{ 0x0E45, GBP_PREPEND },
+{ 0x0E46, GBP_EXTEND },
+{ 0x0E47, GBP_OTHER },
+{ 0x0E4F, GBP_EXTEND },
+{ 0x0EB0, GBP_OTHER },
+{ 0x0EBA, GBP_EXTEND },
+{ 0x0EBB, GBP_OTHER },
+{ 0x0EBD, GBP_EXTEND },
+{ 0x0EC0, GBP_OTHER },
+{ 0x0EC5, GBP_PREPEND },
+{ 0x0EC8, GBP_OTHER },
+{ 0x0ECE, GBP_EXTEND },
+{ 0x0F18, GBP_OTHER },
+{ 0x0F1A, GBP_EXTEND },
+{ 0x0F35, GBP_OTHER },
+{ 0x0F36, GBP_EXTEND },
+{ 0x0F37, GBP_OTHER },
+{ 0x0F38, GBP_EXTEND },
+{ 0x0F39, GBP_OTHER },
+{ 0x0F3A, GBP_EXTEND },
+{ 0x0F3E, GBP_OTHER },
+{ 0x0F40, GBP_SPACINGMARK },
+{ 0x0F71, GBP_OTHER },
+{ 0x0F7F, GBP_EXTEND },
+{ 0x0F80, GBP_SPACINGMARK },
+{ 0x0F85, GBP_EXTEND },
+{ 0x0F86, GBP_OTHER },
+{ 0x0F88, GBP_EXTEND },
+{ 0x0F90, GBP_OTHER },
+{ 0x0F98, GBP_EXTEND },
+{ 0x0F99, GBP_OTHER },
+{ 0x0FBD, GBP_EXTEND },
+{ 0x0FC6, GBP_OTHER },
+{ 0x0FC7, GBP_EXTEND },
+{ 0x102B, GBP_OTHER },
+{ 0x102D, GBP_SPACINGMARK },
+{ 0x1031, GBP_EXTEND },
+{ 0x1032, GBP_SPACINGMARK },
+{ 0x1038, GBP_EXTEND },
+{ 0x1039, GBP_SPACINGMARK },
+{ 0x103B, GBP_EXTEND },
+{ 0x103D, GBP_SPACINGMARK },
+{ 0x103F, GBP_EXTEND },
+{ 0x1056, GBP_OTHER },
+{ 0x1058, GBP_SPACINGMARK },
+{ 0x105A, GBP_EXTEND },
+{ 0x105E, GBP_OTHER },
+{ 0x1061, GBP_EXTEND },
+{ 0x1062, GBP_OTHER },
+{ 0x1065, GBP_SPACINGMARK },
+{ 0x1067, GBP_OTHER },
+{ 0x106E, GBP_SPACINGMARK },
+{ 0x1071, GBP_OTHER },
+{ 0x1075, GBP_EXTEND },
+{ 0x1082, GBP_OTHER },
+{ 0x1083, GBP_EXTEND },
+{ 0x1085, GBP_SPACINGMARK },
+{ 0x1087, GBP_EXTEND },
+{ 0x108D, GBP_SPACINGMARK },
+{ 0x108E, GBP_EXTEND },
+{ 0x108F, GBP_OTHER },
+{ 0x1090, GBP_SPACINGMARK },
+{ 0x1100, GBP_OTHER },
+{ 0x115A, GBP_L },
+{ 0x115F, GBP_OTHER },
+{ 0x1160, GBP_L },
+{ 0x11A3, GBP_V },
+{ 0x11A8, GBP_OTHER },
+{ 0x11FA, GBP_T },
+{ 0x135F, GBP_OTHER },
+{ 0x1360, GBP_EXTEND },
+{ 0x1712, GBP_OTHER },
+{ 0x1715, GBP_EXTEND },
+{ 0x1732, GBP_OTHER },
+{ 0x1735, GBP_EXTEND },
+{ 0x1752, GBP_OTHER },
+{ 0x1754, GBP_EXTEND },
+{ 0x1772, GBP_OTHER },
+{ 0x1774, GBP_EXTEND },
+{ 0x17B4, GBP_OTHER },
+{ 0x17B6, GBP_CONTROL },
+{ 0x17B7, GBP_SPACINGMARK },
+{ 0x17BE, GBP_EXTEND },
+{ 0x17C6, GBP_SPACINGMARK },
+{ 0x17C7, GBP_EXTEND },
+{ 0x17C9, GBP_SPACINGMARK },
+{ 0x17D4, GBP_EXTEND },
+{ 0x17DD, GBP_OTHER },
+{ 0x17DE, GBP_EXTEND },
+{ 0x180B, GBP_OTHER },
+{ 0x180E, GBP_EXTEND },
+{ 0x18A9, GBP_OTHER },
+{ 0x18AA, GBP_EXTEND },
+{ 0x1920, GBP_OTHER },
+{ 0x1923, GBP_EXTEND },
+{ 0x1927, GBP_SPACINGMARK },
+{ 0x1929, GBP_EXTEND },
+{ 0x192C, GBP_SPACINGMARK },
+{ 0x1930, GBP_OTHER },
+{ 0x1932, GBP_SPACINGMARK },
+{ 0x1933, GBP_EXTEND },
+{ 0x1939, GBP_SPACINGMARK },
+{ 0x193C, GBP_EXTEND },
+{ 0x19B0, GBP_OTHER },
+{ 0x19C1, GBP_SPACINGMARK },
+{ 0x19C8, GBP_OTHER },
+{ 0x19CA, GBP_SPACINGMARK },
+{ 0x1A17, GBP_OTHER },
+{ 0x1A19, GBP_EXTEND },
+{ 0x1A1C, GBP_SPACINGMARK },
+{ 0x1B00, GBP_OTHER },
+{ 0x1B04, GBP_EXTEND },
+{ 0x1B05, GBP_SPACINGMARK },
+{ 0x1B34, GBP_OTHER },
+{ 0x1B35, GBP_EXTEND },
+{ 0x1B36, GBP_SPACINGMARK },
+{ 0x1B3B, GBP_EXTEND },
+{ 0x1B3C, GBP_SPACINGMARK },
+{ 0x1B3D, GBP_EXTEND },
+{ 0x1B42, GBP_SPACINGMARK },
+{ 0x1B43, GBP_EXTEND },
+{ 0x1B45, GBP_SPACINGMARK },
+{ 0x1B6B, GBP_OTHER },
+{ 0x1B74, GBP_EXTEND },
+{ 0x1B80, GBP_OTHER },
+{ 0x1B82, GBP_EXTEND },
+{ 0x1B83, GBP_SPACINGMARK },
+{ 0x1BA1, GBP_OTHER },
+{ 0x1BA2, GBP_SPACINGMARK },
+{ 0x1BA6, GBP_EXTEND },
+{ 0x1BA8, GBP_SPACINGMARK },
+{ 0x1BAA, GBP_EXTEND },
+{ 0x1BAB, GBP_SPACINGMARK },
+{ 0x1C24, GBP_OTHER },
+{ 0x1C2C, GBP_SPACINGMARK },
+{ 0x1C34, GBP_EXTEND },
+{ 0x1C36, GBP_SPACINGMARK },
+{ 0x1C38, GBP_EXTEND },
+{ 0x1DC0, GBP_OTHER },
+{ 0x1DE7, GBP_EXTEND },
+{ 0x1DFE, GBP_OTHER },
+{ 0x1E00, GBP_EXTEND },
+{ 0x200B, GBP_OTHER },
+{ 0x200C, GBP_CONTROL },
+{ 0x200E, GBP_EXTEND },
+{ 0x2010, GBP_CONTROL },
+{ 0x2028, GBP_OTHER },
+{ 0x202F, GBP_CONTROL },
+{ 0x2060, GBP_OTHER },
+{ 0x2065, GBP_CONTROL },
+{ 0x206A, GBP_OTHER },
+{ 0x2070, GBP_CONTROL },
+{ 0x20D0, GBP_OTHER },
+{ 0x20F1, GBP_EXTEND },
+{ 0x2DE0, GBP_OTHER },
+{ 0x2E00, GBP_EXTEND },
+{ 0x302A, GBP_OTHER },
+{ 0x3030, GBP_EXTEND },
+{ 0x3099, GBP_OTHER },
+{ 0x309B, GBP_EXTEND },
+{ 0xA66F, GBP_OTHER },
+{ 0xA673, GBP_EXTEND },
+{ 0xA67C, GBP_OTHER },
+{ 0xA67E, GBP_EXTEND },
+{ 0xA802, GBP_OTHER },
+{ 0xA803, GBP_EXTEND },
+{ 0xA806, GBP_OTHER },
+{ 0xA807, GBP_EXTEND },
+{ 0xA80B, GBP_OTHER },
+{ 0xA80C, GBP_EXTEND },
+{ 0xA823, GBP_OTHER },
+{ 0xA825, GBP_SPACINGMARK },
+{ 0xA827, GBP_EXTEND },
+{ 0xA828, GBP_SPACINGMARK },
+{ 0xA880, GBP_OTHER },
+{ 0xA882, GBP_SPACINGMARK },
+{ 0xA8B4, GBP_OTHER },
+{ 0xA8C4, GBP_SPACINGMARK },
+{ 0xA8C5, GBP_EXTEND },
+{ 0xA926, GBP_OTHER },
+{ 0xA92E, GBP_EXTEND },
+{ 0xA947, GBP_OTHER },
+{ 0xA952, GBP_EXTEND },
+{ 0xA954, GBP_SPACINGMARK },
+{ 0xAA29, GBP_OTHER },
+{ 0xAA2F, GBP_EXTEND },
+{ 0xAA31, GBP_SPACINGMARK },
+{ 0xAA33, GBP_EXTEND },
+{ 0xAA35, GBP_SPACINGMARK },
+{ 0xAA37, GBP_EXTEND },
+{ 0xAA43, GBP_OTHER },
+{ 0xAA44, GBP_EXTEND },
+{ 0xAA4C, GBP_OTHER },
+{ 0xAA4D, GBP_EXTEND },
+{ 0xAA4E, GBP_SPACINGMARK },
+{ 0xAC00, GBP_OTHER },
+{ 0xAC01, GBP_LV },
+{ 0xAC1C, GBP_LVT },
+{ 0xAC1D, GBP_LV },
+{ 0xAC38, GBP_LVT },
+{ 0xAC39, GBP_LV },
+{ 0xAC54, GBP_LVT },
+{ 0xAC55, GBP_LV },
+{ 0xAC70, GBP_LVT },
+{ 0xAC71, GBP_LV },
+{ 0xAC8C, GBP_LVT },
+{ 0xAC8D, GBP_LV },
+{ 0xACA8, GBP_LVT },
+{ 0xACA9, GBP_LV },
+{ 0xACC4, GBP_LVT },
+{ 0xACC5, GBP_LV },
+{ 0xACE0, GBP_LVT },
+{ 0xACE1, GBP_LV },
+{ 0xACFC, GBP_LVT },
+{ 0xACFD, GBP_LV },
+{ 0xAD18, GBP_LVT },
+{ 0xAD19, GBP_LV },
+{ 0xAD34, GBP_LVT },
+{ 0xAD35, GBP_LV },
+{ 0xAD50, GBP_LVT },
+{ 0xAD51, GBP_LV },
+{ 0xAD6C, GBP_LVT },
+{ 0xAD6D, GBP_LV },
+{ 0xAD88, GBP_LVT },
+{ 0xAD89, GBP_LV },
+{ 0xADA4, GBP_LVT },
+{ 0xADA5, GBP_LV },
+{ 0xADC0, GBP_LVT },
+{ 0xADC1, GBP_LV },
+{ 0xADDC, GBP_LVT },
+{ 0xADDD, GBP_LV },
+{ 0xADF8, GBP_LVT },
+{ 0xADF9, GBP_LV },
+{ 0xAE14, GBP_LVT },
+{ 0xAE15, GBP_LV },
+{ 0xAE30, GBP_LVT },
+{ 0xAE31, GBP_LV },
+{ 0xAE4C, GBP_LVT },
+{ 0xAE4D, GBP_LV },
+{ 0xAE68, GBP_LVT },
+{ 0xAE69, GBP_LV },
+{ 0xAE84, GBP_LVT },
+{ 0xAE85, GBP_LV },
+{ 0xAEA0, GBP_LVT },
+{ 0xAEA1, GBP_LV },
+{ 0xAEBC, GBP_LVT },
+{ 0xAEBD, GBP_LV },
+{ 0xAED8, GBP_LVT },
+{ 0xAED9, GBP_LV },
+{ 0xAEF4, GBP_LVT },
+{ 0xAEF5, GBP_LV },
+{ 0xAF10, GBP_LVT },
+{ 0xAF11, GBP_LV },
+{ 0xAF2C, GBP_LVT },
+{ 0xAF2D, GBP_LV },
+{ 0xAF48, GBP_LVT },
+{ 0xAF49, GBP_LV },
+{ 0xAF64, GBP_LVT },
+{ 0xAF65, GBP_LV },
+{ 0xAF80, GBP_LVT },
+{ 0xAF81, GBP_LV },
+{ 0xAF9C, GBP_LVT },
+{ 0xAF9D, GBP_LV },
+{ 0xAFB8, GBP_LVT },
+{ 0xAFB9, GBP_LV },
+{ 0xAFD4, GBP_LVT },
+{ 0xAFD5, GBP_LV },
+{ 0xAFF0, GBP_LVT },
+{ 0xAFF1, GBP_LV },
+{ 0xB00C, GBP_LVT },
+{ 0xB00D, GBP_LV },
+{ 0xB028, GBP_LVT },
+{ 0xB029, GBP_LV },
+{ 0xB044, GBP_LVT },
+{ 0xB045, GBP_LV },
+{ 0xB060, GBP_LVT },
+{ 0xB061, GBP_LV },
+{ 0xB07C, GBP_LVT },
+{ 0xB07D, GBP_LV },
+{ 0xB098, GBP_LVT },
+{ 0xB099, GBP_LV },
+{ 0xB0B4, GBP_LVT },
+{ 0xB0B5, GBP_LV },
+{ 0xB0D0, GBP_LVT },
+{ 0xB0D1, GBP_LV },
+{ 0xB0EC, GBP_LVT },
+{ 0xB0ED, GBP_LV },
+{ 0xB108, GBP_LVT },
+{ 0xB109, GBP_LV },
+{ 0xB124, GBP_LVT },
+{ 0xB125, GBP_LV },
+{ 0xB140, GBP_LVT },
+{ 0xB141, GBP_LV },
+{ 0xB15C, GBP_LVT },
+{ 0xB15D, GBP_LV },
+{ 0xB178, GBP_LVT },
+{ 0xB179, GBP_LV },
+{ 0xB194, GBP_LVT },
+{ 0xB195, GBP_LV },
+{ 0xB1B0, GBP_LVT },
+{ 0xB1B1, GBP_LV },
+{ 0xB1CC, GBP_LVT },
+{ 0xB1CD, GBP_LV },
+{ 0xB1E8, GBP_LVT },
+{ 0xB1E9, GBP_LV },
+{ 0xB204, GBP_LVT },
+{ 0xB205, GBP_LV },
+{ 0xB220, GBP_LVT },
+{ 0xB221, GBP_LV },
+{ 0xB23C, GBP_LVT },
+{ 0xB23D, GBP_LV },
+{ 0xB258, GBP_LVT },
+{ 0xB259, GBP_LV },
+{ 0xB274, GBP_LVT },
+{ 0xB275, GBP_LV },
+{ 0xB290, GBP_LVT },
+{ 0xB291, GBP_LV },
+{ 0xB2AC, GBP_LVT },
+{ 0xB2AD, GBP_LV },
+{ 0xB2C8, GBP_LVT },
+{ 0xB2C9, GBP_LV },
+{ 0xB2E4, GBP_LVT },
+{ 0xB2E5, GBP_LV },
+{ 0xB300, GBP_LVT },
+{ 0xB301, GBP_LV },
+{ 0xB31C, GBP_LVT },
+{ 0xB31D, GBP_LV },
+{ 0xB338, GBP_LVT },
+{ 0xB339, GBP_LV },
+{ 0xB354, GBP_LVT },
+{ 0xB355, GBP_LV },
+{ 0xB370, GBP_LVT },
+{ 0xB371, GBP_LV },
+{ 0xB38C, GBP_LVT },
+{ 0xB38D, GBP_LV },
+{ 0xB3A8, GBP_LVT },
+{ 0xB3A9, GBP_LV },
+{ 0xB3C4, GBP_LVT },
+{ 0xB3C5, GBP_LV },
+{ 0xB3E0, GBP_LVT },
+{ 0xB3E1, GBP_LV },
+{ 0xB3FC, GBP_LVT },
+{ 0xB3FD, GBP_LV },
+{ 0xB418, GBP_LVT },
+{ 0xB419, GBP_LV },
+{ 0xB434, GBP_LVT },
+{ 0xB435, GBP_LV },
+{ 0xB450, GBP_LVT },
+{ 0xB451, GBP_LV },
+{ 0xB46C, GBP_LVT },
+{ 0xB46D, GBP_LV },
+{ 0xB488, GBP_LVT },
+{ 0xB489, GBP_LV },
+{ 0xB4A4, GBP_LVT },
+{ 0xB4A5, GBP_LV },
+{ 0xB4C0, GBP_LVT },
+{ 0xB4C1, GBP_LV },
+{ 0xB4DC, GBP_LVT },
+{ 0xB4DD, GBP_LV },
+{ 0xB4F8, GBP_LVT },
+{ 0xB4F9, GBP_LV },
+{ 0xB514, GBP_LVT },
+{ 0xB515, GBP_LV },
+{ 0xB530, GBP_LVT },
+{ 0xB531, GBP_LV },
+{ 0xB54C, GBP_LVT },
+{ 0xB54D, GBP_LV },
+{ 0xB568, GBP_LVT },
+{ 0xB569, GBP_LV },
+{ 0xB584, GBP_LVT },
+{ 0xB585, GBP_LV },
+{ 0xB5A0, GBP_LVT },
+{ 0xB5A1, GBP_LV },
+{ 0xB5BC, GBP_LVT },
+{ 0xB5BD, GBP_LV },
+{ 0xB5D8, GBP_LVT },
+{ 0xB5D9, GBP_LV },
+{ 0xB5F4, GBP_LVT },
+{ 0xB5F5, GBP_LV },
+{ 0xB610, GBP_LVT },
+{ 0xB611, GBP_LV },
+{ 0xB62C, GBP_LVT },
+{ 0xB62D, GBP_LV },
+{ 0xB648, GBP_LVT },
+{ 0xB649, GBP_LV },
+{ 0xB664, GBP_LVT },
+{ 0xB665, GBP_LV },
+{ 0xB680, GBP_LVT },
+{ 0xB681, GBP_LV },
+{ 0xB69C, GBP_LVT },
+{ 0xB69D, GBP_LV },
+{ 0xB6B8, GBP_LVT },
+{ 0xB6B9, GBP_LV },
+{ 0xB6D4, GBP_LVT },
+{ 0xB6D5, GBP_LV },
+{ 0xB6F0, GBP_LVT },
+{ 0xB6F1, GBP_LV },
+{ 0xB70C, GBP_LVT },
+{ 0xB70D, GBP_LV },
+{ 0xB728, GBP_LVT },
+{ 0xB729, GBP_LV },
+{ 0xB744, GBP_LVT },
+{ 0xB745, GBP_LV },
+{ 0xB760, GBP_LVT },
+{ 0xB761, GBP_LV },
+{ 0xB77C, GBP_LVT },
+{ 0xB77D, GBP_LV },
+{ 0xB798, GBP_LVT },
+{ 0xB799, GBP_LV },
+{ 0xB7B4, GBP_LVT },
+{ 0xB7B5, GBP_LV },
+{ 0xB7D0, GBP_LVT },
+{ 0xB7D1, GBP_LV },
+{ 0xB7EC, GBP_LVT },
+{ 0xB7ED, GBP_LV },
+{ 0xB808, GBP_LVT },
+{ 0xB809, GBP_LV },
+{ 0xB824, GBP_LVT },
+{ 0xB825, GBP_LV },
+{ 0xB840, GBP_LVT },
+{ 0xB841, GBP_LV },
+{ 0xB85C, GBP_LVT },
+{ 0xB85D, GBP_LV },
+{ 0xB878, GBP_LVT },
+{ 0xB879, GBP_LV },
+{ 0xB894, GBP_LVT },
+{ 0xB895, GBP_LV },
+{ 0xB8B0, GBP_LVT },
+{ 0xB8B1, GBP_LV },
+{ 0xB8CC, GBP_LVT },
+{ 0xB8CD, GBP_LV },
+{ 0xB8E8, GBP_LVT },
+{ 0xB8E9, GBP_LV },
+{ 0xB904, GBP_LVT },
+{ 0xB905, GBP_LV },
+{ 0xB920, GBP_LVT },
+{ 0xB921, GBP_LV },
+{ 0xB93C, GBP_LVT },
+{ 0xB93D, GBP_LV },
+{ 0xB958, GBP_LVT },
+{ 0xB959, GBP_LV },
+{ 0xB974, GBP_LVT },
+{ 0xB975, GBP_LV },
+{ 0xB990, GBP_LVT },
+{ 0xB991, GBP_LV },
+{ 0xB9AC, GBP_LVT },
+{ 0xB9AD, GBP_LV },
+{ 0xB9C8, GBP_LVT },
+{ 0xB9C9, GBP_LV },
+{ 0xB9E4, GBP_LVT },
+{ 0xB9E5, GBP_LV },
+{ 0xBA00, GBP_LVT },
+{ 0xBA01, GBP_LV },
+{ 0xBA1C, GBP_LVT },
+{ 0xBA1D, GBP_LV },
+{ 0xBA38, GBP_LVT },
+{ 0xBA39, GBP_LV },
+{ 0xBA54, GBP_LVT },
+{ 0xBA55, GBP_LV },
+{ 0xBA70, GBP_LVT },
+{ 0xBA71, GBP_LV },
+{ 0xBA8C, GBP_LVT },
+{ 0xBA8D, GBP_LV },
+{ 0xBAA8, GBP_LVT },
+{ 0xBAA9, GBP_LV },
+{ 0xBAC4, GBP_LVT },
+{ 0xBAC5, GBP_LV },
+{ 0xBAE0, GBP_LVT },
+{ 0xBAE1, GBP_LV },
+{ 0xBAFC, GBP_LVT },
+{ 0xBAFD, GBP_LV },
+{ 0xBB18, GBP_LVT },
+{ 0xBB19, GBP_LV },
+{ 0xBB34, GBP_LVT },
+{ 0xBB35, GBP_LV },
+{ 0xBB50, GBP_LVT },
+{ 0xBB51, GBP_LV },
+{ 0xBB6C, GBP_LVT },
+{ 0xBB6D, GBP_LV },
+{ 0xBB88, GBP_LVT },
+{ 0xBB89, GBP_LV },
+{ 0xBBA4, GBP_LVT },
+{ 0xBBA5, GBP_LV },
+{ 0xBBC0, GBP_LVT },
+{ 0xBBC1, GBP_LV },
+{ 0xBBDC, GBP_LVT },
+{ 0xBBDD, GBP_LV },
+{ 0xBBF8, GBP_LVT },
+{ 0xBBF9, GBP_LV },
+{ 0xBC14, GBP_LVT },
+{ 0xBC15, GBP_LV },
+{ 0xBC30, GBP_LVT },
+{ 0xBC31, GBP_LV },
+{ 0xBC4C, GBP_LVT },
+{ 0xBC4D, GBP_LV },
+{ 0xBC68, GBP_LVT },
+{ 0xBC69, GBP_LV },
+{ 0xBC84, GBP_LVT },
+{ 0xBC85, GBP_LV },
+{ 0xBCA0, GBP_LVT },
+{ 0xBCA1, GBP_LV },
+{ 0xBCBC, GBP_LVT },
+{ 0xBCBD, GBP_LV },
+{ 0xBCD8, GBP_LVT },
+{ 0xBCD9, GBP_LV },
+{ 0xBCF4, GBP_LVT },
+{ 0xBCF5, GBP_LV },
+{ 0xBD10, GBP_LVT },
+{ 0xBD11, GBP_LV },
+{ 0xBD2C, GBP_LVT },
+{ 0xBD2D, GBP_LV },
+{ 0xBD48, GBP_LVT },
+{ 0xBD49, GBP_LV },
+{ 0xBD64, GBP_LVT },
+{ 0xBD65, GBP_LV },
+{ 0xBD80, GBP_LVT },
+{ 0xBD81, GBP_LV },
+{ 0xBD9C, GBP_LVT },
+{ 0xBD9D, GBP_LV },
+{ 0xBDB8, GBP_LVT },
+{ 0xBDB9, GBP_LV },
+{ 0xBDD4, GBP_LVT },
+{ 0xBDD5, GBP_LV },
+{ 0xBDF0, GBP_LVT },
+{ 0xBDF1, GBP_LV },
+{ 0xBE0C, GBP_LVT },
+{ 0xBE0D, GBP_LV },
+{ 0xBE28, GBP_LVT },
+{ 0xBE29, GBP_LV },
+{ 0xBE44, GBP_LVT },
+{ 0xBE45, GBP_LV },
+{ 0xBE60, GBP_LVT },
+{ 0xBE61, GBP_LV },
+{ 0xBE7C, GBP_LVT },
+{ 0xBE7D, GBP_LV },
+{ 0xBE98, GBP_LVT },
+{ 0xBE99, GBP_LV },
+{ 0xBEB4, GBP_LVT },
+{ 0xBEB5, GBP_LV },
+{ 0xBED0, GBP_LVT },
+{ 0xBED1, GBP_LV },
+{ 0xBEEC, GBP_LVT },
+{ 0xBEED, GBP_LV },
+{ 0xBF08, GBP_LVT },
+{ 0xBF09, GBP_LV },
+{ 0xBF24, GBP_LVT },
+{ 0xBF25, GBP_LV },
+{ 0xBF40, GBP_LVT },
+{ 0xBF41, GBP_LV },
+{ 0xBF5C, GBP_LVT },
+{ 0xBF5D, GBP_LV },
+{ 0xBF78, GBP_LVT },
+{ 0xBF79, GBP_LV },
+{ 0xBF94, GBP_LVT },
+{ 0xBF95, GBP_LV },
+{ 0xBFB0, GBP_LVT },
+{ 0xBFB1, GBP_LV },
+{ 0xBFCC, GBP_LVT },
+{ 0xBFCD, GBP_LV },
+{ 0xBFE8, GBP_LVT },
+{ 0xBFE9, GBP_LV },
+{ 0xC004, GBP_LVT },
+{ 0xC005, GBP_LV },
+{ 0xC020, GBP_LVT },
+{ 0xC021, GBP_LV },
+{ 0xC03C, GBP_LVT },
+{ 0xC03D, GBP_LV },
+{ 0xC058, GBP_LVT },
+{ 0xC059, GBP_LV },
+{ 0xC074, GBP_LVT },
+{ 0xC075, GBP_LV },
+{ 0xC090, GBP_LVT },
+{ 0xC091, GBP_LV },
+{ 0xC0AC, GBP_LVT },
+{ 0xC0AD, GBP_LV },
+{ 0xC0C8, GBP_LVT },
+{ 0xC0C9, GBP_LV },
+{ 0xC0E4, GBP_LVT },
+{ 0xC0E5, GBP_LV },
+{ 0xC100, GBP_LVT },
+{ 0xC101, GBP_LV },
+{ 0xC11C, GBP_LVT },
+{ 0xC11D, GBP_LV },
+{ 0xC138, GBP_LVT },
+{ 0xC139, GBP_LV },
+{ 0xC154, GBP_LVT },
+{ 0xC155, GBP_LV },
+{ 0xC170, GBP_LVT },
+{ 0xC171, GBP_LV },
+{ 0xC18C, GBP_LVT },
+{ 0xC18D, GBP_LV },
+{ 0xC1A8, GBP_LVT },
+{ 0xC1A9, GBP_LV },
+{ 0xC1C4, GBP_LVT },
+{ 0xC1C5, GBP_LV },
+{ 0xC1E0, GBP_LVT },
+{ 0xC1E1, GBP_LV },
+{ 0xC1FC, GBP_LVT },
+{ 0xC1FD, GBP_LV },
+{ 0xC218, GBP_LVT },
+{ 0xC219, GBP_LV },
+{ 0xC234, GBP_LVT },
+{ 0xC235, GBP_LV },
+{ 0xC250, GBP_LVT },
+{ 0xC251, GBP_LV },
+{ 0xC26C, GBP_LVT },
+{ 0xC26D, GBP_LV },
+{ 0xC288, GBP_LVT },
+{ 0xC289, GBP_LV },
+{ 0xC2A4, GBP_LVT },
+{ 0xC2A5, GBP_LV },
+{ 0xC2C0, GBP_LVT },
+{ 0xC2C1, GBP_LV },
+{ 0xC2DC, GBP_LVT },
+{ 0xC2DD, GBP_LV },
+{ 0xC2F8, GBP_LVT },
+{ 0xC2F9, GBP_LV },
+{ 0xC314, GBP_LVT },
+{ 0xC315, GBP_LV },
+{ 0xC330, GBP_LVT },
+{ 0xC331, GBP_LV },
+{ 0xC34C, GBP_LVT },
+{ 0xC34D, GBP_LV },
+{ 0xC368, GBP_LVT },
+{ 0xC369, GBP_LV },
+{ 0xC384, GBP_LVT },
+{ 0xC385, GBP_LV },
+{ 0xC3A0, GBP_LVT },
+{ 0xC3A1, GBP_LV },
+{ 0xC3BC, GBP_LVT },
+{ 0xC3BD, GBP_LV },
+{ 0xC3D8, GBP_LVT },
+{ 0xC3D9, GBP_LV },
+{ 0xC3F4, GBP_LVT },
+{ 0xC3F5, GBP_LV },
+{ 0xC410, GBP_LVT },
+{ 0xC411, GBP_LV },
+{ 0xC42C, GBP_LVT },
+{ 0xC42D, GBP_LV },
+{ 0xC448, GBP_LVT },
+{ 0xC449, GBP_LV },
+{ 0xC464, GBP_LVT },
+{ 0xC465, GBP_LV },
+{ 0xC480, GBP_LVT },
+{ 0xC481, GBP_LV },
+{ 0xC49C, GBP_LVT },
+{ 0xC49D, GBP_LV },
+{ 0xC4B8, GBP_LVT },
+{ 0xC4B9, GBP_LV },
+{ 0xC4D4, GBP_LVT },
+{ 0xC4D5, GBP_LV },
+{ 0xC4F0, GBP_LVT },
+{ 0xC4F1, GBP_LV },
+{ 0xC50C, GBP_LVT },
+{ 0xC50D, GBP_LV },
+{ 0xC528, GBP_LVT },
+{ 0xC529, GBP_LV },
+{ 0xC544, GBP_LVT },
+{ 0xC545, GBP_LV },
+{ 0xC560, GBP_LVT },
+{ 0xC561, GBP_LV },
+{ 0xC57C, GBP_LVT },
+{ 0xC57D, GBP_LV },
+{ 0xC598, GBP_LVT },
+{ 0xC599, GBP_LV },
+{ 0xC5B4, GBP_LVT },
+{ 0xC5B5, GBP_LV },
+{ 0xC5D0, GBP_LVT },
+{ 0xC5D1, GBP_LV },
+{ 0xC5EC, GBP_LVT },
+{ 0xC5ED, GBP_LV },
+{ 0xC608, GBP_LVT },
+{ 0xC609, GBP_LV },
+{ 0xC624, GBP_LVT },
+{ 0xC625, GBP_LV },
+{ 0xC640, GBP_LVT },
+{ 0xC641, GBP_LV },
+{ 0xC65C, GBP_LVT },
+{ 0xC65D, GBP_LV },
+{ 0xC678, GBP_LVT },
+{ 0xC679, GBP_LV },
+{ 0xC694, GBP_LVT },
+{ 0xC695, GBP_LV },
+{ 0xC6B0, GBP_LVT },
+{ 0xC6B1, GBP_LV },
+{ 0xC6CC, GBP_LVT },
+{ 0xC6CD, GBP_LV },
+{ 0xC6E8, GBP_LVT },
+{ 0xC6E9, GBP_LV },
+{ 0xC704, GBP_LVT },
+{ 0xC705, GBP_LV },
+{ 0xC720, GBP_LVT },
+{ 0xC721, GBP_LV },
+{ 0xC73C, GBP_LVT },
+{ 0xC73D, GBP_LV },
+{ 0xC758, GBP_LVT },
+{ 0xC759, GBP_LV },
+{ 0xC774, GBP_LVT },
+{ 0xC775, GBP_LV },
+{ 0xC790, GBP_LVT },
+{ 0xC791, GBP_LV },
+{ 0xC7AC, GBP_LVT },
+{ 0xC7AD, GBP_LV },
+{ 0xC7C8, GBP_LVT },
+{ 0xC7C9, GBP_LV },
+{ 0xC7E4, GBP_LVT },
+{ 0xC7E5, GBP_LV },
+{ 0xC800, GBP_LVT },
+{ 0xC801, GBP_LV },
+{ 0xC81C, GBP_LVT },
+{ 0xC81D, GBP_LV },
+{ 0xC838, GBP_LVT },
+{ 0xC839, GBP_LV },
+{ 0xC854, GBP_LVT },
+{ 0xC855, GBP_LV },
+{ 0xC870, GBP_LVT },
+{ 0xC871, GBP_LV },
+{ 0xC88C, GBP_LVT },
+{ 0xC88D, GBP_LV },
+{ 0xC8A8, GBP_LVT },
+{ 0xC8A9, GBP_LV },
+{ 0xC8C4, GBP_LVT },
+{ 0xC8C5, GBP_LV },
+{ 0xC8E0, GBP_LVT },
+{ 0xC8E1, GBP_LV },
+{ 0xC8FC, GBP_LVT },
+{ 0xC8FD, GBP_LV },
+{ 0xC918, GBP_LVT },
+{ 0xC919, GBP_LV },
+{ 0xC934, GBP_LVT },
+{ 0xC935, GBP_LV },
+{ 0xC950, GBP_LVT },
+{ 0xC951, GBP_LV },
+{ 0xC96C, GBP_LVT },
+{ 0xC96D, GBP_LV },
+{ 0xC988, GBP_LVT },
+{ 0xC989, GBP_LV },
+{ 0xC9A4, GBP_LVT },
+{ 0xC9A5, GBP_LV },
+{ 0xC9C0, GBP_LVT },
+{ 0xC9C1, GBP_LV },
+{ 0xC9DC, GBP_LVT },
+{ 0xC9DD, GBP_LV },
+{ 0xC9F8, GBP_LVT },
+{ 0xC9F9, GBP_LV },
+{ 0xCA14, GBP_LVT },
+{ 0xCA15, GBP_LV },
+{ 0xCA30, GBP_LVT },
+{ 0xCA31, GBP_LV },
+{ 0xCA4C, GBP_LVT },
+{ 0xCA4D, GBP_LV },
+{ 0xCA68, GBP_LVT },
+{ 0xCA69, GBP_LV },
+{ 0xCA84, GBP_LVT },
+{ 0xCA85, GBP_LV },
+{ 0xCAA0, GBP_LVT },
+{ 0xCAA1, GBP_LV },
+{ 0xCABC, GBP_LVT },
+{ 0xCABD, GBP_LV },
+{ 0xCAD8, GBP_LVT },
+{ 0xCAD9, GBP_LV },
+{ 0xCAF4, GBP_LVT },
+{ 0xCAF5, GBP_LV },
+{ 0xCB10, GBP_LVT },
+{ 0xCB11, GBP_LV },
+{ 0xCB2C, GBP_LVT },
+{ 0xCB2D, GBP_LV },
+{ 0xCB48, GBP_LVT },
+{ 0xCB49, GBP_LV },
+{ 0xCB64, GBP_LVT },
+{ 0xCB65, GBP_LV },
+{ 0xCB80, GBP_LVT },
+{ 0xCB81, GBP_LV },
+{ 0xCB9C, GBP_LVT },
+{ 0xCB9D, GBP_LV },
+{ 0xCBB8, GBP_LVT },
+{ 0xCBB9, GBP_LV },
+{ 0xCBD4, GBP_LVT },
+{ 0xCBD5, GBP_LV },
+{ 0xCBF0, GBP_LVT },
+{ 0xCBF1, GBP_LV },
+{ 0xCC0C, GBP_LVT },
+{ 0xCC0D, GBP_LV },
+{ 0xCC28, GBP_LVT },
+{ 0xCC29, GBP_LV },
+{ 0xCC44, GBP_LVT },
+{ 0xCC45, GBP_LV },
+{ 0xCC60, GBP_LVT },
+{ 0xCC61, GBP_LV },
+{ 0xCC7C, GBP_LVT },
+{ 0xCC7D, GBP_LV },
+{ 0xCC98, GBP_LVT },
+{ 0xCC99, GBP_LV },
+{ 0xCCB4, GBP_LVT },
+{ 0xCCB5, GBP_LV },
+{ 0xCCD0, GBP_LVT },
+{ 0xCCD1, GBP_LV },
+{ 0xCCEC, GBP_LVT },
+{ 0xCCED, GBP_LV },
+{ 0xCD08, GBP_LVT },
+{ 0xCD09, GBP_LV },
+{ 0xCD24, GBP_LVT },
+{ 0xCD25, GBP_LV },
+{ 0xCD40, GBP_LVT },
+{ 0xCD41, GBP_LV },
+{ 0xCD5C, GBP_LVT },
+{ 0xCD5D, GBP_LV },
+{ 0xCD78, GBP_LVT },
+{ 0xCD79, GBP_LV },
+{ 0xCD94, GBP_LVT },
+{ 0xCD95, GBP_LV },
+{ 0xCDB0, GBP_LVT },
+{ 0xCDB1, GBP_LV },
+{ 0xCDCC, GBP_LVT },
+{ 0xCDCD, GBP_LV },
+{ 0xCDE8, GBP_LVT },
+{ 0xCDE9, GBP_LV },
+{ 0xCE04, GBP_LVT },
+{ 0xCE05, GBP_LV },
+{ 0xCE20, GBP_LVT },
+{ 0xCE21, GBP_LV },
+{ 0xCE3C, GBP_LVT },
+{ 0xCE3D, GBP_LV },
+{ 0xCE58, GBP_LVT },
+{ 0xCE59, GBP_LV },
+{ 0xCE74, GBP_LVT },
+{ 0xCE75, GBP_LV },
+{ 0xCE90, GBP_LVT },
+{ 0xCE91, GBP_LV },
+{ 0xCEAC, GBP_LVT },
+{ 0xCEAD, GBP_LV },
+{ 0xCEC8, GBP_LVT },
+{ 0xCEC9, GBP_LV },
+{ 0xCEE4, GBP_LVT },
+{ 0xCEE5, GBP_LV },
+{ 0xCF00, GBP_LVT },
+{ 0xCF01, GBP_LV },
+{ 0xCF1C, GBP_LVT },
+{ 0xCF1D, GBP_LV },
+{ 0xCF38, GBP_LVT },
+{ 0xCF39, GBP_LV },
+{ 0xCF54, GBP_LVT },
+{ 0xCF55, GBP_LV },
+{ 0xCF70, GBP_LVT },
+{ 0xCF71, GBP_LV },
+{ 0xCF8C, GBP_LVT },
+{ 0xCF8D, GBP_LV },
+{ 0xCFA8, GBP_LVT },
+{ 0xCFA9, GBP_LV },
+{ 0xCFC4, GBP_LVT },
+{ 0xCFC5, GBP_LV },
+{ 0xCFE0, GBP_LVT },
+{ 0xCFE1, GBP_LV },
+{ 0xCFFC, GBP_LVT },
+{ 0xCFFD, GBP_LV },
+{ 0xD018, GBP_LVT },
+{ 0xD019, GBP_LV },
+{ 0xD034, GBP_LVT },
+{ 0xD035, GBP_LV },
+{ 0xD050, GBP_LVT },
+{ 0xD051, GBP_LV },
+{ 0xD06C, GBP_LVT },
+{ 0xD06D, GBP_LV },
+{ 0xD088, GBP_LVT },
+{ 0xD089, GBP_LV },
+{ 0xD0A4, GBP_LVT },
+{ 0xD0A5, GBP_LV },
+{ 0xD0C0, GBP_LVT },
+{ 0xD0C1, GBP_LV },
+{ 0xD0DC, GBP_LVT },
+{ 0xD0DD, GBP_LV },
+{ 0xD0F8, GBP_LVT },
+{ 0xD0F9, GBP_LV },
+{ 0xD114, GBP_LVT },
+{ 0xD115, GBP_LV },
+{ 0xD130, GBP_LVT },
+{ 0xD131, GBP_LV },
+{ 0xD14C, GBP_LVT },
+{ 0xD14D, GBP_LV },
+{ 0xD168, GBP_LVT },
+{ 0xD169, GBP_LV },
+{ 0xD184, GBP_LVT },
+{ 0xD185, GBP_LV },
+{ 0xD1A0, GBP_LVT },
+{ 0xD1A1, GBP_LV },
+{ 0xD1BC, GBP_LVT },
+{ 0xD1BD, GBP_LV },
+{ 0xD1D8, GBP_LVT },
+{ 0xD1D9, GBP_LV },
+{ 0xD1F4, GBP_LVT },
+{ 0xD1F5, GBP_LV },
+{ 0xD210, GBP_LVT },
+{ 0xD211, GBP_LV },
+{ 0xD22C, GBP_LVT },
+{ 0xD22D, GBP_LV },
+{ 0xD248, GBP_LVT },
+{ 0xD249, GBP_LV },
+{ 0xD264, GBP_LVT },
+{ 0xD265, GBP_LV },
+{ 0xD280, GBP_LVT },
+{ 0xD281, GBP_LV },
+{ 0xD29C, GBP_LVT },
+{ 0xD29D, GBP_LV },
+{ 0xD2B8, GBP_LVT },
+{ 0xD2B9, GBP_LV },
+{ 0xD2D4, GBP_LVT },
+{ 0xD2D5, GBP_LV },
+{ 0xD2F0, GBP_LVT },
+{ 0xD2F1, GBP_LV },
+{ 0xD30C, GBP_LVT },
+{ 0xD30D, GBP_LV },
+{ 0xD328, GBP_LVT },
+{ 0xD329, GBP_LV },
+{ 0xD344, GBP_LVT },
+{ 0xD345, GBP_LV },
+{ 0xD360, GBP_LVT },
+{ 0xD361, GBP_LV },
+{ 0xD37C, GBP_LVT },
+{ 0xD37D, GBP_LV },
+{ 0xD398, GBP_LVT },
+{ 0xD399, GBP_LV },
+{ 0xD3B4, GBP_LVT },
+{ 0xD3B5, GBP_LV },
+{ 0xD3D0, GBP_LVT },
+{ 0xD3D1, GBP_LV },
+{ 0xD3EC, GBP_LVT },
+{ 0xD3ED, GBP_LV },
+{ 0xD408, GBP_LVT },
+{ 0xD409, GBP_LV },
+{ 0xD424, GBP_LVT },
+{ 0xD425, GBP_LV },
+{ 0xD440, GBP_LVT },
+{ 0xD441, GBP_LV },
+{ 0xD45C, GBP_LVT },
+{ 0xD45D, GBP_LV },
+{ 0xD478, GBP_LVT },
+{ 0xD479, GBP_LV },
+{ 0xD494, GBP_LVT },
+{ 0xD495, GBP_LV },
+{ 0xD4B0, GBP_LVT },
+{ 0xD4B1, GBP_LV },
+{ 0xD4CC, GBP_LVT },
+{ 0xD4CD, GBP_LV },
+{ 0xD4E8, GBP_LVT },
+{ 0xD4E9, GBP_LV },
+{ 0xD504, GBP_LVT },
+{ 0xD505, GBP_LV },
+{ 0xD520, GBP_LVT },
+{ 0xD521, GBP_LV },
+{ 0xD53C, GBP_LVT },
+{ 0xD53D, GBP_LV },
+{ 0xD558, GBP_LVT },
+{ 0xD559, GBP_LV },
+{ 0xD574, GBP_LVT },
+{ 0xD575, GBP_LV },
+{ 0xD590, GBP_LVT },
+{ 0xD591, GBP_LV },
+{ 0xD5AC, GBP_LVT },
+{ 0xD5AD, GBP_LV },
+{ 0xD5C8, GBP_LVT },
+{ 0xD5C9, GBP_LV },
+{ 0xD5E4, GBP_LVT },
+{ 0xD5E5, GBP_LV },
+{ 0xD600, GBP_LVT },
+{ 0xD601, GBP_LV },
+{ 0xD61C, GBP_LVT },
+{ 0xD61D, GBP_LV },
+{ 0xD638, GBP_LVT },
+{ 0xD639, GBP_LV },
+{ 0xD654, GBP_LVT },
+{ 0xD655, GBP_LV },
+{ 0xD670, GBP_LVT },
+{ 0xD671, GBP_LV },
+{ 0xD68C, GBP_LVT },
+{ 0xD68D, GBP_LV },
+{ 0xD6A8, GBP_LVT },
+{ 0xD6A9, GBP_LV },
+{ 0xD6C4, GBP_LVT },
+{ 0xD6C5, GBP_LV },
+{ 0xD6E0, GBP_LVT },
+{ 0xD6E1, GBP_LV },
+{ 0xD6FC, GBP_LVT },
+{ 0xD6FD, GBP_LV },
+{ 0xD718, GBP_LVT },
+{ 0xD719, GBP_LV },
+{ 0xD734, GBP_LVT },
+{ 0xD735, GBP_LV },
+{ 0xD750, GBP_LVT },
+{ 0xD751, GBP_LV },
+{ 0xD76C, GBP_LVT },
+{ 0xD76D, GBP_LV },
+{ 0xD788, GBP_LVT },
+{ 0xD789, GBP_LV },
+{ 0xD7A4, GBP_LVT },
+{ 0xFB1E, GBP_OTHER },
+{ 0xFB1F, GBP_EXTEND },
+{ 0xFE00, GBP_OTHER },
+{ 0xFE10, GBP_EXTEND },
+{ 0xFE20, GBP_OTHER },
+{ 0xFE27, GBP_EXTEND },
+{ 0xFEFF, GBP_OTHER },
+{ 0xFF00, GBP_CONTROL },
+{ 0xFF9E, GBP_OTHER },
+{ 0xFFA0, GBP_EXTEND },
+{ 0xFFF9, GBP_OTHER },
+{ 0xFFFC, GBP_CONTROL },
+{ 0x101FD, GBP_OTHER },
+{ 0x101FE, GBP_EXTEND },
+{ 0x10A01, GBP_OTHER },
+{ 0x10A04, GBP_EXTEND },
+{ 0x10A05, GBP_OTHER },
+{ 0x10A07, GBP_EXTEND },
+{ 0x10A0C, GBP_OTHER },
+{ 0x10A10, GBP_EXTEND },
+{ 0x10A38, GBP_OTHER },
+{ 0x10A3B, GBP_EXTEND },
+{ 0x10A3F, GBP_OTHER },
+{ 0x10A40, GBP_EXTEND },
+{ 0x1D165, GBP_OTHER },
+{ 0x1D166, GBP_EXTEND },
+{ 0x1D167, GBP_SPACINGMARK },
+{ 0x1D16A, GBP_EXTEND },
+{ 0x1D16D, GBP_OTHER },
+{ 0x1D16E, GBP_SPACINGMARK },
+{ 0x1D173, GBP_EXTEND },
+{ 0x1D17B, GBP_CONTROL },
+{ 0x1D183, GBP_EXTEND },
+{ 0x1D185, GBP_OTHER },
+{ 0x1D18C, GBP_EXTEND },
+{ 0x1D1AA, GBP_OTHER },
+{ 0x1D1AE, GBP_EXTEND },
+{ 0x1D242, GBP_OTHER },
+{ 0x1D245, GBP_EXTEND },
+{ 0xE0001, GBP_OTHER },
+{ 0xE0002, GBP_CONTROL },
+{ 0xE0020, GBP_OTHER },
+{ 0xE0080, GBP_CONTROL },
+{ 0xE0100, GBP_OTHER },
+{ 0xE01F0, GBP_EXTEND },
+{ 0x110000, GBP_OTHER }
--
1.7.1
- [unigbrk 1/2] unigbrk: Fix uc_graphemeclusterbreak_property(), add comprehensive test.,
Ben Pfaff <=