summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
Diffstat (limited to 'strings')
-rw-r--r--strings/CMakeLists.txt5
-rw-r--r--strings/ctype-big5.c169
-rw-r--r--strings/ctype-bin.c14
-rw-r--r--strings/ctype-cp932.c194
-rw-r--r--strings/ctype-czech.c3
-rw-r--r--strings/ctype-euc_kr.c93
-rw-r--r--strings/ctype-eucjpms.c130
-rw-r--r--strings/ctype-gb2312.c91
-rw-r--r--strings/ctype-gbk.c168
-rw-r--r--strings/ctype-latin1.c8
-rw-r--r--strings/ctype-mb.c132
-rw-r--r--strings/ctype-mb.ic324
-rw-r--r--strings/ctype-simple.c73
-rw-r--r--strings/ctype-sjis.c191
-rw-r--r--strings/ctype-tis620.c19
-rw-r--r--strings/ctype-uca.c11938
-rw-r--r--strings/ctype-ucs2.c1071
-rw-r--r--strings/ctype-ujis.c132
-rw-r--r--strings/ctype-utf8.c845
-rw-r--r--strings/ctype-win1250ch.c3
-rw-r--r--strings/ctype.c101
-rw-r--r--strings/my_vsnprintf.c8
-rw-r--r--strings/str_alloc.c41
-rw-r--r--strings/strcoll.ic275
-rw-r--r--strings/strings_def.h2
-rw-r--r--strings/strmov.c1
-rw-r--r--strings/strmov_overlapp.c2
-rw-r--r--strings/uca-dump.c43
-rw-r--r--strings/xml.c9
29 files changed, 13863 insertions, 2222 deletions
diff --git a/strings/CMakeLists.txt b/strings/CMakeLists.txt
index 32a3f06c861..2a7f0b71cc8 100644
--- a/strings/CMakeLists.txt
+++ b/strings/CMakeLists.txt
@@ -20,7 +20,7 @@ SET(STRINGS_SOURCES bchange.c bmove_upp.c ctype-big5.c ctype-bin.c ctype-cp932.c
ctype-latin1.c ctype-mb.c ctype-simple.c ctype-sjis.c ctype-tis620.c ctype-uca.c
ctype-ucs2.c ctype-ujis.c ctype-utf8.c ctype-win1250ch.c ctype.c decimal.c dtoa.c int2str.c
is_prefix.c llstr.c longlong2str.c my_strtoll10.c my_vsnprintf.c
- str2int.c str_alloc.c strcend.c strend.c strfill.c strmake.c strmov.c strnmov.c
+ str2int.c strcend.c strend.c strfill.c strmake.c strmov.c strnmov.c
strxmov.c strxnmov.c xml.c
strmov_overlapp.c
my_strchr.c strcont.c strappend.c)
@@ -34,4 +34,5 @@ ADD_DEFINITIONS(-DDISABLE_MYSQL_THREAD_H)
ADD_CONVENIENCE_LIBRARY(strings ${STRINGS_SOURCES})
ADD_EXECUTABLE(conf_to_src EXCLUDE_FROM_ALL conf_to_src.c)
-TARGET_LINK_LIBRARIES(conf_to_src strings)
+SET_TARGET_PROPERTIES(conf_to_src PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE)
+TARGET_LINK_LIBRARIES(conf_to_src mysys strings)
diff --git a/strings/ctype-big5.c b/strings/ctype-big5.c
index 38bdf86c64a..d6a9695afbf 100644
--- a/strings/ctype-big5.c
+++ b/strings/ctype-big5.c
@@ -34,6 +34,7 @@
/*
Support for Chinese(BIG5) characters, by jou@nematic.ieo.nctu.edu.tw
+ CP950 and HKSCS additional characters are also accepted.
modified by Wei He (hewei@mail.ied.ac.cn)
modified by Alex Barkov <bar@udm.net>
*/
@@ -47,6 +48,13 @@
#define big5head(e) ((uchar)(e>>8))
#define big5tail(e) ((uchar)(e&0xff))
+#define MY_FUNCTION_NAME(x) my_ ## x ## _big5
+#define IS_MB1_CHAR(x) ((uchar) (x) < 0x80)
+#define IS_MB2_CHAR(x,y) (isbig5head(x) && isbig5tail(y))
+#define DEFINE_ASIAN_ROUTINES
+#include "ctype-mb.ic"
+
+
static const uchar ctype_big5[257] =
{
0, /* For standard library */
@@ -842,89 +850,6 @@ static uint16 big5strokexfrm(uint16 i)
}
-
-static int my_strnncoll_big5_internal(const uchar **a_res,
- const uchar **b_res, size_t length)
-{
- const uchar *a= *a_res, *b= *b_res;
-
- while (length--)
- {
- if ((length > 0) && isbig5code(*a,*(a+1)) && isbig5code(*b, *(b+1)))
- {
- if (*a != *b || *(a+1) != *(b+1))
- return ((int) big5code(*a,*(a+1)) -
- (int) big5code(*b,*(b+1)));
- a+= 2;
- b+= 2;
- length--;
- }
- else if (sort_order_big5[*a++] !=
- sort_order_big5[*b++])
- return ((int) sort_order_big5[a[-1]] -
- (int) sort_order_big5[b[-1]]);
- }
- *a_res= a;
- *b_res= b;
- return 0;
-}
-
-
-/* Compare strings */
-
-static int my_strnncoll_big5(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *a, size_t a_length,
- const uchar *b, size_t b_length,
- my_bool b_is_prefix)
-{
- size_t length= MY_MIN(a_length, b_length);
- int res= my_strnncoll_big5_internal(&a, &b, length);
- return res ? res : (int)((b_is_prefix ? length : a_length) - b_length);
-}
-
-
-/* compare strings, ignore end space */
-
-static int my_strnncollsp_big5(CHARSET_INFO * cs __attribute__((unused)),
- const uchar *a, size_t a_length,
- const uchar *b, size_t b_length,
- my_bool diff_if_only_endspace_difference)
-{
- size_t length= MY_MIN(a_length, b_length);
- int res= my_strnncoll_big5_internal(&a, &b, length);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= 0;
-#endif
-
- if (!res && a_length != b_length)
- {
- const uchar *end;
- int swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 'a' is bigger */
- /*
- Check the next not space character of the longer key. If it's < ' ',
- then it's smaller than the other key.
- */
- if (a_length < b_length)
- {
- /* put longer key in a */
- a_length= b_length;
- a= b;
- swap= -1; /* swap sign of result */
- res= -res;
- }
- for (end= a + a_length-length; a < end ; a++)
- {
- if (*a != ' ')
- return (*a < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
static size_t
my_strnxfrm_big5(CHARSET_INFO *cs,
uchar *dst, size_t dstlen, uint nweights,
@@ -6836,6 +6761,9 @@ my_mb_wc_big5(CHARSET_INFO *cs __attribute__((unused)),
if (s+2>e)
return MY_CS_TOOSMALL2;
+ if (!IS_MB2_CHAR(hi, s[1]))
+ return MY_CS_ILSEQ;
+
if (!(pwc[0]=func_big5_uni_onechar((hi<<8)+s[1])))
return -2;
@@ -6843,47 +6771,23 @@ my_mb_wc_big5(CHARSET_INFO *cs __attribute__((unused)),
}
-/*
- Returns a well formed length of a BIG5 string.
- CP950 and HKSCS additional characters are also accepted.
-*/
-static
-size_t my_well_formed_len_big5(CHARSET_INFO *cs __attribute__((unused)),
- const char *b, const char *e,
- size_t pos, int *error)
-{
- const char *b0= b;
- const char *emb= e - 1; /* Last possible end of an MB character */
+#define MY_FUNCTION_NAME(x) my_ ## x ## _big5_chinese_ci
+#define WEIGHT_MB1(x) (sort_order_big5[(uchar) (x)])
+#define WEIGHT_MB2(x,y) (big5code(x, y))
+#include "strcoll.ic"
- *error= 0;
- while (pos-- && b < e)
- {
- if ((uchar) b[0] < 128)
- {
- /* Single byte ascii character */
- b++;
- }
- else if ((b < emb) && isbig5code((uchar)*b, (uchar)b[1]))
- {
- /* Double byte character */
- b+= 2;
- }
- else
- {
- /* Wrong byte sequence */
- *error= 1;
- break;
- }
- }
- return (size_t) (b - b0);
-}
+#define MY_FUNCTION_NAME(x) my_ ## x ## _big5_bin
+#define WEIGHT_MB1(x) ((uchar) (x))
+#define WEIGHT_MB2(x,y) (big5code(x, y))
+#include "strcoll.ic"
-static MY_COLLATION_HANDLER my_collation_big5_chinese_ci_handler =
+
+static MY_COLLATION_HANDLER my_collation_handler_big5_chinese_ci=
{
NULL, /* init */
- my_strnncoll_big5,
- my_strnncollsp_big5,
+ my_strnncoll_big5_chinese_ci,
+ my_strnncollsp_big5_chinese_ci,
my_strnxfrm_big5,
my_strnxfrmlen_simple,
my_like_range_mb,
@@ -6894,6 +6798,23 @@ static MY_COLLATION_HANDLER my_collation_big5_chinese_ci_handler =
my_propagate_simple
};
+
+static MY_COLLATION_HANDLER my_collation_handler_big5_bin=
+{
+ NULL, /* init */
+ my_strnncoll_big5_bin,
+ my_strnncollsp_big5_bin,
+ my_strnxfrm_mb,
+ my_strnxfrmlen_simple,
+ my_like_range_mb,
+ my_wildcmp_mb_bin,
+ my_strcasecmp_mb_bin,
+ my_instr_mb,
+ my_hash_sort_mb_bin,
+ my_propagate_simple
+};
+
+
static MY_CHARSET_HANDLER my_charset_big5_handler=
{
NULL, /* init */
@@ -6922,7 +6843,11 @@ static MY_CHARSET_HANDLER my_charset_big5_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_big5,
+ my_well_formed_char_length_big5,
+ my_copy_fix_mb,
+ my_native_to_mb_big5,
};
struct charset_info_st my_charset_big5_chinese_ci=
@@ -6954,7 +6879,7 @@ struct charset_info_st my_charset_big5_chinese_ci=
1, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_big5_handler,
- &my_collation_big5_chinese_ci_handler
+ &my_collation_handler_big5_chinese_ci
};
@@ -6987,7 +6912,7 @@ struct charset_info_st my_charset_big5_bin=
1, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_big5_handler,
- &my_collation_mb_bin_handler
+ &my_collation_handler_big5_bin
};
diff --git a/strings/ctype-bin.c b/strings/ctype-bin.c
index 53a0e850b54..dfeb77d8d6b 100644
--- a/strings/ctype-bin.c
+++ b/strings/ctype-bin.c
@@ -256,10 +256,8 @@ static int my_mb_wc_bin(CHARSET_INFO *cs __attribute__((unused)),
}
-static int my_wc_mb_bin(CHARSET_INFO *cs __attribute__((unused)),
- my_wc_t wc,
- uchar *s,
- uchar *e __attribute__((unused)))
+int my_wc_mb_bin(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t wc, uchar *s, uchar *e)
{
if (s >= e)
return MY_CS_TOOSMALL;
@@ -548,14 +546,18 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_8bit,
+ my_well_formed_char_length_8bit,
+ my_copy_8bit,
+ my_wc_mb_bin,
};
struct charset_info_st my_charset_bin =
{
63,0,0, /* number */
- MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_PRIMARY,/* state */
+ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_PRIMARY|MY_CS_NOPAD,/* state */
"binary", /* cs name */
"binary", /* name */
"", /* comment */
diff --git a/strings/ctype-cp932.c b/strings/ctype-cp932.c
index b3d08c5a54c..9bf206f1de7 100644
--- a/strings/ctype-cp932.c
+++ b/strings/ctype-cp932.c
@@ -176,10 +176,19 @@ static const uchar sort_order_cp932[]=
(uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375',(uchar) '\376',(uchar) '\377'
};
-#define iscp932head(c) ((0x81<=(c) && (c)<=0x9f) || \
- ((0xe0<=(c)) && (c)<=0xfc))
-#define iscp932tail(c) ((0x40<=(c) && (c)<=0x7e) || \
- (0x80<=(c) && (c)<=0xfc))
+#define iscp932head(c) ((0x81 <= (uchar) (c) && (uchar) (c) <= 0x9f) || \
+ (0xe0 <= (uchar) (c) && (uchar) (c) <= 0xfc))
+#define iscp932tail(c) ((0x40 <= (uchar) (c) && (uchar) (c) <= 0x7e) || \
+ (0x80 <= (uchar) (c) && (uchar) (c) <= 0xfc))
+
+#define iscp932kata(c) (0xA1 <= (uchar) (c) && (uchar) (c) <= 0xDF)
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _cp932
+#define IS_8BIT_CHAR(x) iscp932kata(x)
+#define IS_MB1_CHAR(x) ((uchar) (x) < 0x80 || iscp932kata(x))
+#define IS_MB2_CHAR(x,y) (iscp932head(x) && iscp932tail(y))
+#define DEFINE_ASIAN_ROUTINES
+#include "ctype-mb.ic"
static uint ismbchar_cp932(CHARSET_INFO *cs __attribute__((unused)),
@@ -1709,90 +1718,6 @@ MY_UNICASE_INFO my_caseinfo_cp932=
my_caseinfo_pages_cp932
};
-static int my_strnncoll_cp932_internal(const CHARSET_INFO *cs,
- const uchar **a_res, size_t a_length,
- const uchar **b_res, size_t b_length)
-{
- const uchar *a= *a_res, *b= *b_res;
- const uchar *a_end= a + a_length;
- const uchar *b_end= b + b_length;
- while (a < a_end && b < b_end)
- {
- if (ismbchar_cp932(cs,(char*) a, (char*) a_end) &&
- ismbchar_cp932(cs,(char*) b, (char*) b_end))
- {
- uint a_char= cp932code(*a, *(a+1));
- uint b_char= cp932code(*b, *(b+1));
- if (a_char != b_char)
- return a_char - b_char;
- a += 2;
- b += 2;
- } else
- {
- if (sort_order_cp932[(uchar)*a] != sort_order_cp932[(uchar)*b])
- return sort_order_cp932[(uchar)*a] - sort_order_cp932[(uchar)*b];
- a++;
- b++;
- }
- }
- *a_res= a;
- *b_res= b;
- return 0;
-}
-
-
-static int my_strnncoll_cp932(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *a, size_t a_length,
- const uchar *b, size_t b_length,
- my_bool b_is_prefix)
-{
- int res= my_strnncoll_cp932_internal(cs, &a, a_length, &b, b_length);
- if (b_is_prefix && a_length > b_length)
- a_length= b_length;
- return res ? res : (int) (a_length - b_length);
-}
-
-
-static int my_strnncollsp_cp932(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *a, size_t a_length,
- const uchar *b, size_t b_length,
- my_bool diff_if_only_endspace_difference
- __attribute__((unused)))
-{
- const uchar *a_end= a + a_length;
- const uchar *b_end= b + b_length;
- int res= my_strnncoll_cp932_internal(cs, &a, a_length, &b, b_length);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= 0;
-#endif
-
- if (!res && (a != a_end || b != b_end))
- {
- int swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 'a' is bigger */
- /*
- Check the next not space character of the longer key. If it's < ' ',
- then it's smaller than the other key.
- */
- if (a == a_end)
- {
- /* put shorter key in a */
- a_end= b_end;
- a= b;
- swap= -1; /* swap sign of result */
- res= -res;
- }
- for (; a < a_end ; a++)
- {
- if (*a != (uchar) ' ')
- return (*a < (uchar) ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
static const uint16 cp932_to_unicode[65536]=
{
@@ -34711,60 +34636,37 @@ size_t my_numcells_cp932(CHARSET_INFO *cs __attribute__((unused)),
return clen;
}
+
/*
- Returns a well formed length of a cp932 string.
- cp932 additional characters are also accepted.
+ cp932_chinese_ci and cp932_bin sort character blocks in this order:
+ 1. [00..7F] - 7BIT characters (ASCII)
+ 2. [81..9F][40..7E,80..FC] - MB2 characters, part1
+ 3. [A1..DF] - 8BIT characters (Kana)
+ 4. [E0..FC][40..7E,80..FC] - MB2 characters, part2
*/
+#define MY_FUNCTION_NAME(x) my_ ## x ## _cp932_japanese_ci
+#define WEIGHT_PAD_SPACE (256 * (int) ' ')
+#define WEIGHT_MB1(x) (256 * (int) sort_order_cp932[(uchar) (x)])
+#define WEIGHT_MB2(x,y) (cp932code(x, y))
+#include "strcoll.ic"
-static
-size_t my_well_formed_len_cp932(CHARSET_INFO *cs __attribute__((unused)),
- const char *b, const char *e,
- size_t pos, int *error)
-{
- const char *b0= b;
- *error= 0;
- while (pos-- && b < e)
- {
- /*
- Cast to int8 for extra safety.
- "char" can be unsigned by default
- on some platforms.
- */
- if (((int8)b[0]) >= 0)
- {
- /* Single byte ascii character */
- b++;
- }
- else if (iscp932head((uchar)*b) && (e-b)>1 && iscp932tail((uchar)b[1]))
- {
- /* Double byte character */
- b+= 2;
- }
- else if (((uchar)*b) >= 0xA1 && ((uchar)*b) <= 0xDF)
- {
- /* Half width kana */
- b++;
- }
- else
- {
- /* Wrong byte sequence */
- *error= 1;
- break;
- }
- }
- return (size_t) (b - b0);
-}
+#define MY_FUNCTION_NAME(x) my_ ## x ## _cp932_bin
+#define WEIGHT_PAD_SPACE (256 * (int) ' ')
+#define WEIGHT_MB1(x) (256 * (int) (uchar) (x))
+#define WEIGHT_MB2(x,y) (cp932code(x, y))
+#include "strcoll.ic"
-static MY_COLLATION_HANDLER my_collation_ci_handler =
+
+static MY_COLLATION_HANDLER my_collation_handler_cp932_japanese_ci=
{
- NULL, /* init */
- my_strnncoll_cp932,
- my_strnncollsp_cp932,
+ NULL, /* init */
+ my_strnncoll_cp932_japanese_ci,
+ my_strnncollsp_cp932_japanese_ci,
my_strnxfrm_mb,
my_strnxfrmlen_simple,
my_like_range_mb,
- my_wildcmp_mb, /* wildcmp */
+ my_wildcmp_mb,
my_strcasecmp_8bit,
my_instr_mb,
my_hash_sort_simple,
@@ -34772,6 +34674,22 @@ static MY_COLLATION_HANDLER my_collation_ci_handler =
};
+static MY_COLLATION_HANDLER my_collation_handler_cp932_bin=
+{
+ NULL, /* init */
+ my_strnncoll_cp932_bin,
+ my_strnncollsp_cp932_bin,
+ my_strnxfrm_mb,
+ my_strnxfrmlen_simple,
+ my_like_range_mb,
+ my_wildcmp_mb_bin,
+ my_strcasecmp_mb_bin,
+ my_instr_mb,
+ my_hash_sort_mb_bin,
+ my_propagate_simple
+};
+
+
static MY_CHARSET_HANDLER my_charset_handler=
{
NULL, /* init */
@@ -34800,7 +34718,11 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_cp932,
+ my_well_formed_char_length_cp932,
+ my_copy_fix_mb,
+ my_native_to_mb_cp932,
};
@@ -34833,7 +34755,7 @@ struct charset_info_st my_charset_cp932_japanese_ci=
1, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_ci_handler
+ &my_collation_handler_cp932_japanese_ci
};
struct charset_info_st my_charset_cp932_bin=
@@ -34865,7 +34787,7 @@ struct charset_info_st my_charset_cp932_bin=
1, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_mb_bin_handler
+ &my_collation_handler_cp932_bin
};
#endif
diff --git a/strings/ctype-czech.c b/strings/ctype-czech.c
index 6603bc7d3e5..e3abebad91d 100644
--- a/strings/ctype-czech.c
+++ b/strings/ctype-czech.c
@@ -625,7 +625,8 @@ static MY_COLLATION_HANDLER my_collation_latin2_czech_ci_handler =
struct charset_info_st my_charset_latin2_czech_ci =
{
2,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_CSSORT|MY_CS_STRNXFRM_BAD_NWEIGHTS, /* state */
+ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_CSSORT|
+ MY_CS_STRNXFRM_BAD_NWEIGHTS|MY_CS_NON1TO1, /* state */
"latin2", /* cs name */
"latin2_czech_cs", /* name */
"", /* comment */
diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c
index f35c3f07c79..38cfa429d88 100644
--- a/strings/ctype-euc_kr.c
+++ b/strings/ctype-euc_kr.c
@@ -201,6 +201,14 @@ static const uchar sort_order_euc_kr[]=
iseuc_kr_tail2(c) || \
iseuc_kr_tail3(c))
+#define euckrcode(c,d) (((uchar)(c) <<8) | (uchar)(d))
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _euckr
+#define IS_MB1_CHAR(x) ((uchar) (x) < 0x80)
+#define IS_MB2_CHAR(x,y) (iseuc_kr_head(x) && iseuc_kr_tail(y))
+#define DEFINE_ASIAN_ROUTINES
+#include "ctype-mb.ic"
+
static uint ismbchar_euc_kr(CHARSET_INFO *cs __attribute__((unused)),
const char* p, const char *e)
@@ -9922,6 +9930,9 @@ my_mb_wc_euc_kr(CHARSET_INFO *cs __attribute__((unused)),
if (s+2>e)
return MY_CS_TOOSMALL2;
+ if (!IS_MB2_CHAR(hi, s[1]))
+ return MY_CS_ILSEQ;
+
if (!(pwc[0]=func_ksc5601_uni_onechar((hi<<8)+s[1])))
return -2;
@@ -9929,56 +9940,50 @@ my_mb_wc_euc_kr(CHARSET_INFO *cs __attribute__((unused)),
}
-/*
- Returns well formed length of a EUC-KR string.
-*/
-static size_t
-my_well_formed_len_euckr(CHARSET_INFO *cs __attribute__((unused)),
- const char *b, const char *e,
- size_t pos, int *error)
-{
- const char *b0= b;
- const char *emb= e - 1; /* Last possible end of an MB character */
+#define MY_FUNCTION_NAME(x) my_ ## x ## _euckr_korean_ci
+#define WEIGHT_MB1(x) (sort_order_euc_kr[(uchar) (x)])
+#define WEIGHT_MB2(x,y) (euckrcode(x, y))
+#include "strcoll.ic"
- *error= 0;
- while (pos-- && b < e)
- {
- if ((uchar) b[0] < 128)
- {
- /* Single byte ascii character */
- b++;
- }
- else if (b < emb && iseuc_kr_head(*b) && iseuc_kr_tail(b[1]))
- {
- /* Double byte character */
- b+= 2;
- }
- else
- {
- /* Wrong byte sequence */
- *error= 1;
- break;
- }
- }
- return (size_t) (b - b0);
-}
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _euckr_bin
+#define WEIGHT_MB1(x) ((uchar) (x))
+#define WEIGHT_MB2(x,y) (euckrcode(x, y))
+#include "strcoll.ic"
-static MY_COLLATION_HANDLER my_collation_ci_handler =
+static MY_COLLATION_HANDLER my_collation_handler_euckr_korean_ci=
{
- NULL, /* init */
- my_strnncoll_simple, /* strnncoll */
- my_strnncollsp_simple,
- my_strnxfrm_mb, /* strnxfrm */
+ NULL, /* init */
+ my_strnncoll_euckr_korean_ci,
+ my_strnncollsp_euckr_korean_ci,
+ my_strnxfrm_mb,
my_strnxfrmlen_simple,
- my_like_range_mb, /* like_range */
- my_wildcmp_mb, /* wildcmp */
+ my_like_range_mb,
+ my_wildcmp_mb,
my_strcasecmp_mb,
my_instr_mb,
my_hash_sort_simple,
my_propagate_simple
};
+
+static MY_COLLATION_HANDLER my_collation_handler_euckr_bin=
+{
+ NULL, /* init */
+ my_strnncoll_euckr_bin,
+ my_strnncollsp_euckr_bin,
+ my_strnxfrm_mb,
+ my_strnxfrmlen_simple,
+ my_like_range_mb,
+ my_wildcmp_mb_bin,
+ my_strcasecmp_mb_bin,
+ my_instr_mb,
+ my_hash_sort_mb_bin,
+ my_propagate_simple
+};
+
+
static MY_CHARSET_HANDLER my_charset_handler=
{
NULL, /* init */
@@ -10007,7 +10012,11 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_euckr,
+ my_well_formed_char_length_euckr,
+ my_copy_fix_mb,
+ my_native_to_mb_euckr,
};
@@ -10040,7 +10049,7 @@ struct charset_info_st my_charset_euckr_korean_ci=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_ci_handler
+ &my_collation_handler_euckr_korean_ci
};
@@ -10073,7 +10082,7 @@ struct charset_info_st my_charset_euckr_bin=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_mb_bin_handler
+ &my_collation_handler_euckr_bin
};
#endif
diff --git a/strings/ctype-eucjpms.c b/strings/ctype-eucjpms.c
index 0ce179b3a2d..82c4bb5a4e8 100644
--- a/strings/ctype-eucjpms.c
+++ b/strings/ctype-eucjpms.c
@@ -180,10 +180,44 @@ static const uchar sort_order_eucjpms[]=
};
-#define iseucjpms(c) ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xfe))
-#define iskata(c) ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xdf))
-#define iseucjpms_ss2(c) (((c)&0xff) == 0x8e)
-#define iseucjpms_ss3(c) (((c)&0xff) == 0x8f)
+/*
+ EUCJPMS encoding subcomponents:
+ [x00-x7F] # ASCII/JIS-Roman (one-byte/character)
+ [x8E][xA1-xDF] # half-width katakana (two bytes/char)
+ [x8F][xA1-xFE][xA1-xFE] # JIS X 0212-1990 (three bytes/char)
+ [xA1-xFE][xA1-xFE] # JIS X 0208:1997 (two bytes/char)
+*/
+#define iseucjpms(c) (0xa1 <= (uchar) (c) && (uchar) (c) <= 0xfe)
+#define iskata(c) (0xa1 <= (uchar) (c) && (uchar) (c) <= 0xdf)
+#define iseucjpms_ss2(c) ((uchar) (c) == 0x8e)
+#define iseucjpms_ss3(c) ((uchar) (c) == 0x8f)
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _eucjpms
+#define IS_MB1_CHAR(x) ((uchar) (x) < 0x80)
+#define IS_MB2_JIS(x,y) (iseucjpms(x) && iseucjpms(y))
+#define IS_MB2_KATA(x,y) (iseucjpms_ss2(x) && iskata(y))
+#define IS_MB2_CHAR(x,y) (IS_MB2_KATA(x,y) || IS_MB2_JIS(x,y))
+#define IS_MB3_CHAR(x,y,z) (iseucjpms_ss3(x) && IS_MB2_JIS(y,z))
+#define DEFINE_ASIAN_ROUTINES
+#include "ctype-mb.ic"
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _eucjpms_japanese_ci
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB1(x) ((int) sort_order_eucjpms[(uchar) (x)])
+#define WEIGHT_MB2(x,y) ((((uint) (uchar)(x)) << 16) | \
+ (((uint) (uchar) (y)) << 8))
+#define WEIGHT_MB3(x,y,z) (WEIGHT_MB2(x,y) | ((uint) (uchar) z))
+#include "strcoll.ic"
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _eucjpms_bin
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB1(x) ((int) (uchar) (x))
+#define WEIGHT_MB2(x,y) ((((uint) (uchar)(x)) << 16) | \
+ (((uint) (uchar) (y)) << 8))
+#define WEIGHT_MB3(x,y,z) (WEIGHT_MB2(x,y) | ((uint) (uchar) z))
+#include "strcoll.ic"
static uint ismbchar_eucjpms(CHARSET_INFO *cs __attribute__((unused)),
@@ -67416,61 +67450,6 @@ my_wc_mb_eucjpms(CHARSET_INFO *cs __attribute__((unused)),
}
-/*
- EUCJPMS encoding subcomponents:
- [x00-x7F] # ASCII/JIS-Roman (one-byte/character)
- [x8E][xA1-xDF] # half-width katakana (two bytes/char)
- [x8F][xA1-xFE][xA1-xFE] # JIS X 0212-1990 (three bytes/char)
- [xA1-xFE][xA1-xFE] # JIS X 0208:1997 (two bytes/char)
-*/
-
-static
-size_t my_well_formed_len_eucjpms(CHARSET_INFO *cs __attribute__((unused)),
- const char *beg, const char *end, size_t pos,
- int *error)
-{
- const uchar *b= (uchar *) beg;
- *error=0;
-
- for ( ; pos && b < (uchar*) end; pos--, b++)
- {
- char *chbeg;
- uint ch= *b;
-
- if (ch <= 0x7F) /* one byte */
- continue;
-
- chbeg= (char *) b++;
- if (b >= (uchar *) end) /* need more bytes */
- return (uint) (chbeg - beg); /* unexpected EOL */
-
- if (iseucjpms_ss2(ch)) /* [x8E][xA1-xDF] */
- {
- if (iskata(*b))
- continue;
- *error=1;
- return (uint) (chbeg - beg); /* invalid sequence */
- }
-
- if (iseucjpms_ss3(ch)) /* [x8F][xA1-xFE][xA1-xFE] */
- {
- ch= *b++;
- if (b >= (uchar*) end)
- {
- *error= 1;
- return (uint)(chbeg - beg); /* unexpected EOL */
- }
- }
-
- if (iseucjpms(ch) && iseucjpms(*b)) /* [xA1-xFE][xA1-xFE] */
- continue;
- *error=1;
- return (size_t) (chbeg - beg); /* invalid sequence */
- }
- return (size_t) (b - (uchar *) beg);
-}
-
-
static
size_t my_numcells_eucjpms(CHARSET_INFO *cs __attribute__((unused)),
const char *str, const char *str_end)
@@ -67506,11 +67485,11 @@ size_t my_numcells_eucjpms(CHARSET_INFO *cs __attribute__((unused)),
}
-static MY_COLLATION_HANDLER my_collation_ci_handler =
+static MY_COLLATION_HANDLER my_collation_eucjpms_japanese_ci_handler =
{
NULL, /* init */
- my_strnncoll_simple,/* strnncoll */
- my_strnncollsp_simple,
+ my_strnncoll_eucjpms_japanese_ci,
+ my_strnncollsp_eucjpms_japanese_ci,
my_strnxfrm_mb, /* strnxfrm */
my_strnxfrmlen_simple,
my_like_range_mb, /* like_range */
@@ -67521,6 +67500,23 @@ static MY_COLLATION_HANDLER my_collation_ci_handler =
my_propagate_simple
};
+
+static MY_COLLATION_HANDLER my_collation_eucjpms_bin_handler =
+{
+ NULL, /* init */
+ my_strnncoll_eucjpms_bin,
+ my_strnncollsp_eucjpms_bin,
+ my_strnxfrm_mb,
+ my_strnxfrmlen_simple,
+ my_like_range_mb,
+ my_wildcmp_mb_bin,
+ my_strcasecmp_mb_bin,
+ my_instr_mb,
+ my_hash_sort_mb_bin,
+ my_propagate_simple
+};
+
+
static MY_CHARSET_HANDLER my_charset_handler=
{
NULL, /* init */
@@ -67549,7 +67545,11 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_eucjpms,
+ my_well_formed_char_length_eucjpms,
+ my_copy_fix_mb,
+ my_native_to_mb_eucjpms,
};
@@ -67583,7 +67583,7 @@ struct charset_info_st my_charset_eucjpms_japanese_ci=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_ci_handler
+ &my_collation_eucjpms_japanese_ci_handler
};
@@ -67616,7 +67616,7 @@ struct charset_info_st my_charset_eucjpms_bin=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_mb_bin_handler
+ &my_collation_eucjpms_bin_handler
};
diff --git a/strings/ctype-gb2312.c b/strings/ctype-gb2312.c
index 0399660d311..b0e275fe93d 100644
--- a/strings/ctype-gb2312.c
+++ b/strings/ctype-gb2312.c
@@ -163,6 +163,14 @@ static const uchar sort_order_gb2312[]=
#define isgb2312head(c) (0xa1<=(uchar)(c) && (uchar)(c)<=0xf7)
#define isgb2312tail(c) (0xa1<=(uchar)(c) && (uchar)(c)<=0xfe)
+#define gb2312code(c,d) (((uchar)(c) <<8) | (uchar)(d))
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _gb2312
+#define IS_MB1_CHAR(x) ((uchar) (x) < 0x80)
+#define IS_MB2_CHAR(x,y) (isgb2312head(x) && isgb2312tail(y))
+#define DEFINE_ASIAN_ROUTINES
+#include "ctype-mb.ic"
static uint ismbchar_gb2312(CHARSET_INFO *cs __attribute__((unused)),
@@ -6324,7 +6332,10 @@ my_mb_wc_gb2312(CHARSET_INFO *cs __attribute__((unused)),
if (s+2>e)
return MY_CS_TOOSMALL2;
-
+
+ if (!IS_MB2_CHAR(hi, s[1]))
+ return MY_CS_ILSEQ;
+
if (!(pwc[0]=func_gb2312_uni_onechar(((hi<<8)+s[1])&0x7F7F)))
return -2;
@@ -6332,46 +6343,23 @@ my_mb_wc_gb2312(CHARSET_INFO *cs __attribute__((unused)),
}
-/*
- Returns well formed length of a EUC-KR string.
-*/
-static size_t
-my_well_formed_len_gb2312(CHARSET_INFO *cs __attribute__((unused)),
- const char *b, const char *e,
- size_t pos, int *error)
-{
- const char *b0= b;
- const char *emb= e - 1; /* Last possible end of an MB character */
+#define MY_FUNCTION_NAME(x) my_ ## x ## _gb2312_chinese_ci
+#define WEIGHT_MB1(x) (sort_order_gb2312[(uchar) (x)])
+#define WEIGHT_MB2(x,y) (gb2312code(x, y))
+#include "strcoll.ic"
- *error= 0;
- while (pos-- && b < e)
- {
- if ((uchar) b[0] < 128)
- {
- /* Single byte ascii character */
- b++;
- }
- else if (b < emb && isgb2312head(*b) && isgb2312tail(b[1]))
- {
- /* Double byte character */
- b+= 2;
- }
- else
- {
- /* Wrong byte sequence */
- *error= 1;
- break;
- }
- }
- return (size_t) (b - b0);
-}
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _gb2312_bin
+#define WEIGHT_MB1(x) ((uchar) (x))
+#define WEIGHT_MB2(x,y) (gb2312code(x, y))
+#include "strcoll.ic"
-static MY_COLLATION_HANDLER my_collation_ci_handler =
+static MY_COLLATION_HANDLER my_collation_handler_gb2312_chinese_ci=
{
- NULL, /* init */
- my_strnncoll_simple, /* strnncoll */
- my_strnncollsp_simple,
+ NULL, /* init */
+ my_strnncoll_gb2312_chinese_ci,
+ my_strnncollsp_gb2312_chinese_ci,
my_strnxfrm_mb, /* strnxfrm */
my_strnxfrmlen_simple,
my_like_range_mb, /* like_range */
@@ -6382,6 +6370,24 @@ static MY_COLLATION_HANDLER my_collation_ci_handler =
my_propagate_simple
};
+
+static MY_COLLATION_HANDLER my_collation_handler_gb2312_bin=
+{
+ NULL, /* init */
+ my_strnncoll_gb2312_bin,
+ my_strnncollsp_gb2312_bin,
+ my_strnxfrm_mb,
+ my_strnxfrmlen_simple,
+ my_like_range_mb,
+ my_wildcmp_mb_bin,
+ my_strcasecmp_mb_bin,
+ my_instr_mb,
+ my_hash_sort_mb_bin,
+ my_propagate_simple
+};
+
+
+
static MY_CHARSET_HANDLER my_charset_handler=
{
NULL, /* init */
@@ -6410,7 +6416,11 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_gb2312,
+ my_well_formed_char_length_gb2312,
+ my_copy_fix_mb,
+ my_native_to_mb_gb2312,
};
@@ -6443,9 +6453,10 @@ struct charset_info_st my_charset_gb2312_chinese_ci=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_ci_handler
+ &my_collation_handler_gb2312_chinese_ci
};
+
struct charset_info_st my_charset_gb2312_bin=
{
86,0,0, /* number */
@@ -6475,7 +6486,7 @@ struct charset_info_st my_charset_gb2312_bin=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_mb_bin_handler
+ &my_collation_handler_gb2312_bin
};
#endif
diff --git a/strings/ctype-gbk.c b/strings/ctype-gbk.c
index f1b46ca4e6c..37b003f1899 100644
--- a/strings/ctype-gbk.c
+++ b/strings/ctype-gbk.c
@@ -43,6 +43,13 @@
#define gbkhead(e) ((uchar)(e>>8))
#define gbktail(e) ((uchar)(e&0xff))
+#define MY_FUNCTION_NAME(x) my_ ## x ## _gbk
+#define IS_MB1_CHAR(x) ((uchar) (x) < 0x80)
+#define IS_MB2_CHAR(x,y) (isgbkhead(x) && isgbktail(y))
+#define DEFINE_ASIAN_ROUTINES
+#include "ctype-mb.ic"
+
+
static const uchar ctype_gbk[257] =
{
0, /* For standard library */
@@ -3444,87 +3451,6 @@ static uint16 gbksortorder(uint16 i)
}
-int my_strnncoll_gbk_internal(const uchar **a_res, const uchar **b_res,
- size_t length)
-{
- const uchar *a= *a_res, *b= *b_res;
- uint a_char,b_char;
-
- while (length--)
- {
- if ((length > 0) && isgbkcode(*a,*(a+1)) && isgbkcode(*b, *(b+1)))
- {
- a_char= gbkcode(*a,*(a+1));
- b_char= gbkcode(*b,*(b+1));
- if (a_char != b_char)
- return ((int) gbksortorder((uint16) a_char) -
- (int) gbksortorder((uint16) b_char));
- a+= 2;
- b+= 2;
- length--;
- }
- else if (sort_order_gbk[*a++] != sort_order_gbk[*b++])
- return ((int) sort_order_gbk[a[-1]] -
- (int) sort_order_gbk[b[-1]]);
- }
- *a_res= a;
- *b_res= b;
- return 0;
-}
-
-
-
-int my_strnncoll_gbk(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *a, size_t a_length,
- const uchar *b, size_t b_length,
- my_bool b_is_prefix)
-{
- size_t length= MY_MIN(a_length, b_length);
- int res= my_strnncoll_gbk_internal(&a, &b, length);
- return res ? res : (int) ((b_is_prefix ? length : a_length) - b_length);
-}
-
-
-static int my_strnncollsp_gbk(CHARSET_INFO * cs __attribute__((unused)),
- const uchar *a, size_t a_length,
- const uchar *b, size_t b_length,
- my_bool diff_if_only_endspace_difference)
-{
- size_t length= MY_MIN(a_length, b_length);
- int res= my_strnncoll_gbk_internal(&a, &b, length);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= 0;
-#endif
-
- if (!res && a_length != b_length)
- {
- const uchar *end;
- int swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 'a' is bigger */
- /*
- Check the next not space character of the longer key. If it's < ' ',
- then it's smaller than the other key.
- */
- if (a_length < b_length)
- {
- /* put shorter key in a */
- a_length= b_length;
- a= b;
- swap= -1; /* swap sign of result */
- res= -res;
- }
- for (end= a + a_length-length; a < end ; a++)
- {
- if (*a != ' ')
- return (*a < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
static size_t
my_strnxfrm_gbk(CHARSET_INFO *cs,
uchar *dst, size_t dstlen, uint nweights,
@@ -10718,6 +10644,9 @@ my_mb_wc_gbk(CHARSET_INFO *cs __attribute__((unused)),
if (s+2>e)
return MY_CS_TOOSMALL2;
+ if (!IS_MB2_CHAR(hi, s[1]))
+ return MY_CS_ILSEQ;
+
if (!(pwc[0]=func_gbk_uni_onechar( (hi<<8) + s[1])))
return -2;
@@ -10726,48 +10655,23 @@ my_mb_wc_gbk(CHARSET_INFO *cs __attribute__((unused)),
}
-/*
- Returns well formed length of a GBK string.
-*/
-static
-size_t my_well_formed_len_gbk(CHARSET_INFO *cs __attribute__((unused)),
- const char *b, const char *e,
- size_t pos, int *error)
-{
- const char *b0= b;
- const char *emb= e - 1; /* Last possible end of an MB character */
+#define MY_FUNCTION_NAME(x) my_ ## x ## _gbk_chinese_ci
+#define WEIGHT_MB1(x) (sort_order_gbk[(uchar) (x)])
+#define WEIGHT_MB2(x,y) (gbksortorder(gbkcode(x,y)))
+#include "strcoll.ic"
- *error= 0;
- while (pos-- && b < e)
- {
- if ((uchar) b[0] < 128)
- {
- /* Single byte ascii character */
- b++;
- }
- else if ((b < emb) && isgbkcode((uchar)*b, (uchar)b[1]))
- {
- /* Double byte character */
- b+= 2;
- }
- else
- {
- /* Wrong byte sequence */
- *error= 1;
- break;
- }
- }
- return (size_t) (b - b0);
-}
+#define MY_FUNCTION_NAME(x) my_ ## x ## _gbk_bin
+#define WEIGHT_MB1(x) ((uchar) (x))
+#define WEIGHT_MB2(x,y) (gbkcode(x,y))
+#include "strcoll.ic"
-
-static MY_COLLATION_HANDLER my_collation_ci_handler =
+static MY_COLLATION_HANDLER my_collation_handler_gbk_chinese_ci=
{
- NULL, /* init */
- my_strnncoll_gbk,
- my_strnncollsp_gbk,
+ NULL, /* init */
+ my_strnncoll_gbk_chinese_ci,
+ my_strnncollsp_gbk_chinese_ci,
my_strnxfrm_gbk,
my_strnxfrmlen_simple,
my_like_range_mb,
@@ -10778,6 +10682,24 @@ static MY_COLLATION_HANDLER my_collation_ci_handler =
my_propagate_simple
};
+
+static MY_COLLATION_HANDLER my_collation_handler_gbk_bin=
+{
+ NULL, /* init */
+ my_strnncoll_gbk_bin,
+ my_strnncollsp_gbk_bin,
+ my_strnxfrm_mb,
+ my_strnxfrmlen_simple,
+ my_like_range_mb,
+ my_wildcmp_mb_bin,
+ my_strcasecmp_mb_bin,
+ my_instr_mb,
+ my_hash_sort_mb_bin,
+ my_propagate_simple
+};
+
+
+
static MY_CHARSET_HANDLER my_charset_handler=
{
NULL, /* init */
@@ -10806,7 +10728,11 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_gbk,
+ my_well_formed_char_length_gbk,
+ my_copy_fix_mb,
+ my_native_to_mb_gbk,
};
@@ -10839,7 +10765,7 @@ struct charset_info_st my_charset_gbk_chinese_ci=
1, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_ci_handler
+ &my_collation_handler_gbk_chinese_ci
};
struct charset_info_st my_charset_gbk_bin=
@@ -10871,7 +10797,7 @@ struct charset_info_st my_charset_gbk_bin=
1, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_mb_bin_handler
+ &my_collation_handler_gbk_bin
};
diff --git a/strings/ctype-latin1.c b/strings/ctype-latin1.c
index babf74599ea..26c66d60071 100644
--- a/strings/ctype-latin1.c
+++ b/strings/ctype-latin1.c
@@ -421,7 +421,11 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_8bit,
+ my_well_formed_char_length_8bit,
+ my_copy_8bit,
+ my_wc_mb_bin, /* native_to_mb */
};
@@ -732,7 +736,7 @@ static MY_COLLATION_HANDLER my_collation_german2_ci_handler=
struct charset_info_st my_charset_latin1_german2_ci=
{
31,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM, /* state */
+ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_NON1TO1, /* state */
"latin1", /* cs name */
"latin1_german2_ci", /* name */
"", /* comment */
diff --git a/strings/ctype-mb.c b/strings/ctype-mb.c
index 318e581792a..ad83cab3325 100644
--- a/strings/ctype-mb.c
+++ b/strings/ctype-mb.c
@@ -63,7 +63,7 @@ size_t my_casedn_str_mb(CHARSET_INFO * cs, char *str)
static inline MY_UNICASE_CHARACTER*
-get_case_info_for_ch(const CHARSET_INFO *cs, uint page, uint offs)
+get_case_info_for_ch(CHARSET_INFO *cs, uint page, uint offs)
{
MY_UNICASE_CHARACTER *p;
return cs->caseinfo && (p= cs->caseinfo->page[page]) ? &p[offs] : NULL;
@@ -351,6 +351,99 @@ size_t my_well_formed_len_mb(CHARSET_INFO *cs, const char *b, const char *e,
}
+/*
+ Append a badly formed piece of string.
+ Bad bytes are fixed to '?'.
+
+ @param to The destination string
+ @param to_end The end of the destination string
+ @param from The source string
+ @param from_end The end of the source string
+ @param nchars Write not more than "nchars" characters.
+ @param status Copying status, must be previously initialized,
+ e.g. using well_formed_char_length() on the original
+ full source string.
+*/
+static size_t
+my_append_fix_badly_formed_tail(CHARSET_INFO *cs,
+ char *to, char *to_end,
+ const char *from, const char *from_end,
+ size_t nchars,
+ MY_STRCOPY_STATUS *status)
+{
+ char *to0= to;
+
+ for ( ; nchars; nchars--)
+ {
+ int chlen;
+ if ((chlen= cs->cset->charlen(cs, (const uchar*) from,
+ (const uchar *) from_end)) > 0)
+ {
+ /* Found a valid character */ /* chlen == 1..MBMAXLEN */
+ DBUG_ASSERT(chlen <= (int) cs->mbmaxlen);
+ if (to + chlen > to_end)
+ goto end; /* Does not fit to "to" */
+ memcpy(to, from, (size_t) chlen);
+ from+= chlen;
+ to+= chlen;
+ continue;
+ }
+ if (chlen == MY_CS_ILSEQ) /* chlen == 0 */
+ {
+ DBUG_ASSERT(from < from_end); /* Shouldn't get MY_CS_ILSEQ if empty */
+ goto bad;
+ }
+ /* Got an incomplete character */ /* chlen == MY_CS_TOOSMALLXXX */
+ DBUG_ASSERT(chlen >= MY_CS_TOOSMALL6);
+ DBUG_ASSERT(chlen <= MY_CS_TOOSMALL);
+ if (from >= from_end)
+ break; /* End of the source string */
+bad:
+ /* Bad byte sequence, or incomplete character found */
+ if (!status->m_well_formed_error_pos)
+ status->m_well_formed_error_pos= from;
+
+ if ((chlen= cs->cset->wc_mb(cs, '?', (uchar*) to, (uchar *) to_end)) <= 0)
+ break; /* Question mark does not fit into the destination */
+ to+= chlen;
+ from++;
+ }
+end:
+ status->m_source_end_pos= from;
+ return to - to0;
+}
+
+
+size_t
+my_copy_fix_mb(CHARSET_INFO *cs,
+ char *dst, size_t dst_length,
+ const char *src, size_t src_length,
+ size_t nchars, MY_STRCOPY_STATUS *status)
+{
+ size_t well_formed_nchars;
+ size_t well_formed_length;
+ size_t fixed_length;
+
+ set_if_smaller(src_length, dst_length);
+ well_formed_nchars= cs->cset->well_formed_char_length(cs,
+ src, src + src_length,
+ nchars, status);
+ DBUG_ASSERT(well_formed_nchars <= nchars);
+ memmove(dst, src, (well_formed_length= status->m_source_end_pos - src));
+ if (!status->m_well_formed_error_pos)
+ return well_formed_length;
+
+ fixed_length= my_append_fix_badly_formed_tail(cs,
+ dst + well_formed_length,
+ dst + dst_length,
+ src + well_formed_length,
+ src + src_length,
+ nchars - well_formed_nchars,
+ status);
+ return well_formed_length + fixed_length;
+}
+
+
uint my_instr_mb(CHARSET_INFO *cs,
const char *b, size_t b_length,
const char *s, size_t s_length,
@@ -646,25 +739,8 @@ my_hash_sort_mb_bin(CHARSET_INFO *cs __attribute__((unused)),
static void pad_max_char(CHARSET_INFO *cs, char *str, char *end)
{
char buf[10];
- char buflen;
-
- if (!(cs->state & MY_CS_UNICODE))
- {
- if (cs->max_sort_char <= 255)
- {
- bfill(str, end - str, cs->max_sort_char);
- return;
- }
- buf[0]= cs->max_sort_char >> 8;
- buf[1]= cs->max_sort_char & 0xFF;
- buflen= 2;
- }
- else
- {
- buflen= cs->cset->wc_mb(cs, cs->max_sort_char, (uchar*) buf,
- (uchar*) buf + sizeof(buf));
- }
-
+ char buflen= cs->cset->native_to_mb(cs, cs->max_sort_char, (uchar*) buf,
+ (uchar*) buf + sizeof(buf));
DBUG_ASSERT(buflen > 0);
do
{
@@ -1395,20 +1471,4 @@ int my_mb_ctype_mb(CHARSET_INFO *cs, int *ctype,
}
-MY_COLLATION_HANDLER my_collation_mb_bin_handler =
-{
- NULL, /* init */
- my_strnncoll_mb_bin,
- my_strnncollsp_mb_bin,
- my_strnxfrm_mb,
- my_strnxfrmlen_simple,
- my_like_range_mb,
- my_wildcmp_mb_bin,
- my_strcasecmp_mb_bin,
- my_instr_mb,
- my_hash_sort_mb_bin,
- my_propagate_simple
-};
-
-
#endif
diff --git a/strings/ctype-mb.ic b/strings/ctype-mb.ic
new file mode 100644
index 00000000000..6fc4d6e3db4
--- /dev/null
+++ b/strings/ctype-mb.ic
@@ -0,0 +1,324 @@
+/*
+ Copyright (c) 2015, MariaDB Foundation
+
+ 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; version 2 of the License.
+
+ 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, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+
+#ifndef MY_FUNCTION_NAME
+#error MY_FUNCTION_NAME is not defined
+#endif
+
+#if defined(IS_MB3_CHAR) && !defined(IS_MB2_CHAR)
+#error IS_MB3_CHAR is defined, while IS_MB2_CHAR is not!
+#endif
+
+#if defined(IS_MB4_CHAR) && !defined(IS_MB3_CHAR)
+#error IS_MB4_CHAR is defined, while IS_MB3_CHAR is not!
+#endif
+
+
+#ifdef DEFINE_ASIAN_ROUTINES
+#define DEFINE_WELL_FORMED_LEN
+#define DEFINE_WELL_FORMED_CHAR_LENGTH
+#define DEFINE_CHARLEN
+#define DEFINE_NATIVE_TO_MB_VARLEN
+#endif
+
+
+#ifdef DEFINE_CHARLEN
+/**
+ Returns length of the left-most character of a string.
+ @param cs - charset with mbminlen==1 and mbmaxlen<=4
+ @param b - the beginning of the string
+ @param e - the end of the string
+
+ @return MY_CS_ILSEQ if a bad byte sequence was found
+ @return MY_CS_TOOSMALL(N) if the string ended unexpectedly
+ @return >0 if a valid character was found
+*/
+static int
+MY_FUNCTION_NAME(charlen)(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar *b, const uchar *e)
+{
+ DBUG_ASSERT(cs->mbminlen == 1);
+ DBUG_ASSERT(cs->mbmaxlen <= 4);
+
+ if (b >= e)
+ return MY_CS_TOOSMALL;
+ if ((uchar) b[0] < 128)
+ return 1; /* Single byte ASCII character */
+
+#ifdef IS_8BIT_CHAR
+ if (IS_8BIT_CHAR(b[0]))
+ {
+ /* Single byte non-ASCII character, e.g. half width kana in sjis */
+ return 1;
+ }
+#endif
+
+ if (b + 2 > e)
+ return MY_CS_TOOSMALLN(2);
+ if (IS_MB2_CHAR(b[0], b[1]))
+ return 2; /* Double byte character */
+
+#ifdef IS_MB3_CHAR
+ if (b + 3 > e)
+ return MY_CS_TOOSMALLN(3);
+ if (IS_MB3_CHAR(b[0], b[1], b[2]))
+ return 3; /* Three-byte character */
+#endif
+
+#ifdef IS_MB4_CHAR
+ if (b + 4 > e)
+ return MY_CS_TOOSMALLN(4);
+ if (IS_MB4_CHAR(b[0], b[1], b[2], b[3]))
+ return 4; /* Four-byte character */
+#endif
+
+ /* Wrong byte sequence */
+ return MY_CS_ILSEQ;
+}
+#endif /* DEFINE_WELL_FORMED_LEN */
+
+
+#ifdef DEFINE_WELL_FORMED_LEN
+/**
+ Returns well formed length of a character string with
+ variable character length for character sets with:
+ - mbminlen == 1
+ - mbmaxlen == 2, 3, or 4
+*/
+static size_t
+MY_FUNCTION_NAME(well_formed_len)(CHARSET_INFO *cs __attribute__((unused)),
+ const char *b, const char *e,
+ size_t nchars, int *error)
+{
+ const char *b0= b;
+
+ DBUG_ASSERT(cs->mbminlen == 1);
+ DBUG_ASSERT(cs->mbmaxlen <= 4);
+
+ for (*error= 0 ; b < e && nchars-- ; )
+ {
+ if ((uchar) b[0] < 128)
+ {
+ b++; /* Single byte ASCII character */
+ continue;
+ }
+
+ if (b + 2 <= e && IS_MB2_CHAR(b[0], b[1]))
+ {
+ b+= 2; /* Double byte character */
+ continue;
+ }
+
+#ifdef IS_MB3_CHAR
+ if (b + 3 <= e && IS_MB3_CHAR(b[0], b[1], b[2]))
+ {
+ b+= 3; /* Three-byte character */
+ continue;
+ }
+#endif
+
+#ifdef IS_MB4_CHAR
+ if (b + 4 <= e && IS_MB4_CHAR(b[0], b[1], b[2], b[3]))
+ {
+ b+= 4; /* Four-byte character */
+ continue;
+ }
+#endif
+
+#ifdef IS_8BIT_CHAR
+ if (IS_8BIT_CHAR(b[0]))
+ {
+ b++; /* Single byte non-ASCII character, e.g. half width kana in sjis */
+ continue;
+ }
+#endif
+
+ /* Wrong byte sequence */
+ *error= 1;
+ break;
+ }
+ return b - b0;
+}
+
+#endif /* DEFINE_WELL_FORMED_LEN */
+
+
+
+#ifdef DEFINE_WELL_FORMED_CHAR_LENGTH
+/**
+ Returns well formed length of a string
+ measured in characters (rather than in bytes).
+ Version for character sets that define IS_MB?_CHAR(), e.g. big5.
+*/
+static size_t
+MY_FUNCTION_NAME(well_formed_char_length)(CHARSET_INFO *cs __attribute__((unused)),
+ const char *b, const char *e,
+ size_t nchars,
+ MY_STRCOPY_STATUS *status)
+{
+ size_t nchars0= nchars;
+ for ( ; b < e && nchars ; nchars--)
+ {
+ if ((uchar) b[0] < 128)
+ {
+ b++; /* Single byte ASCII character */
+ continue;
+ }
+
+ if (b + 2 <= e && IS_MB2_CHAR(b[0], b[1]))
+ {
+ b+= 2; /* Double byte character */
+ continue;
+ }
+
+#ifdef IS_MB3_CHAR
+ if (b + 3 <= e && IS_MB3_CHAR(b[0], b[1], b[2]))
+ {
+ b+= 3; /* Three-byte character */
+ continue;
+ }
+#endif
+
+#ifdef IS_MB4_CHAR
+ if (b + 4 <= e && IS_MB4_CHAR(b[0], b[1], b[2], b[3]))
+ {
+ b+= 4; /* Four-byte character */
+ continue;
+ }
+#endif
+
+#ifdef IS_8BIT_CHAR
+ if (IS_8BIT_CHAR(b[0]))
+ {
+ b++; /* Single byte non-ASCII character, e.g. half width kana in sjis */
+ continue;
+ }
+#endif
+
+ /* Wrong byte sequence */
+ status->m_source_end_pos= status->m_well_formed_error_pos= b;
+ return nchars0 - nchars;
+ }
+ status->m_source_end_pos= b;
+ status->m_well_formed_error_pos= NULL;
+ return nchars0 - nchars;
+}
+#endif /* DEFINE_WELL_FORMED_CHAR_LENGTH */
+
+
+#ifdef DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+#ifndef CHARLEN
+#error CHARLEN is not defined
+#endif
+/**
+ Returns well formed length of a string
+ measured in characters (rather than in bytes).
+ Version for character sets that define CHARLEN(), e.g. utf8.
+ CHARLEN(cs,b,e) must use the same return code convension that mb_wc() does:
+ - a positive number in the range [1-mbmaxlen] if a valid
+ single-byte or multi-byte character was found
+ - MY_CS_ILSEQ (0) on a bad byte sequence
+ - MY_CS_TOOSMALLxx if the incoming sequence is incomplete
+*/
+static size_t
+MY_FUNCTION_NAME(well_formed_char_length)(CHARSET_INFO *cs __attribute__((unused)),
+ const char *b, const char *e,
+ size_t nchars,
+ MY_STRCOPY_STATUS *status)
+{
+ size_t nchars0= nchars;
+ int chlen;
+ for ( ; nchars ; nchars--, b+= chlen)
+ {
+ if ((chlen= CHARLEN(cs, (uchar*) b, (uchar*) e)) <= 0)
+ {
+ status->m_well_formed_error_pos= b < e ? b : NULL;
+ status->m_source_end_pos= b;
+ return nchars0 - nchars;
+ }
+ }
+ status->m_well_formed_error_pos= NULL;
+ status->m_source_end_pos= b;
+ return nchars0 - nchars;
+}
+#endif /* DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN */
+
+
+#ifdef DEFINE_NATIVE_TO_MB_VARLEN
+/*
+ Write a native 2-byte character.
+ If the full character does not fit, only the first byte is written.
+*/
+static inline int
+my_native_to_mb_fixed2(my_wc_t wc, uchar *s, uchar *e)
+{
+ /* The caller must insure there is a space for at least one byte */
+ DBUG_ASSERT(s < e);
+ s[0]= (uchar) (wc >> 8);
+ if (s + 2 > e)
+ return MY_CS_TOOSMALL2;
+ s[1]= wc & 0xFF;
+ return 2;
+}
+
+
+/*
+ Write a native 3-byte character.
+ If the full character does not fit, only the leading bytes are written.
+*/
+static inline int
+my_native_to_mb_fixed3(my_wc_t wc, uchar *s, uchar *e)
+{
+ /* The caller must insure there is a space for at least one byte */
+ DBUG_ASSERT(s < e);
+ s[0]= (uchar) (wc >> 16);
+ if (s + 2 > e)
+ return MY_CS_TOOSMALL2;
+ s[1]= (wc >> 8) & 0xFF;
+ if (s + 3 > e)
+ return MY_CS_TOOSMALL3;
+ s[2]= wc & 0xFF;
+ return 3;
+}
+
+
+/*
+ Write a native 1-byte or 2-byte or 3-byte character.
+*/
+
+static int
+MY_FUNCTION_NAME(native_to_mb)(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t wc, uchar *s, uchar *e)
+{
+ if (s >= e)
+ return MY_CS_TOOSMALL;
+ if ((int) wc <= 0xFF)
+ {
+ s[0]= (uchar) wc;
+ return 1;
+ }
+#ifdef IS_MB3_HEAD
+ if (wc > 0xFFFF)
+ return my_native_to_mb_fixed3(wc, s, e);
+#endif
+ return my_native_to_mb_fixed2(wc, s, e);
+}
+#endif /* DEFINE_NATIVE_TO_MB_VARLEN */
+
+
+#undef MY_FUNCTION_NAME
diff --git a/strings/ctype-simple.c b/strings/ctype-simple.c
index 61b14b84820..33a000ee5fa 100644
--- a/strings/ctype-simple.c
+++ b/strings/ctype-simple.c
@@ -246,6 +246,13 @@ int my_strcasecmp_8bit(CHARSET_INFO * cs,const char *s, const char *t)
}
+int my_charlen_8bit(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar *str, const uchar *end)
+{
+ return str >= end ? MY_CS_TOOSMALL : 1;
+}
+
+
int my_mb_wc_8bit(CHARSET_INFO *cs,my_wc_t *wc,
const uchar *str,
const uchar *end __attribute__((unused)))
@@ -1106,6 +1113,38 @@ size_t my_well_formed_len_8bit(CHARSET_INFO *cs __attribute__((unused)),
}
+size_t
+my_well_formed_char_length_8bit(CHARSET_INFO *cs __attribute__((unused)),
+ const char *start, const char *end,
+ size_t nchars, MY_STRCOPY_STATUS *status)
+{
+ size_t nbytes= (size_t) (end - start);
+ size_t res= MY_MIN(nbytes, nchars);
+ status->m_well_formed_error_pos= NULL;
+ status->m_source_end_pos= start + res;
+ return res;
+}
+
+
+/*
+ Copy a 8-bit string. Not more than "nchars" character are copied.
+*/
+size_t
+my_copy_8bit(CHARSET_INFO *cs __attribute__((unused)),
+ char *dst, size_t dst_length,
+ const char *src, size_t src_length,
+ size_t nchars, MY_STRCOPY_STATUS *status)
+{
+ set_if_smaller(src_length, dst_length);
+ set_if_smaller(src_length, nchars);
+ if (src_length)
+ memmove(dst, src, src_length);
+ status->m_source_end_pos= src + src_length;
+ status->m_well_formed_error_pos= NULL;
+ return src_length;
+}
+
+
size_t my_lengthsp_8bit(CHARSET_INFO *cs __attribute__((unused)),
const char *ptr, size_t length)
{
@@ -1262,7 +1301,28 @@ create_fromuni(struct charset_info_st *cs,
if (wc >= idx[i].uidx.from && wc <= idx[i].uidx.to && wc)
{
int ofs= wc - idx[i].uidx.from;
- tab[ofs]= ch;
+ if (!tab[ofs] || tab[ofs] > 0x7F) /* Prefer ASCII*/
+ {
+ /*
+ Some character sets can have double encoding. For example,
+ in ARMSCII8, the following characters are encoded twice:
+
+ Encoding#1 Encoding#2 Unicode Character Name
+ ---------- ---------- ------- --------------
+ 0x27 0xFF U+0027 APOSTROPHE
+ 0x28 0xA5 U+0028 LEFT PARENTHESIS
+ 0x29 0xA4 U+0029 RIGHT PARENTHESIS
+ 0x2C 0xAB U+002C COMMA
+ 0x2D 0xAC U+002D HYPHEN-MINUS
+ 0x2E 0xA9 U+002E FULL STOP
+
+ That is, both 0x27 and 0xFF convert to Unicode U+0027.
+ When converting back from Unicode to ARMSCII,
+ we prefer the ASCII range, that is we want U+0027
+ to convert to 0x27 rather than to 0xFF.
+ */
+ tab[ofs]= ch;
+ }
}
}
}
@@ -1557,7 +1617,10 @@ exp: /* [ E [ <sign> ] <unsigned integer> ] */
if ((negative_exp= (*str == '-')) || *str=='+')
{
if (++str == end)
+ {
+ str-= 2; /* 'e-' or 'e+' not followed by digits */
goto ret_sign;
+ }
}
for (exponent= 0 ;
str < end && (ch= (uchar) (*str - '0')) < 10;
@@ -1567,6 +1630,8 @@ exp: /* [ E [ <sign> ] <unsigned integer> ] */
}
shift+= negative_exp ? -exponent : exponent;
}
+ else
+ str--; /* 'e' not followed by digits */
}
if (shift == 0) /* No shift, check addon digit */
@@ -1884,7 +1949,11 @@ MY_CHARSET_HANDLER my_charset_8bit_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_8bit,
+ my_well_formed_char_length_8bit,
+ my_copy_8bit,
+ my_wc_mb_bin, /* native_to_mb */
};
MY_COLLATION_HANDLER my_collation_8bit_simple_ci_handler =
diff --git a/strings/ctype-sjis.c b/strings/ctype-sjis.c
index dce9e5ad37f..629e1cd8309 100644
--- a/strings/ctype-sjis.c
+++ b/strings/ctype-sjis.c
@@ -176,10 +176,20 @@ static const uchar sort_order_sjis[]=
(uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375',(uchar) '\376',(uchar) '\377'
};
-#define issjishead(c) ((0x81<=(c) && (c)<=0x9f) || \
- ((0xe0<=(c)) && (c)<=0xfc))
-#define issjistail(c) ((0x40<=(c) && (c)<=0x7e) || \
- (0x80<=(c) && (c)<=0xfc))
+#define issjishead(c) ((0x81 <= (uchar) (c) && (uchar) (c) <= 0x9f) || \
+ (0xe0 <= (uchar) (c) && (uchar) (c) <= 0xfc))
+#define issjistail(c) ((0x40 <= (uchar) (c) && (uchar) (c) <= 0x7e) || \
+ (0x80 <= (uchar) (c) && (uchar) (c) <= 0xfc))
+
+#define issjiskata(c) ((0xA1 <= (uchar) (c) && (uchar) (c) <= 0xDF))
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _sjis
+#define IS_8BIT_CHAR(x) issjiskata(x)
+#define IS_MB1_CHAR(x) ((uchar) (x) < 0x80 || issjiskata(x))
+#define IS_MB2_CHAR(x,y) (issjishead(x) && issjistail(y))
+#define DEFINE_ASIAN_ROUTINES
+#include "ctype-mb.ic"
static uint ismbchar_sjis(CHARSET_INFO *cs __attribute__((unused)),
@@ -1079,90 +1089,6 @@ static MY_UNICASE_INFO my_caseinfo_sjis=
};
-static int my_strnncoll_sjis_internal(const CHARSET_INFO *cs,
- const uchar **a_res, size_t a_length,
- const uchar **b_res, size_t b_length)
-{
- const uchar *a= *a_res, *b= *b_res;
- const uchar *a_end= a + a_length;
- const uchar *b_end= b + b_length;
- while (a < a_end && b < b_end)
- {
- if (ismbchar_sjis(cs,(char*) a, (char*) a_end) &&
- ismbchar_sjis(cs,(char*) b, (char*) b_end))
- {
- uint a_char= sjiscode(*a, *(a+1));
- uint b_char= sjiscode(*b, *(b+1));
- if (a_char != b_char)
- return (int) a_char - (int) b_char;
- a += 2;
- b += 2;
- } else
- {
- if (sort_order_sjis[(uchar)*a] != sort_order_sjis[(uchar)*b])
- return sort_order_sjis[(uchar)*a] - sort_order_sjis[(uchar)*b];
- a++;
- b++;
- }
- }
- *a_res= a;
- *b_res= b;
- return 0;
-}
-
-
-static int my_strnncoll_sjis(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *a, size_t a_length,
- const uchar *b, size_t b_length,
- my_bool b_is_prefix)
-{
- int res= my_strnncoll_sjis_internal(cs, &a, a_length, &b, b_length);
- if (b_is_prefix && a_length > b_length)
- a_length= b_length;
- return res ? res : (int) (a_length - b_length);
-}
-
-
-static int my_strnncollsp_sjis(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *a, size_t a_length,
- const uchar *b, size_t b_length,
- my_bool diff_if_only_endspace_difference)
-{
- const uchar *a_end= a + a_length, *b_end= b + b_length;
- int res= my_strnncoll_sjis_internal(cs, &a, a_length, &b, b_length);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= 0;
-#endif
-
- if (!res && (a != a_end || b != b_end))
- {
- int swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 'a' is bigger */
- /*
- Check the next not space character of the longer key. If it's < ' ',
- then it's smaller than the other key.
- */
- if (a == a_end)
- {
- /* put shorter key in a */
- a_end= b_end;
- a= b;
- swap= -1; /* swap sign of result */
- res= -res;
- }
- for (; a < a_end ; a++)
- {
- if (*a != ' ')
- return (*a < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
-
/* SJIS->Unicode conversion table */
static uint16 sjis_to_unicode[65536]=
{
@@ -34089,54 +34015,37 @@ size_t my_numcells_sjis(CHARSET_INFO *cs __attribute__((unused)),
return clen;
}
+
/*
- Returns a well formed length of a SJIS string.
- CP932 additional characters are also accepted.
+ sjis_chinese_ci and sjis_bin sort character blocks in this order:
+ 1. [00..7F] - 7BIT characters (ASCII)
+ 2. [81..9F][40..7E,80..FC] - MB2 characters, part1
+ 3. [A1..DF] - 8BIT characters (Kana)
+ 4. [E0..FC][40..7E,80..FC] - MB2 characters, part2
*/
-static
-size_t my_well_formed_len_sjis(CHARSET_INFO *cs __attribute__((unused)),
- const char *b, const char *e,
- size_t pos, int *error)
-{
- const char *b0= b;
- *error= 0;
- while (pos-- && b < e)
- {
- if ((uchar) b[0] < 128)
- {
- /* Single byte ascii character */
- b++;
- }
- else if (issjishead((uchar)*b) && (e-b)>1 && issjistail((uchar)b[1]))
- {
- /* Double byte character */
- b+= 2;
- }
- else if (((uchar)*b) >= 0xA1 && ((uchar)*b) <= 0xDF)
- {
- /* Half width kana */
- b++;
- }
- else
- {
- /* Wrong byte sequence */
- *error= 1;
- break;
- }
- }
- return (size_t) (b - b0);
-}
+#define MY_FUNCTION_NAME(x) my_ ## x ## _sjis_japanese_ci
+#define WEIGHT_PAD_SPACE (256 * (int) ' ')
+#define WEIGHT_MB1(x) (256 * (int) sort_order_sjis[(uchar) (x)])
+#define WEIGHT_MB2(x,y) (sjiscode(x, y))
+#include "strcoll.ic"
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _sjis_bin
+#define WEIGHT_PAD_SPACE (256 * (int) ' ')
+#define WEIGHT_MB1(x) (256 * (int) (uchar) (x))
+#define WEIGHT_MB2(x,y) (sjiscode(x, y))
+#include "strcoll.ic"
-static MY_COLLATION_HANDLER my_collation_ci_handler =
+
+static MY_COLLATION_HANDLER my_collation_handler_sjis_japanese_ci=
{
- NULL, /* init */
- my_strnncoll_sjis,
- my_strnncollsp_sjis,
+ NULL, /* init */
+ my_strnncoll_sjis_japanese_ci,
+ my_strnncollsp_sjis_japanese_ci,
my_strnxfrm_mb,
my_strnxfrmlen_simple,
my_like_range_mb,
- my_wildcmp_mb, /* wildcmp */
+ my_wildcmp_mb,
my_strcasecmp_8bit,
my_instr_mb,
my_hash_sort_simple,
@@ -34144,6 +34053,22 @@ static MY_COLLATION_HANDLER my_collation_ci_handler =
};
+static MY_COLLATION_HANDLER my_collation_handler_sjis_bin=
+{
+ NULL, /* init */
+ my_strnncoll_sjis_bin,
+ my_strnncollsp_sjis_bin,
+ my_strnxfrm_mb,
+ my_strnxfrmlen_simple,
+ my_like_range_mb,
+ my_wildcmp_mb_bin,
+ my_strcasecmp_mb_bin,
+ my_instr_mb,
+ my_hash_sort_mb_bin,
+ my_propagate_simple
+};
+
+
static MY_CHARSET_HANDLER my_charset_handler=
{
NULL, /* init */
@@ -34172,7 +34097,11 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_sjis,
+ my_well_formed_char_length_sjis,
+ my_copy_fix_mb,
+ my_native_to_mb_sjis,
};
@@ -34205,7 +34134,7 @@ struct charset_info_st my_charset_sjis_japanese_ci=
1, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_ci_handler
+ &my_collation_handler_sjis_japanese_ci
};
struct charset_info_st my_charset_sjis_bin=
@@ -34237,7 +34166,7 @@ struct charset_info_st my_charset_sjis_bin=
1, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_mb_bin_handler
+ &my_collation_handler_sjis_bin
};
#endif
diff --git a/strings/ctype-tis620.c b/strings/ctype-tis620.c
index c2ed01a0603..5284109b816 100644
--- a/strings/ctype-tis620.c
+++ b/strings/ctype-tis620.c
@@ -40,7 +40,6 @@
#ifdef HAVE_CHARSET_tis620
-#define BUFFER_MULTIPLY 4
#define M L_MIDDLE
#define U L_UPPER
#define L L_LOWER
@@ -525,7 +524,7 @@ int my_strnncoll_tis620(CHARSET_INFO *cs __attribute__((unused)),
tc1= buf;
if ((len1 + len2 +2) > (int) sizeof(buf))
- tc1= (uchar*) my_str_malloc(len1+len2+2);
+ tc1= (uchar*) my_malloc(len1+len2+2, MYF(MY_FAE));
tc2= tc1 + len1+1;
memcpy((char*) tc1, (char*) s1, len1);
tc1[len1]= 0; /* if length(s1)> len1, need to put 'end of string' */
@@ -535,7 +534,7 @@ int my_strnncoll_tis620(CHARSET_INFO *cs __attribute__((unused)),
thai2sortable(tc2, len2);
i= strcmp((char*)tc1, (char*)tc2);
if (tc1 != buf)
- my_str_free(tc1);
+ my_free(tc1);
return i;
}
@@ -556,7 +555,7 @@ int my_strnncollsp_tis620(CHARSET_INFO * cs __attribute__((unused)),
a= buf;
if ((a_length + b_length +2) > (int) sizeof(buf))
- alloced= a= (uchar*) my_str_malloc(a_length+b_length+2);
+ alloced= a= (uchar*) my_malloc(a_length+b_length+2, MYF(MY_FAE));
b= a + a_length+1;
memcpy((char*) a, (char*) a0, a_length);
@@ -605,7 +604,7 @@ int my_strnncollsp_tis620(CHARSET_INFO * cs __attribute__((unused)),
ret:
if (alloced)
- my_str_free(alloced);
+ my_free(alloced);
return res;
}
@@ -618,7 +617,7 @@ ret:
*/
static size_t
-my_strnxfrm_tis620(const CHARSET_INFO *cs,
+my_strnxfrm_tis620(CHARSET_INFO *cs,
uchar *dst, size_t dstlen, uint nweights,
const uchar *src, size_t srclen, uint flags)
{
@@ -885,7 +884,11 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_8bit,
+ my_well_formed_char_length_8bit,
+ my_copy_8bit,
+ my_wc_mb_bin, /* native_to_mb */
};
@@ -893,7 +896,7 @@ static MY_CHARSET_HANDLER my_charset_handler=
struct charset_info_st my_charset_tis620_thai_ci=
{
18,0,0, /* number */
- MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM, /* state */
+ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_NON1TO1, /* state */
"tis620", /* cs name */
"tis620_thai_ci", /* name */
"", /* comment */
diff --git a/strings/ctype-uca.c b/strings/ctype-uca.c
index 4ccf8170c3e..11cb184813b 100644
--- a/strings/ctype-uca.c
+++ b/strings/ctype-uca.c
@@ -35,6 +35,8 @@
#include "strings_def.h"
#include <m_ctype.h>
+#define MY_CS_COMMON_UCA_FLAGS (MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NON1TO1)
+
#define MY_UCA_CNT_FLAG_SIZE 4096
#define MY_UCA_CNT_FLAG_MASK 4095
#define MY_UCA_CNT_HEAD 1
@@ -6537,7 +6539,8 @@ MY_UCA_INFO my_uca_v400=
0, /* nitems */
NULL, /* item */
NULL /* flags */
- }
+ },
+ 0 /* levelno */
},
},
@@ -19102,6 +19105,11021 @@ NULL ,NULL ,NULL ,NULL
};
+static const uint16 uca520_p000_w2[]= { /* 0000 (4 weights per char) */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0000 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0002 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0004 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0006 */
+0x0000,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0008 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 000A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 000C */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 000E */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0010 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0012 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0014 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0016 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0018 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 001A */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 001C */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 001E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0020 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0022 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0024 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0026 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0028 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 002A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 002C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 002E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0030 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0032 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0034 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0036 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0038 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 003A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 003C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 003E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0040 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0042 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0044 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0046 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0048 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 004A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 004C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 004E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0050 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0052 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0054 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0056 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0058 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 005A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 005C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 005E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0060 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0062 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0064 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0066 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0068 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 006A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 006C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 006E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0070 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0072 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0074 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0076 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0078 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 007A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 007C */
+0x0020,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 007E */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0080 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0082 */
+0x0000,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0084 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0086 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0088 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 008A */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 008C */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 008E */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0090 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0092 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0094 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0096 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0098 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 009A */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 009C */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 009E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00A0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00A2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00A4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00A6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00A8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00AA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00AC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00AE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00B0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00B2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00B4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00B6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00B8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00BA */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 00BC */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00BE */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00C0 */
+0x0020,0x003C,0x0000,0x0000, 0x0020,0x004E,0x0000,0x0000, /* 00C2 */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0043,0x0000,0x0000, /* 00C4 */
+0x0020,0x0159,0x0020,0x0000, 0x0020,0x0056,0x0000,0x0000, /* 00C6 */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00C8 */
+0x0020,0x003C,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 00CA */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00CC */
+0x0020,0x003C,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 00CE */
+0x0020,0x0159,0x0000,0x0000, 0x0020,0x004E,0x0000,0x0000, /* 00D0 */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00D2 */
+0x0020,0x003C,0x0000,0x0000, 0x0020,0x004E,0x0000,0x0000, /* 00D4 */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00D6 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0035,0x0000,0x0000, /* 00D8 */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x003C,0x0000,0x0000, /* 00DA */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00DC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0159,0x0020,0x0000, /* 00DE */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00E0 */
+0x0020,0x003C,0x0000,0x0000, 0x0020,0x004E,0x0000,0x0000, /* 00E2 */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0043,0x0000,0x0000, /* 00E4 */
+0x0020,0x0159,0x0020,0x0000, 0x0020,0x0056,0x0000,0x0000, /* 00E6 */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00E8 */
+0x0020,0x003C,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 00EA */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00EC */
+0x0020,0x003C,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 00EE */
+0x0020,0x0159,0x0000,0x0000, 0x0020,0x004E,0x0000,0x0000, /* 00F0 */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00F2 */
+0x0020,0x003C,0x0000,0x0000, 0x0020,0x004E,0x0000,0x0000, /* 00F4 */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 00F6 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0035,0x0000,0x0000, /* 00F8 */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x003C,0x0000,0x0000, /* 00FA */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 00FC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000 /* 00FE */
+};
+
+static const uint16 uca520_p001_w2[]= { /* 0100 (5 weights per char) */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 0100 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 0101 */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 0102 */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 0103 */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 0104 */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 0105 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 0106 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 0107 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0108 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0109 */
+0x0020,0x0052,0x0000,0x0000,0x0000, /* 010A */
+0x0020,0x0052,0x0000,0x0000,0x0000, /* 010B */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 010C */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 010D */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 010E */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 010F */
+0x0020,0x007D,0x0000,0x0000,0x0000, /* 0110 */
+0x0020,0x007D,0x0000,0x0000,0x0000, /* 0111 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 0112 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 0113 */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 0114 */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 0115 */
+0x0020,0x0052,0x0000,0x0000,0x0000, /* 0116 */
+0x0020,0x0052,0x0000,0x0000,0x0000, /* 0117 */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 0118 */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 0119 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 011A */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 011B */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 011C */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 011D */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 011E */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 011F */
+0x0020,0x0052,0x0000,0x0000,0x0000, /* 0120 */
+0x0020,0x0052,0x0000,0x0000,0x0000, /* 0121 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0122 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0123 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0124 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0125 */
+0x0020,0x007D,0x0000,0x0000,0x0000, /* 0126 */
+0x0020,0x007D,0x0000,0x0000,0x0000, /* 0127 */
+0x0020,0x004E,0x0000,0x0000,0x0000, /* 0128 */
+0x0020,0x004E,0x0000,0x0000,0x0000, /* 0129 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 012A */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 012B */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 012C */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 012D */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 012E */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 012F */
+0x0020,0x0052,0x0000,0x0000,0x0000, /* 0130 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0131 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 0132 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 0133 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0134 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0135 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0136 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0137 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0138 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 0139 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 013A */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 013B */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 013C */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 013D */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 013E */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 013F */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 0140 */
+0x0020,0x007D,0x0000,0x0000,0x0000, /* 0141 */
+0x0020,0x007D,0x0000,0x0000,0x0000, /* 0142 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 0143 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 0144 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0145 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0146 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 0147 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 0148 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 0149 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 014A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 014B */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 014C */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 014D */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 014E */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 014F */
+0x0020,0x004D,0x0000,0x0000,0x0000, /* 0150 */
+0x0020,0x004D,0x0000,0x0000,0x0000, /* 0151 */
+0x0020,0x0159,0x0020,0x0000,0x0000, /* 0152 */
+0x0020,0x0159,0x0020,0x0000,0x0000, /* 0153 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 0154 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 0155 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0156 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0157 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 0158 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 0159 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 015A */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 015B */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 015C */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 015D */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 015E */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 015F */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 0160 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 0161 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0162 */
+0x0020,0x0056,0x0000,0x0000,0x0000, /* 0163 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 0164 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 0165 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0166 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0167 */
+0x0020,0x004E,0x0000,0x0000,0x0000, /* 0168 */
+0x0020,0x004E,0x0000,0x0000,0x0000, /* 0169 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 016A */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 016B */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 016C */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 016D */
+0x0020,0x0043,0x0000,0x0000,0x0000, /* 016E */
+0x0020,0x0043,0x0000,0x0000,0x0000, /* 016F */
+0x0020,0x004D,0x0000,0x0000,0x0000, /* 0170 */
+0x0020,0x004D,0x0000,0x0000,0x0000, /* 0171 */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 0172 */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 0173 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0174 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0175 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0176 */
+0x0020,0x003C,0x0000,0x0000,0x0000, /* 0177 */
+0x0020,0x0047,0x0000,0x0000,0x0000, /* 0178 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 0179 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 017A */
+0x0020,0x0052,0x0000,0x0000,0x0000, /* 017B */
+0x0020,0x0052,0x0000,0x0000,0x0000, /* 017C */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 017D */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 017E */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 017F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0180 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0181 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0182 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0183 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0184 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0185 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0186 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0187 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0188 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0189 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 018A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 018B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 018C */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 018D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 018E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 018F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0190 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0191 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0192 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0193 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0194 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0195 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0196 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0197 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0198 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 0199 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 019A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 019B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 019C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 019D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 019E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 019F */
+0x0020,0x0068,0x0000,0x0000,0x0000, /* 01A0 */
+0x0020,0x0068,0x0000,0x0000,0x0000, /* 01A1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01A2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01A3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01A4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01A5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01A6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01A7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01A8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01A9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01AA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01AB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01AC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01AD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01AE */
+0x0020,0x0068,0x0000,0x0000,0x0000, /* 01AF */
+0x0020,0x0068,0x0000,0x0000,0x0000, /* 01B0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01B1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01B2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01B3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01B4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01B5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01B6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01B7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01B8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01B9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01BA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01BB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01BC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01BD */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01BE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01BF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01C0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01C1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01C2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01C3 */
+0x0020,0x0020,0x0041,0x0000,0x0000, /* 01C4 */
+0x0020,0x0020,0x0041,0x0000,0x0000, /* 01C5 */
+0x0020,0x0020,0x0041,0x0000,0x0000, /* 01C6 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01C7 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01C8 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01C9 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01CA */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01CB */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01CC */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01CD */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01CE */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01CF */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01D0 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01D1 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01D2 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01D3 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01D4 */
+0x0020,0x0047,0x005B,0x0000,0x0000, /* 01D5 */
+0x0020,0x0047,0x005B,0x0000,0x0000, /* 01D6 */
+0x0020,0x0047,0x0032,0x0000,0x0000, /* 01D7 */
+0x0020,0x0047,0x0032,0x0000,0x0000, /* 01D8 */
+0x0020,0x0047,0x0041,0x0000,0x0000, /* 01D9 */
+0x0020,0x0047,0x0041,0x0000,0x0000, /* 01DA */
+0x0020,0x0047,0x0035,0x0000,0x0000, /* 01DB */
+0x0020,0x0047,0x0035,0x0000,0x0000, /* 01DC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01DD */
+0x0020,0x0047,0x005B,0x0000,0x0000, /* 01DE */
+0x0020,0x0047,0x005B,0x0000,0x0000, /* 01DF */
+0x0020,0x0052,0x005B,0x0000,0x0000, /* 01E0 */
+0x0020,0x0052,0x005B,0x0000,0x0000, /* 01E1 */
+0x0020,0x0159,0x0020,0x005B,0x0000, /* 01E2 */
+0x0020,0x0159,0x0020,0x005B,0x0000, /* 01E3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01E4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01E5 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01E6 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01E7 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01E8 */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01E9 */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 01EA */
+0x0020,0x0059,0x0000,0x0000,0x0000, /* 01EB */
+0x0020,0x0059,0x005B,0x0000,0x0000, /* 01EC */
+0x0020,0x0059,0x005B,0x0000,0x0000, /* 01ED */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01EE */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01EF */
+0x0020,0x0041,0x0000,0x0000,0x0000, /* 01F0 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01F1 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01F2 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 01F3 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 01F4 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 01F5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01F6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 01F7 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 01F8 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 01F9 */
+0x0020,0x0043,0x0032,0x0000,0x0000, /* 01FA */
+0x0020,0x0043,0x0032,0x0000,0x0000, /* 01FB */
+0x0020,0x0159,0x0020,0x0032,0x0000, /* 01FC */
+0x0020,0x0159,0x0020,0x0032,0x0000, /* 01FD */
+0x0020,0x0054,0x0032,0x0000,0x0000, /* 01FE */
+0x0020,0x0054,0x0032,0x0000,0x0000 /* 01FF */
+};
+
+static const uint16 uca520_p002_w2[]= { /* 0200 (4 weights per char) */
+0x0020,0x0065,0x0000,0x0000, 0x0020,0x0065,0x0000,0x0000, /* 0200 */
+0x0020,0x0067,0x0000,0x0000, 0x0020,0x0067,0x0000,0x0000, /* 0202 */
+0x0020,0x0065,0x0000,0x0000, 0x0020,0x0065,0x0000,0x0000, /* 0204 */
+0x0020,0x0067,0x0000,0x0000, 0x0020,0x0067,0x0000,0x0000, /* 0206 */
+0x0020,0x0065,0x0000,0x0000, 0x0020,0x0065,0x0000,0x0000, /* 0208 */
+0x0020,0x0067,0x0000,0x0000, 0x0020,0x0067,0x0000,0x0000, /* 020A */
+0x0020,0x0065,0x0000,0x0000, 0x0020,0x0065,0x0000,0x0000, /* 020C */
+0x0020,0x0067,0x0000,0x0000, 0x0020,0x0067,0x0000,0x0000, /* 020E */
+0x0020,0x0065,0x0000,0x0000, 0x0020,0x0065,0x0000,0x0000, /* 0210 */
+0x0020,0x0067,0x0000,0x0000, 0x0020,0x0067,0x0000,0x0000, /* 0212 */
+0x0020,0x0065,0x0000,0x0000, 0x0020,0x0065,0x0000,0x0000, /* 0214 */
+0x0020,0x0067,0x0000,0x0000, 0x0020,0x0067,0x0000,0x0000, /* 0216 */
+0x0020,0x0077,0x0000,0x0000, 0x0020,0x0077,0x0000,0x0000, /* 0218 */
+0x0020,0x0077,0x0000,0x0000, 0x0020,0x0077,0x0000,0x0000, /* 021A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 021C */
+0x0020,0x0041,0x0000,0x0000, 0x0020,0x0041,0x0000,0x0000, /* 021E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0220 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0222 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0224 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 0226 */
+0x0020,0x0056,0x0000,0x0000, 0x0020,0x0056,0x0000,0x0000, /* 0228 */
+0x0020,0x0047,0x005B,0x0000, 0x0020,0x0047,0x005B,0x0000, /* 022A */
+0x0020,0x004E,0x005B,0x0000, 0x0020,0x004E,0x005B,0x0000, /* 022C */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 022E */
+0x0020,0x0052,0x005B,0x0000, 0x0020,0x0052,0x005B,0x0000, /* 0230 */
+0x0020,0x005B,0x0000,0x0000, 0x0020,0x005B,0x0000,0x0000, /* 0232 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0234 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0236 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 0238 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 023A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 023C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 023E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0240 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0242 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0244 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0246 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0248 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 024A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 024C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 024E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0250 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0252 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0254 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0256 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0258 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 025A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 025C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 025E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0260 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0262 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0264 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0266 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0268 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 026A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 026C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 026E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0270 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0272 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0274 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0276 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0278 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 027A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 027C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 027E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0280 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0282 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0284 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0286 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0288 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 028A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 028C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 028E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0290 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0292 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0294 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0296 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0298 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 029A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 029C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 029E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02A0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 02A2 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 02A4 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 02A6 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 02A8 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 02AA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02AC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02AE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02B0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02B2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02B4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02B6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02B8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02BA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02BC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02BE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02C0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02C2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02C4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02C6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02C8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02CA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02CC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02CE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02D0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02D2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02D4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02D6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02D8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02DA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02DC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02DE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02E0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02E2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02E4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02E6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02E8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02EA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02EC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02EE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02F0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02F2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02F4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02F6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02F8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02FA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 02FC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 02FE */
+};
+
+static const uint16 uca520_p003_w2[]= { /* 0300 (4 weights per char) */
+0x0035,0x0000,0x0000,0x0000, 0x0032,0x0000,0x0000,0x0000, /* 0300 */
+0x003C,0x0000,0x0000,0x0000, 0x004E,0x0000,0x0000,0x0000, /* 0302 */
+0x005B,0x0000,0x0000,0x0000, 0x0063,0x0000,0x0000,0x0000, /* 0304 */
+0x0037,0x0000,0x0000,0x0000, 0x0052,0x0000,0x0000,0x0000, /* 0306 */
+0x0047,0x0000,0x0000,0x0000, 0x0064,0x0000,0x0000,0x0000, /* 0308 */
+0x0043,0x0000,0x0000,0x0000, 0x004D,0x0000,0x0000,0x0000, /* 030A */
+0x0041,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 030C */
+0x005F,0x0000,0x0000,0x0000, 0x0065,0x0000,0x0000,0x0000, /* 030E */
+0x0066,0x0000,0x0000,0x0000, 0x0067,0x0000,0x0000,0x0000, /* 0310 */
+0x005F,0x0000,0x0000,0x0000, 0x0022,0x0000,0x0000,0x0000, /* 0312 */
+0x002A,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 0314 */
+0x0060,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 0316 */
+0x0060,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 0318 */
+0x005F,0x0000,0x0000,0x0000, 0x0068,0x0000,0x0000,0x0000, /* 031A */
+0x0060,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 031C */
+0x0060,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 031E */
+0x0060,0x0000,0x0000,0x0000, 0x006E,0x0000,0x0000,0x0000, /* 0320 */
+0x006F,0x0000,0x0000,0x0000, 0x0070,0x0000,0x0000,0x0000, /* 0322 */
+0x0075,0x0000,0x0000,0x0000, 0x0076,0x0000,0x0000,0x0000, /* 0324 */
+0x0077,0x0000,0x0000,0x0000, 0x0056,0x0000,0x0000,0x0000, /* 0326 */
+0x0059,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 0328 */
+0x0060,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 032A */
+0x0060,0x0000,0x0000,0x0000, 0x0078,0x0000,0x0000,0x0000, /* 032C */
+0x0079,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 032E */
+0x007A,0x0000,0x0000,0x0000, 0x007B,0x0000,0x0000,0x0000, /* 0330 */
+0x0021,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 0332 */
+0x007C,0x0000,0x0000,0x0000, 0x007D,0x0000,0x0000,0x0000, /* 0334 */
+0x0061,0x0000,0x0000,0x0000, 0x0061,0x0000,0x0000,0x0000, /* 0336 */
+0x0054,0x0000,0x0000,0x0000, 0x007E,0x0000,0x0000,0x0000, /* 0338 */
+0x0060,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 033A */
+0x0060,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 033C */
+0x005F,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 033E */
+0x0035,0x0000,0x0000,0x0000, 0x0032,0x0000,0x0000,0x0000, /* 0340 */
+0x0045,0x0000,0x0000,0x0000, 0x0022,0x0000,0x0000,0x0000, /* 0342 */
+0x0047,0x0032,0x0000,0x0000, 0x007F,0x0000,0x0000,0x0000, /* 0344 */
+0x005F,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 0346 */
+0x0060,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 0348 */
+0x005F,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 034A */
+0x005F,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 034C */
+0x0060,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 034E */
+0x005F,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 0350 */
+0x005F,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 0352 */
+0x0060,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 0354 */
+0x0060,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 0356 */
+0x0080,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 0358 */
+0x0060,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 035A */
+0x0060,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 035C */
+0x005F,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 035E */
+0x0081,0x0000,0x0000,0x0000, 0x0082,0x0000,0x0000,0x0000, /* 0360 */
+0x0060,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0362 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0364 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0366 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0368 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 036A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 036C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 036E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0370 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0372 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0374 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0376 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0378 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 037A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 037C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 037E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0380 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0382 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 0384 */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0386 */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 0388 */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 038A */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 038C */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 038E */
+0x0020,0x0047,0x0032,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0390 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0392 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0394 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0396 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0398 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 039A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 039C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 039E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03A0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03A2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03A4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03A6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03A8 */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 03AA */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 03AC */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 03AE */
+0x0020,0x0047,0x0032,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03B0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03B2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03B4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03B6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03B8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03BA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03BC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03BE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03C0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03C2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03C4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03C6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03C8 */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 03CA */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 03CC */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 03CE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03D0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 03D2 */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03D4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 03D6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03D8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03DA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03DC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03DE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03E0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03E2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03E4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03E6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03E8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03EA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03EC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03EE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03F0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03F2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03F4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03F6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03F8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03FA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 03FC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 03FE */
+};
+
+static const uint16 uca520_p004_w2[]= { /* 0400 (3 weights per char) */
+0x0020,0x0035,0x0000, 0x0020,0x0047,0x0000, 0x0020,0x0000,0x0000, /* 0400 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0403 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0406 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0409 */
+0x0020,0x0000,0x0000, 0x0020,0x0035,0x0000, 0x0020,0x0000,0x0000, /* 040C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 040F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0412 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0415 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0418 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 041B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 041E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0421 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0424 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0427 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 042A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 042D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0430 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0433 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0436 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0439 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 043C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 043F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0442 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0445 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0448 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 044B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0035,0x0000, /* 044E */
+0x0020,0x0047,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0451 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0454 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0457 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 045A */
+0x0020,0x0035,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 045D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0460 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0463 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0466 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0469 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 046C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 046F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0472 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0475 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0478 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 047B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 047E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0083,0x0000,0x0000, /* 0481 */
+0x005F,0x0000,0x0000, 0x002A,0x0000,0x0000, 0x0022,0x0000,0x0000, /* 0484 */
+0x005F,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0487 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 048A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 048D */
+0x0020,0x015A,0x0000, 0x0020,0x015A,0x0000, 0x0020,0x0000,0x0000, /* 0490 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0493 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0496 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0499 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 049C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 049F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04BD */
+0x0020,0x0000,0x0000, 0x0020,0x0037,0x0000, 0x0020,0x0037,0x0000, /* 04C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04DE */
+0x0020,0x0000,0x0000, 0x0020,0x005B,0x0000, 0x0020,0x005B,0x0000, /* 04E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04EA */
+0x0020,0x0000,0x0000, 0x0020,0x005B,0x0000, 0x0020,0x005B,0x0000, /* 04ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 04FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p005_w2[]= { /* 0500 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0500 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0503 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0506 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0509 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 050C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 050F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0512 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0515 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0518 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 051B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 051E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0521 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0524 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0527 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 052A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 052D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0530 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0533 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0536 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0539 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 053C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 053F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0542 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0545 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0548 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 054B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 054E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0551 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0554 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0557 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 055A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 055D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0560 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0563 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0566 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0569 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 056C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 056F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0572 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0575 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0578 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 057B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 057E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0581 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0584 */
+0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0587 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 058A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 058D */
+0x0020,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0590 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0593 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0596 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0599 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 059C */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 059F */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 05A2 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 05A5 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 05A8 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 05AB */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0085,0x0000,0x0000, /* 05AE */
+0x0086,0x0000,0x0000, 0x0087,0x0000,0x0000, 0x0088,0x0000,0x0000, /* 05B1 */
+0x0089,0x0000,0x0000, 0x008A,0x0000,0x0000, 0x008B,0x0000,0x0000, /* 05B4 */
+0x008C,0x0000,0x0000, 0x008D,0x0000,0x0000, 0x008E,0x0000,0x0000, /* 05B7 */
+0x008E,0x0000,0x0000, 0x008F,0x0000,0x0000, 0x0092,0x0000,0x0000, /* 05BA */
+0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0095,0x0000,0x0000, /* 05BD */
+0x0020,0x0000,0x0000, 0x0091,0x0000,0x0000, 0x0090,0x0000,0x0000, /* 05C0 */
+0x0020,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 05C3 */
+0x0020,0x0000,0x0000, 0x008D,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05ED */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* 05F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 05FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p006_w2[]= { /* 0600 (3 weights per char) */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0600 */
+0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0603 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0606 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0609 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 060C */
+0x0020,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 060F */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0612 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0615 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0618 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 061B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 061E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0621 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0624 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0627 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 062A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 062D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0630 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0633 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0636 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0639 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 063C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 063F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0642 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0645 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0648 */
+0x00A2,0x0000,0x0000, 0x00A3,0x0000,0x0000, 0x00A5,0x0000,0x0000, /* 064B */
+0x00A7,0x0000,0x0000, 0x00A9,0x0000,0x0000, 0x00AB,0x0000,0x0000, /* 064E */
+0x00AD,0x0000,0x0000, 0x00AF,0x0000,0x0000, 0x00B0,0x0000,0x0000, /* 0651 */
+0x00B1,0x0000,0x0000, 0x00B2,0x0000,0x0000, 0x00B3,0x0000,0x0000, /* 0654 */
+0x00B4,0x0000,0x0000, 0x00B5,0x0000,0x0000, 0x00B6,0x0000,0x0000, /* 0657 */
+0x00B7,0x0000,0x0000, 0x00B8,0x0000,0x0000, 0x00B9,0x0000,0x0000, /* 065A */
+0x00BA,0x0000,0x0000, 0x00BB,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 065D */
+0x0020,0x015F,0x0000, 0x0020,0x015F,0x0000, 0x0020,0x015F,0x0000, /* 0660 */
+0x0020,0x015F,0x0000, 0x0020,0x015F,0x0000, 0x0020,0x015F,0x0000, /* 0663 */
+0x0020,0x015F,0x0000, 0x0020,0x015F,0x0000, 0x0020,0x015F,0x0000, /* 0666 */
+0x0020,0x015F,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0669 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 066C */
+0x0020,0x0000,0x0000, 0x00BC,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 066F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0672 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* 0675 */
+0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0678 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 067B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 067E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0681 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0684 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0687 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 068A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 068D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0690 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0693 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0696 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0699 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 069C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 069F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06BD */
+0x0020,0x00B1,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x00B1,0x0000, /* 06C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06CF */
+0x0020,0x0000,0x0000, 0x0020,0x00B1,0x0000, 0x0020,0x0000,0x0000, /* 06D2 */
+0x0020,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 06D5 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 06D8 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 06DB */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 06DE */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 06E1 */
+0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06E4 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06E7 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 06EA */
+0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06ED */
+0x0020,0x0160,0x0000, 0x0020,0x0160,0x0000, 0x0020,0x0160,0x0000, /* 06F0 */
+0x0020,0x0160,0x0000, 0x0020,0x0160,0x0000, 0x0020,0x0160,0x0000, /* 06F3 */
+0x0020,0x0160,0x0000, 0x0020,0x0160,0x0000, 0x0020,0x0160,0x0000, /* 06F6 */
+0x0020,0x0160,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 06F9 */
+0x0020,0x0000,0x0000, 0x0020,0x015A,0x0000, 0x0020,0x015A,0x0000, /* 06FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p007_w2[]= { /* 0700 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0700 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0703 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0706 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0709 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 070C */
+0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x00BD,0x0000,0x0000, /* 070F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x015A,0x0000, /* 0712 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0715 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0718 */
+0x0020,0x0000,0x0000, 0x0020,0x015A,0x0000, 0x0020,0x0000,0x0000, /* 071B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 071E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0721 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0724 */
+0x0020,0x015A,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0727 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 072A */
+0x0020,0x015C,0x0000, 0x0020,0x015C,0x0000, 0x0020,0x015C,0x0000, /* 072D */
+0x00BE,0x0000,0x0000, 0x00BF,0x0000,0x0000, 0x00C0,0x0000,0x0000, /* 0730 */
+0x00C1,0x0000,0x0000, 0x00C2,0x0000,0x0000, 0x00C3,0x0000,0x0000, /* 0733 */
+0x00C4,0x0000,0x0000, 0x00C5,0x0000,0x0000, 0x00C6,0x0000,0x0000, /* 0736 */
+0x00C7,0x0000,0x0000, 0x00C8,0x0000,0x0000, 0x00C9,0x0000,0x0000, /* 0739 */
+0x00CA,0x0000,0x0000, 0x00CB,0x0000,0x0000, 0x00CC,0x0000,0x0000, /* 073C */
+0x00CD,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000, /* 073F */
+0x0060,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0742 */
+0x005F,0x0000,0x0000, 0x0060,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0745 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 0748 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 074B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 074E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0751 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0754 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0757 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 075A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 075D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0760 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0763 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0766 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0769 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 076C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 076F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0772 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0775 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0778 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 077B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 077E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0781 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0784 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0787 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 078A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 078D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0790 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0793 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0796 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0799 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 079C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 079F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07BD */
+0x0020,0x0162,0x0000, 0x0020,0x0162,0x0000, 0x0020,0x0162,0x0000, /* 07C0 */
+0x0020,0x0162,0x0000, 0x0020,0x0162,0x0000, 0x0020,0x0162,0x0000, /* 07C3 */
+0x0020,0x0162,0x0000, 0x0020,0x0162,0x0000, 0x0020,0x0162,0x0000, /* 07C6 */
+0x0020,0x0162,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, /* 07E7 */
+0x0020,0x0159,0x0000, 0x00CE,0x0000,0x0000, 0x00CF,0x0000,0x0000, /* 07EA */
+0x00D0,0x0000,0x0000, 0x00D1,0x0000,0x0000, 0x00D2,0x0000,0x0000, /* 07ED */
+0x00D3,0x0000,0x0000, 0x00D4,0x0000,0x0000, 0x00D5,0x0000,0x0000, /* 07F0 */
+0x00D6,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 07FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p008_w2[]= { /* 0800 (2 weights per char) */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0800 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0804 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0808 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 080C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0810 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0814 */
+0x009F,0x0000, 0x00A0,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0818 */
+0x0097,0x0000, 0x0097,0x0000, 0x0098,0x0000, 0x0098,0x0000, /* 081C */
+0x0098,0x0000, 0x0099,0x0000, 0x0099,0x0000, 0x0099,0x0000, /* 0820 */
+0x009A,0x0000, 0x009A,0x0000, 0x009B,0x0000, 0x009B,0x0000, /* 0824 */
+0x009C,0x0000, 0x009C,0x0000, 0x009C,0x0000, 0x009D,0x0000, /* 0828 */
+0x009E,0x0000, 0x00A1,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 082C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0830 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0834 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0838 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 083C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0840 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0844 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0848 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 084C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0850 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0854 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0858 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 085C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0860 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0864 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0868 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 086C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0870 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0874 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0878 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 087C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0880 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0884 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0888 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 088C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0890 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0894 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 0898 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 089C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08A0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08A4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08A8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08AC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08B0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08B4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08B8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08BC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08C0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08C4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08C8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08CC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08D0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08D4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08D8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08DC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08E0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08E4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08E8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08EC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08F0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08F4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 08F8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000 /* 08FC */
+};
+
+static const uint16 uca520_p009_w2[]= { /* 0900 (3 weights per char) */
+0x00DB,0x0000,0x0000, 0x00DB,0x0000,0x0000, 0x00DC,0x0000,0x0000, /* 0900 */
+0x00DD,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0903 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0906 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0909 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 090C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 090F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0912 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0915 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0918 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 091B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 091E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0921 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0924 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x00DA,0x0000, /* 0927 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 092A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 092D */
+0x0020,0x0000,0x0000, 0x0020,0x00DA,0x0000, 0x0020,0x0000,0x0000, /* 0930 */
+0x0020,0x0000,0x0000, 0x0020,0x00DA,0x0000, 0x0020,0x0000,0x0000, /* 0933 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0936 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0939 */
+0x00DA,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 093C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 093F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0942 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0945 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0948 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 094B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 094E */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0035,0x0000,0x0000, /* 0951 */
+0x0032,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0954 */
+0x0020,0x0000,0x0000, 0x0020,0x00DA,0x0000, 0x0020,0x00DA,0x0000, /* 0957 */
+0x0020,0x00DA,0x0000, 0x0020,0x00DA,0x0000, 0x0020,0x00DA,0x0000, /* 095A */
+0x0020,0x00DA,0x0000, 0x0020,0x00DA,0x0000, 0x0020,0x00DA,0x0000, /* 095D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0960 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0963 */
+0x0020,0x0165,0x0000, 0x0020,0x0165,0x0000, 0x0020,0x0165,0x0000, /* 0966 */
+0x0020,0x0165,0x0000, 0x0020,0x0165,0x0000, 0x0020,0x0165,0x0000, /* 0969 */
+0x0020,0x0165,0x0000, 0x0020,0x0165,0x0000, 0x0020,0x0165,0x0000, /* 096C */
+0x0020,0x0165,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 096F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0972 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0975 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0978 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 097B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 097E */
+0x00DF,0x0000,0x0000, 0x00E0,0x0000,0x0000, 0x00E1,0x0000,0x0000, /* 0981 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0984 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0987 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 098A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 098D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0990 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0993 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0996 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0999 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 099C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 099F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x00DE,0x0000,0x0000, /* 09BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000, /* 09CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09D8 */
+0x0020,0x0000,0x0000, 0x0020,0x00DE,0x0000, 0x0020,0x00DE,0x0000, /* 09DB */
+0x0020,0x0000,0x0000, 0x0020,0x00DE,0x0000, 0x0020,0x0000,0x0000, /* 09DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0166,0x0000, /* 09E4 */
+0x0020,0x0166,0x0000, 0x0020,0x0166,0x0000, 0x0020,0x0166,0x0000, /* 09E7 */
+0x0020,0x0166,0x0000, 0x0020,0x0166,0x0000, 0x0020,0x0166,0x0000, /* 09EA */
+0x0020,0x0166,0x0000, 0x0020,0x0166,0x0000, 0x0020,0x0166,0x0000, /* 09ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 09FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p00A_w2[]= { /* 0A00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x00E3,0x0000,0x0000, 0x00E4,0x0000,0x0000, /* 0A00 */
+0x00E5,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A30 */
+0x0020,0x00E2,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A33 */
+0x0020,0x00E2,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A39 */
+0x00E2,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x00E2,0x0000, /* 0A57 */
+0x0020,0x00E2,0x0000, 0x0020,0x00E2,0x0000, 0x0020,0x0000,0x0000, /* 0A5A */
+0x0020,0x0000,0x0000, 0x0020,0x00E2,0x0000, 0x0020,0x0000,0x0000, /* 0A5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A63 */
+0x0020,0x0167,0x0000, 0x0020,0x0167,0x0000, 0x0020,0x0167,0x0000, /* 0A66 */
+0x0020,0x0167,0x0000, 0x0020,0x0167,0x0000, 0x0020,0x0167,0x0000, /* 0A69 */
+0x0020,0x0167,0x0000, 0x0020,0x0167,0x0000, 0x0020,0x0167,0x0000, /* 0A6C */
+0x0020,0x0167,0x0000, 0x00E6,0x0000,0x0000, 0x00E7,0x0000,0x0000, /* 0A6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A7E */
+0x00E9,0x0000,0x0000, 0x00EA,0x0000,0x0000, 0x00EB,0x0000,0x0000, /* 0A81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0A9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x00E8,0x0000,0x0000, /* 0ABA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0ABD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0ACC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0ACF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0ADB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0ADE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0168,0x0000, /* 0AE4 */
+0x0020,0x0168,0x0000, 0x0020,0x0168,0x0000, 0x0020,0x0168,0x0000, /* 0AE7 */
+0x0020,0x0168,0x0000, 0x0020,0x0168,0x0000, 0x0020,0x0168,0x0000, /* 0AEA */
+0x0020,0x0168,0x0000, 0x0020,0x0168,0x0000, 0x0020,0x0168,0x0000, /* 0AED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0AFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p00B_w2[]= { /* 0B00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x00ED,0x0000,0x0000, 0x00EE,0x0000,0x0000, /* 0B00 */
+0x00EF,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B39 */
+0x00EC,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x00EC,0x0000, /* 0B5A */
+0x0020,0x00EC,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B63 */
+0x0020,0x0169,0x0000, 0x0020,0x0169,0x0000, 0x0020,0x0169,0x0000, /* 0B66 */
+0x0020,0x0169,0x0000, 0x0020,0x0169,0x0000, 0x0020,0x0169,0x0000, /* 0B69 */
+0x0020,0x0169,0x0000, 0x0020,0x0169,0x0000, 0x0020,0x0169,0x0000, /* 0B6C */
+0x0020,0x0169,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B7E */
+0x0020,0x0000,0x0000, 0x00F0,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0B9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BCC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BCF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x016A,0x0000, /* 0BE4 */
+0x0020,0x016A,0x0000, 0x0020,0x016A,0x0000, 0x0020,0x016A,0x0000, /* 0BE7 */
+0x0020,0x016A,0x0000, 0x0020,0x016A,0x0000, 0x0020,0x016A,0x0000, /* 0BEA */
+0x0020,0x016A,0x0000, 0x0020,0x016A,0x0000, 0x0020,0x016A,0x0000, /* 0BED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0BFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p00C_w2[]= { /* 0C00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x00F1,0x0000,0x0000, 0x00F2,0x0000,0x0000, /* 0C00 */
+0x00F3,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C63 */
+0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, /* 0C66 */
+0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, /* 0C69 */
+0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, /* 0C6C */
+0x0020,0x016B,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C75 */
+0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, /* 0C78 */
+0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, 0x0020,0x016B,0x0000, /* 0C7B */
+0x0020,0x016B,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C7E */
+0x0020,0x0000,0x0000, 0x00F5,0x0000,0x0000, 0x00F6,0x0000,0x0000, /* 0C81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0C9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x00F4,0x0000,0x0000, /* 0CBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CCC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CCF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x016C,0x0000, /* 0CE4 */
+0x0020,0x016C,0x0000, 0x0020,0x016C,0x0000, 0x0020,0x016C,0x0000, /* 0CE7 */
+0x0020,0x016C,0x0000, 0x0020,0x016C,0x0000, 0x0020,0x016C,0x0000, /* 0CEA */
+0x0020,0x016C,0x0000, 0x0020,0x016C,0x0000, 0x0020,0x016C,0x0000, /* 0CED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0CFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p00D_w2[]= { /* 0D00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x00F7,0x0000,0x0000, /* 0D00 */
+0x00F8,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D63 */
+0x0020,0x016D,0x0000, 0x0020,0x016D,0x0000, 0x0020,0x016D,0x0000, /* 0D66 */
+0x0020,0x016D,0x0000, 0x0020,0x016D,0x0000, 0x0020,0x016D,0x0000, /* 0D69 */
+0x0020,0x016D,0x0000, 0x0020,0x016D,0x0000, 0x0020,0x016D,0x0000, /* 0D6C */
+0x0020,0x016D,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000, /* 0D78 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* 0D7B */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000, /* 0D7E */
+0x0020,0x0000,0x0000, 0x00F9,0x0000,0x0000, 0x00FA,0x0000,0x0000, /* 0D81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0D9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DCC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DCF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0DFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p00E_w2[]= { /* 0E00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E00 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0117,0x0000,0x0000, /* 0E45 */
+0x0118,0x0000,0x0000, 0x0119,0x0000,0x0000, 0x011A,0x0000,0x0000, /* 0E48 */
+0x011B,0x0000,0x0000, 0x011C,0x0000,0x0000, 0x011D,0x0000,0x0000, /* 0E4B */
+0x0116,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0175,0x0000, /* 0E4E */
+0x0020,0x0175,0x0000, 0x0020,0x0175,0x0000, 0x0020,0x0175,0x0000, /* 0E51 */
+0x0020,0x0175,0x0000, 0x0020,0x0175,0x0000, 0x0020,0x0175,0x0000, /* 0E54 */
+0x0020,0x0175,0x0000, 0x0020,0x0175,0x0000, 0x0020,0x0175,0x0000, /* 0E57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E7E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0E9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x011E,0x0000,0x0000, /* 0EC6 */
+0x011F,0x0000,0x0000, 0x0120,0x0000,0x0000, 0x0121,0x0000,0x0000, /* 0EC9 */
+0x0122,0x0000,0x0000, 0x0123,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0ECC */
+0x0020,0x0000,0x0000, 0x0020,0x0176,0x0000, 0x0020,0x0176,0x0000, /* 0ECF */
+0x0020,0x0176,0x0000, 0x0020,0x0176,0x0000, 0x0020,0x0176,0x0000, /* 0ED2 */
+0x0020,0x0176,0x0000, 0x0020,0x0176,0x0000, 0x0020,0x0176,0x0000, /* 0ED5 */
+0x0020,0x0176,0x0000, 0x0020,0x0176,0x0000, 0x0020,0x0000,0x0000, /* 0ED8 */
+0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* 0EDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 0EFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p00F_w2[]= { /* 0F00 (4 weights per char) */
+0x0020,0x0020,0x0127,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F00 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F02 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F04 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F06 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F08 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F0A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F0C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F0E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F10 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F12 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F14 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F16 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0F18 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F1A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F1C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F1E */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F20 */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F22 */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F24 */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F26 */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F28 */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F2A */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F2C */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F2E */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F30 */
+0x0020,0x0177,0x0000,0x0000, 0x0020,0x0177,0x0000,0x0000, /* 0F32 */
+0x0020,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0F34 */
+0x0020,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0F36 */
+0x0020,0x0000,0x0000,0x0000, 0x0126,0x0000,0x0000,0x0000, /* 0F38 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F3A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F3C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F3E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F40 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 0F42 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F44 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F46 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F48 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F4A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 0F4C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F4E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F50 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F52 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F54 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 0F56 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F58 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F5A */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F5C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F5E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F60 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F62 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F64 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F66 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 0F68 */
+0x0020,0x015A,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F6A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F6C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F6E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F70 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F72 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F74 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F76 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F78 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F7A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F7C */
+0x0127,0x0000,0x0000,0x0000, 0x0128,0x0000,0x0000,0x0000, /* 0F7E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F80 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0F82 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F84 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 0F86 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F88 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F8A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F8C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F8E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F90 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 0F92 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F94 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F96 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F98 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F9A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 0F9C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0F9E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FA0 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FA2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FA4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 0FA6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FA8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FAA */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FAC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FAE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FB0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FB2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FB4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FB6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 0FB8 */
+0x0020,0x015A,0x0000,0x0000, 0x0020,0x015A,0x0000,0x0000, /* 0FBA */
+0x0020,0x015A,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FBC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FBE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FC0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FC2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FC4 */
+0x0000,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FC6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FC8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FCA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FCC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FCE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FD0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FD2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FD4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FD6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FD8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FDA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FDC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FDE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FE0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FE2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FE4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FE6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FE8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FEA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FEC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FEE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FF0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FF2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FF4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FF6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FF8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FFA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 0FFC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 0FFE */
+};
+
+static const uint16 uca520_p010_w2[]= { /* 1000 (4 weights per char) */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1000 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1002 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1004 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1006 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1008 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 100A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 100C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 100E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1010 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1012 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1014 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1016 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1018 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 101A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 101C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 101E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1020 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1022 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1024 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1026 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1028 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 102A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 102C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 102E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1030 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1032 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1034 */
+0x012D,0x0000,0x0000,0x0000, 0x012E,0x0000,0x0000,0x0000, /* 1036 */
+0x012F,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1038 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 103A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 103C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 103E */
+0x0020,0x017A,0x0000,0x0000, 0x0020,0x017A,0x0000,0x0000, /* 1040 */
+0x0020,0x017A,0x0000,0x0000, 0x0020,0x017A,0x0000,0x0000, /* 1042 */
+0x0020,0x017A,0x0000,0x0000, 0x0020,0x017A,0x0000,0x0000, /* 1044 */
+0x0020,0x017A,0x0000,0x0000, 0x0020,0x017A,0x0000,0x0000, /* 1046 */
+0x0020,0x017A,0x0000,0x0000, 0x0020,0x017A,0x0000,0x0000, /* 1048 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 104A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 104C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 104E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1050 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1052 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1054 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1056 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1058 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 105A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 105C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 105E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1060 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1062 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1064 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1066 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1068 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 106A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 106C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 106E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1070 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1072 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1074 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1076 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1078 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 107A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 107C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 107E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1080 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1082 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1084 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1086 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1088 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 108A */
+0x0020,0x0000,0x0000,0x0000, 0x0130,0x0000,0x0000,0x0000, /* 108C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 108E */
+0x0020,0x017B,0x0000,0x0000, 0x0020,0x017B,0x0000,0x0000, /* 1090 */
+0x0020,0x017B,0x0000,0x0000, 0x0020,0x017B,0x0000,0x0000, /* 1092 */
+0x0020,0x017B,0x0000,0x0000, 0x0020,0x017B,0x0000,0x0000, /* 1094 */
+0x0020,0x017B,0x0000,0x0000, 0x0020,0x017B,0x0000,0x0000, /* 1096 */
+0x0020,0x017B,0x0000,0x0000, 0x0020,0x017B,0x0000,0x0000, /* 1098 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 109A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 109C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 109E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10A0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10A2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10A4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10A6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10A8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10AA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10AC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10AE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10B0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10B2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10B4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10B6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10B8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10BA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10BC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10BE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10C0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10C2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10C4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10C6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10C8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10CA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10CC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10CE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10D0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10D2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10D4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10D6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10D8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10DA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10DC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10DE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10E0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10E2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10E4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10E6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10E8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10EA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10EC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10EE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10F0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10F2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10F4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10F6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10F8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10FA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 10FC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 10FE */
+};
+
+static const uint16 uca520_p013_w2[]= { /* 1300 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1300 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1303 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1306 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1309 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 130C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 130F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1312 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1315 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1318 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 131B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 131E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1321 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1324 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1327 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 132A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 132D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1330 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1333 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1336 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1339 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 133C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 133F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1342 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1345 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1348 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 134B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 134E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1351 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1354 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1357 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 135A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x00D7,0x0000,0x0000, /* 135D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1360 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1363 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1366 */
+0x0020,0x0163,0x0000, 0x0020,0x0163,0x0000, 0x0020,0x0163,0x0000, /* 1369 */
+0x0020,0x0163,0x0000, 0x0020,0x0163,0x0000, 0x0020,0x0163,0x0000, /* 136C */
+0x0020,0x0163,0x0000, 0x0020,0x0163,0x0000, 0x0020,0x0163,0x0000, /* 136F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1372 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1375 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1378 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 137B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 137E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1381 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1384 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1387 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 138A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 138D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1390 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1393 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1396 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1399 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 139C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 139F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 13FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p016_w2[]= { /* 1600 (5 weights per char) */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1600 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1601 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1602 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1603 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1604 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1605 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1606 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1607 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1608 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1609 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 160A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 160B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 160C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 160D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 160E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 160F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1610 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1611 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1612 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1613 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1614 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1615 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1616 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1617 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1618 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1619 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 161A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 161B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 161C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 161D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 161E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 161F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1620 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1621 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1622 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1623 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1624 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1625 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1626 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1627 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1628 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1629 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 162A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 162B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 162C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 162D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 162E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 162F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1630 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1631 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1632 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1633 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1634 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1635 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1636 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1637 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1638 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1639 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 163A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 163B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 163C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 163D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 163E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 163F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1640 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1641 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1642 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1643 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1644 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1645 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1646 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1647 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1648 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1649 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 164A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 164B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 164C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 164D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 164E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 164F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1650 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1651 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1652 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1653 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1654 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1655 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1656 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1657 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1658 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1659 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 165A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 165B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 165C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 165D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 165E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 165F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1660 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1661 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1662 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1663 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1664 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1665 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1666 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1667 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1668 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1669 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 166A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 166B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 166C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 166D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 166E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 166F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1670 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1671 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1672 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1673 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1674 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1675 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1676 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1677 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1678 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1679 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 167A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 167B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 167C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 167D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 167E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 167F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1680 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1681 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1682 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1683 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1684 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1685 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1686 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1687 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1688 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1689 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 168A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 168B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 168C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 168D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 168E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 168F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1690 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1691 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1692 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1693 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1694 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1695 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1696 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1697 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1698 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1699 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 169A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 169B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 169C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 169D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 169E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 169F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16A0 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16A1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16A2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16A3 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16A4 */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16A5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16A6 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16A7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16A8 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16A9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16AA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16AB */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16AC */
+0x0020,0x015C,0x0000,0x0000,0x0000, /* 16AD */
+0x0020,0x015D,0x0000,0x0000,0x0000, /* 16AE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16AF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16B0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16B1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16B2 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16B3 */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16B4 */
+0x0020,0x015C,0x0000,0x0000,0x0000, /* 16B5 */
+0x0020,0x015D,0x0000,0x0000,0x0000, /* 16B6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16B7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16B8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16B9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16BA */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16BB */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16BC */
+0x0020,0x015C,0x0000,0x0000,0x0000, /* 16BD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16BE */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16BF */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16C0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16C1 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16C2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16C3 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16C4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16C5 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16C6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16C7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16C8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16C9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16CA */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16CB */
+0x0020,0x015C,0x0000,0x0000,0x0000, /* 16CC */
+0x0020,0x015D,0x0000,0x0000,0x0000, /* 16CD */
+0x0020,0x015E,0x0000,0x0000,0x0000, /* 16CE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16CF */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16D0 */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16D1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16D2 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16D3 */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16D4 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16D5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16D6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16D7 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16D8 */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16D9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16DA */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16DB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16DC */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16DD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16DE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16DF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16E0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16E1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16E2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16E3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16E4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16E5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16E6 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16E7 */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16E8 */
+0x0020,0x0159,0x0000,0x0000,0x0000, /* 16E9 */
+0x0020,0x015A,0x0000,0x0000,0x0000, /* 16EA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16EB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16EC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16ED */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 16EE */
+0x0020,0x0159,0x0020,0x0159,0x0000, /* 16EF */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 16F0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16F1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16F2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16F3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16F4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16F5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16F6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16F7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16F8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16F9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16FA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16FB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16FC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16FD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 16FE */
+0x0020,0x0000,0x0000,0x0000,0x0000 /* 16FF */
+};
+
+static const uint16 uca520_p017_w2[]= { /* 1700 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1700 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1703 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1706 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1709 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 170C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 170F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1712 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1715 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1718 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 171B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 171E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1721 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1724 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1727 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 172A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 172D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1730 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1733 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1736 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1739 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 173C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 173F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1742 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1745 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1748 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 174B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 174E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1751 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1754 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1757 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 175A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 175D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1760 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1763 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1766 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1769 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 176C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 176F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1772 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1775 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1778 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 177B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 177E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1781 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1784 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1787 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 178A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 178D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1790 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1793 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1796 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1799 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 179C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 179F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17C3 */
+0x0131,0x0000,0x0000, 0x0132,0x0000,0x0000, 0x0133,0x0000,0x0000, /* 17C6 */
+0x0134,0x0000,0x0000, 0x0135,0x0000,0x0000, 0x005F,0x0000,0x0000, /* 17C9 */
+0x005F,0x0000,0x0000, 0x005F,0x0000,0x0000, 0x005F,0x0000,0x0000, /* 17CC */
+0x005F,0x0000,0x0000, 0x005F,0x0000,0x0000, 0x005F,0x0000,0x0000, /* 17CF */
+0x0020,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x005F,0x0000,0x0000, /* 17DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x017C,0x0000, /* 17DE */
+0x0020,0x017C,0x0000, 0x0020,0x017C,0x0000, 0x0020,0x017C,0x0000, /* 17E1 */
+0x0020,0x017C,0x0000, 0x0020,0x017C,0x0000, 0x0020,0x017C,0x0000, /* 17E4 */
+0x0020,0x017C,0x0000, 0x0020,0x017C,0x0000, 0x0020,0x017C,0x0000, /* 17E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17ED */
+0x0020,0x017D,0x0000, 0x0020,0x017D,0x0000, 0x0020,0x017D,0x0000, /* 17F0 */
+0x0020,0x017D,0x0000, 0x0020,0x017D,0x0000, 0x0020,0x017D,0x0000, /* 17F3 */
+0x0020,0x017D,0x0000, 0x0020,0x017D,0x0000, 0x0020,0x017D,0x0000, /* 17F6 */
+0x0020,0x017D,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 17FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p018_w2[]= { /* 1800 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1800 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1803 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1806 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1809 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 180C */
+0x0020,0x0000,0x0000, 0x0020,0x0182,0x0000, 0x0020,0x0182,0x0000, /* 180F */
+0x0020,0x0182,0x0000, 0x0020,0x0182,0x0000, 0x0020,0x0182,0x0000, /* 1812 */
+0x0020,0x0182,0x0000, 0x0020,0x0182,0x0000, 0x0020,0x0182,0x0000, /* 1815 */
+0x0020,0x0182,0x0000, 0x0020,0x0182,0x0000, 0x0020,0x0000,0x0000, /* 1818 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 181B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 181E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1821 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1824 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1827 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 182A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 182D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1830 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1833 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1836 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1839 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 183C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 183F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1842 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1845 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1848 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 184B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 184E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1851 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1854 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1857 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 185A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 185D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1860 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1863 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1866 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1869 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 186C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 186F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1872 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1875 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1878 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 187B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 187E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1881 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1884 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1887 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 188A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 188D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1890 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1893 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1896 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1899 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 189C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 189F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 18FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p019_w2[]= { /* 1900 (4 weights per char) */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1900 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1902 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1904 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1906 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1908 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 190A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 190C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 190E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1910 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1912 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1914 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1916 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1918 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 191A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 191C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 191E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1920 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1922 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1924 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1926 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1928 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 192A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 192C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 192E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1930 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1932 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1934 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1936 */
+0x0020,0x0000,0x0000,0x0000, 0x013F,0x0000,0x0000,0x0000, /* 1938 */
+0x0140,0x0000,0x0000,0x0000, 0x0141,0x0000,0x0000,0x0000, /* 193A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 193C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 193E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1940 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1942 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1944 */
+0x0020,0x0170,0x0000,0x0000, 0x0020,0x0170,0x0000,0x0000, /* 1946 */
+0x0020,0x0170,0x0000,0x0000, 0x0020,0x0170,0x0000,0x0000, /* 1948 */
+0x0020,0x0170,0x0000,0x0000, 0x0020,0x0170,0x0000,0x0000, /* 194A */
+0x0020,0x0170,0x0000,0x0000, 0x0020,0x0170,0x0000,0x0000, /* 194C */
+0x0020,0x0170,0x0000,0x0000, 0x0020,0x0170,0x0000,0x0000, /* 194E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1950 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1952 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1954 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1956 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1958 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 195A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 195C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 195E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1960 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1962 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1964 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1966 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1968 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 196A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 196C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 196E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1970 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1972 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1974 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1976 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1978 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 197A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 197C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 197E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1980 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1982 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1984 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1986 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1988 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 198A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 198C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 198E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1990 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1992 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1994 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1996 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1998 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 199A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 199C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 199E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19A0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19A2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19A4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19A6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19A8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19AA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19AC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19AE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19B0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19B2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19B4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19B6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19B8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19BA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19BC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19BE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19C0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19C2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19C4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19C6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19C8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19CA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19CC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19CE */
+0x0020,0x0171,0x0000,0x0000, 0x0020,0x0171,0x0000,0x0000, /* 19D0 */
+0x0020,0x0171,0x0000,0x0000, 0x0020,0x0171,0x0000,0x0000, /* 19D2 */
+0x0020,0x0171,0x0000,0x0000, 0x0020,0x0171,0x0000,0x0000, /* 19D4 */
+0x0020,0x0171,0x0000,0x0000, 0x0020,0x0171,0x0000,0x0000, /* 19D6 */
+0x0020,0x0171,0x0000,0x0000, 0x0020,0x0171,0x0000,0x0000, /* 19D8 */
+0x0020,0x0172,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19DA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19DC */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 19DE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19E0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19E2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19E4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19E6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19E8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19EA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19EC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19EE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19F0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19F2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19F4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19F6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19F8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19FA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 19FC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 19FE */
+};
+
+static const uint16 uca520_p01A_w2[]= { /* 1A00 (4 weights per char) */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A00 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A02 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A04 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A06 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A08 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A0A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A0C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A0E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A10 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A12 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A14 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A16 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A18 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A1A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A1C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A1E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A20 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A22 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A24 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A26 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A28 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A2A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A2C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A2E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A30 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A32 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A34 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A36 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A38 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A3A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A3C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A3E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A40 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A42 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A44 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A46 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A48 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A4A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A4C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A4E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A50 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A52 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A54 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A56 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A58 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A5A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A5C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A5E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A60 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A62 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A64 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A66 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A68 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A6A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A6C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A6E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A70 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A72 */
+0x0136,0x0000,0x0000,0x0000, 0x0137,0x0000,0x0000,0x0000, /* 1A74 */
+0x0138,0x0000,0x0000,0x0000, 0x0139,0x0000,0x0000,0x0000, /* 1A76 */
+0x013A,0x0000,0x0000,0x0000, 0x013B,0x0000,0x0000,0x0000, /* 1A78 */
+0x013C,0x0000,0x0000,0x0000, 0x013D,0x0000,0x0000,0x0000, /* 1A7A */
+0x013E,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A7C */
+0x0020,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* 1A7E */
+0x0020,0x0173,0x0000,0x0000, 0x0020,0x0173,0x0000,0x0000, /* 1A80 */
+0x0020,0x0173,0x0000,0x0000, 0x0020,0x0173,0x0000,0x0000, /* 1A82 */
+0x0020,0x0173,0x0000,0x0000, 0x0020,0x0173,0x0000,0x0000, /* 1A84 */
+0x0020,0x0173,0x0000,0x0000, 0x0020,0x0173,0x0000,0x0000, /* 1A86 */
+0x0020,0x0173,0x0000,0x0000, 0x0020,0x0173,0x0000,0x0000, /* 1A88 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A8A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A8C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A8E */
+0x0020,0x0174,0x0000,0x0000, 0x0020,0x0174,0x0000,0x0000, /* 1A90 */
+0x0020,0x0174,0x0000,0x0000, 0x0020,0x0174,0x0000,0x0000, /* 1A92 */
+0x0020,0x0174,0x0000,0x0000, 0x0020,0x0174,0x0000,0x0000, /* 1A94 */
+0x0020,0x0174,0x0000,0x0000, 0x0020,0x0174,0x0000,0x0000, /* 1A96 */
+0x0020,0x0174,0x0000,0x0000, 0x0020,0x0174,0x0000,0x0000, /* 1A98 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A9A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A9C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1A9E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AA0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AA2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AA4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AA6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AA8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AAA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AAC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AAE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AB0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AB2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AB4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AB6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AB8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1ABA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1ABC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1ABE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AC0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AC2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AC4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AC6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AC8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1ACA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1ACC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1ACE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AD0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AD2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AD4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AD6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AD8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1ADA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1ADC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1ADE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AE0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AE2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AE4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AE6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AE8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AEA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AEC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AEE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AF0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AF2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AF4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AF6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AF8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AFA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1AFC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 1AFE */
+};
+
+static const uint16 uca520_p01B_w2[]= { /* 1B00 (3 weights per char) */
+0x00FC,0x0000,0x0000, 0x00FD,0x0000,0x0000, 0x00FE,0x0000,0x0000, /* 1B00 */
+0x00FF,0x0000,0x0000, 0x0100,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B30 */
+0x0020,0x0000,0x0000, 0x00FB,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x017F,0x0000, /* 1B4E */
+0x0020,0x017F,0x0000, 0x0020,0x017F,0x0000, 0x0020,0x017F,0x0000, /* 1B51 */
+0x0020,0x017F,0x0000, 0x0020,0x017F,0x0000, 0x0020,0x017F,0x0000, /* 1B54 */
+0x0020,0x017F,0x0000, 0x0020,0x017F,0x0000, 0x0020,0x017F,0x0000, /* 1B57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1B69 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1B6C */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1B6F */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0106,0x0000,0x0000, /* 1B7E */
+0x0107,0x0000,0x0000, 0x0108,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1B9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0181,0x0000, /* 1BAE */
+0x0020,0x0181,0x0000, 0x0020,0x0181,0x0000, 0x0020,0x0181,0x0000, /* 1BB1 */
+0x0020,0x0181,0x0000, 0x0020,0x0181,0x0000, 0x0020,0x0181,0x0000, /* 1BB4 */
+0x0020,0x0181,0x0000, 0x0020,0x0181,0x0000, 0x0020,0x0181,0x0000, /* 1BB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BCC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BCF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1BFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p01C_w2[]= { /* 1C00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C00 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C33 */
+0x0020,0x0000,0x0000, 0x0129,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C3C */
+0x0020,0x0000,0x0000, 0x0020,0x0178,0x0000, 0x0020,0x0178,0x0000, /* 1C3F */
+0x0020,0x0178,0x0000, 0x0020,0x0178,0x0000, 0x0020,0x0178,0x0000, /* 1C42 */
+0x0020,0x0178,0x0000, 0x0020,0x0178,0x0000, 0x0020,0x0178,0x0000, /* 1C45 */
+0x0020,0x0178,0x0000, 0x0020,0x0178,0x0000, 0x0020,0x0000,0x0000, /* 1C48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0183,0x0000, /* 1C4E */
+0x0020,0x0183,0x0000, 0x0020,0x0183,0x0000, 0x0020,0x0183,0x0000, /* 1C51 */
+0x0020,0x0183,0x0000, 0x0020,0x0183,0x0000, 0x0020,0x0183,0x0000, /* 1C54 */
+0x0020,0x0183,0x0000, 0x0020,0x0183,0x0000, 0x0020,0x0183,0x0000, /* 1C57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C7E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1C9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CCC */
+0x0020,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1CCF */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1CD2 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1CD5 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1CD8 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1CDB */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1CDE */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1CE1 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* 1CE4 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CEA */
+0x00DC,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x00DD,0x0000,0x0000, /* 1CF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1CFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p01D_w2[]= { /* 1D00 (4 weights per char) */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D00 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D02 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D04 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D06 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D08 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D0A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D0C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D0E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D10 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D12 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D14 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D16 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D18 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D1A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D1C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D1E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D20 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D22 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D24 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D26 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D28 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D2A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0159,0x0020,0x0000, /* 1D2C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D2E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D30 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D32 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D34 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D36 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D38 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D3A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D3C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D3E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D40 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D42 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D44 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D46 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D48 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D4A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D4C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D4E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D50 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D52 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D54 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D56 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D58 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D5A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D5C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D5E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D60 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D62 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D64 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D66 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D68 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D6A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D6C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D6E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D70 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D72 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D74 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D76 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x015A,0x0000,0x0000, /* 1D78 */
+0x0020,0x0159,0x0020,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D7A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D7C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D7E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D80 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D82 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D84 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D86 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D88 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D8A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D8C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D8E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D90 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D92 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D94 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D96 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D98 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D9A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D9C */
+0x0020,0x0159,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1D9E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DA0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DA2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DA4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DA6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DA8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DAA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DAC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DAE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DB0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DB2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DB4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DB6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DB8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DBA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DBC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DBE */
+0x005F,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 1DC0 */
+0x0060,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 1DC2 */
+0x005F,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 1DC4 */
+0x005F,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 1DC6 */
+0x005F,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 1DC8 */
+0x0020,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 1DCA */
+0x005F,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 1DCC */
+0x005F,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 1DCE */
+0x0060,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 1DD0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0159,0x0000,0x0000, /* 1DD2 */
+0x0020,0x0159,0x0020,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1DD4 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0056,0x0000,0x0000, /* 1DD6 */
+0x0020,0x015A,0x0000,0x0000, 0x0020,0x0159,0x0000,0x0000, /* 1DD8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DDA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DDC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DDE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DE0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DE2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x015A,0x0000,0x0000, /* 1DE4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DE6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DE8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DEA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DEC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DEE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DF0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DF2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DF4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DF6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DF8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1DFA */
+0x0020,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000, /* 1DFC */
+0x005F,0x0000,0x0000,0x0000, 0x0060,0x0000,0x0000,0x0000 /* 1DFE */
+};
+
+static const uint16 uca520_p01E_w2[]= { /* 1E00 (4 weights per char) */
+0x0020,0x0076,0x0000,0x0000, 0x0020,0x0076,0x0000,0x0000, /* 1E00 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E02 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E04 */
+0x0020,0x007B,0x0000,0x0000, 0x0020,0x007B,0x0000,0x0000, /* 1E06 */
+0x0020,0x0056,0x0032,0x0000, 0x0020,0x0056,0x0032,0x0000, /* 1E08 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E0A */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E0C */
+0x0020,0x007B,0x0000,0x0000, 0x0020,0x007B,0x0000,0x0000, /* 1E0E */
+0x0020,0x0056,0x0000,0x0000, 0x0020,0x0056,0x0000,0x0000, /* 1E10 */
+0x0020,0x0078,0x0000,0x0000, 0x0020,0x0078,0x0000,0x0000, /* 1E12 */
+0x0020,0x005B,0x0035,0x0000, 0x0020,0x005B,0x0035,0x0000, /* 1E14 */
+0x0020,0x005B,0x0032,0x0000, 0x0020,0x005B,0x0032,0x0000, /* 1E16 */
+0x0020,0x0078,0x0000,0x0000, 0x0020,0x0078,0x0000,0x0000, /* 1E18 */
+0x0020,0x007A,0x0000,0x0000, 0x0020,0x007A,0x0000,0x0000, /* 1E1A */
+0x0020,0x0056,0x0037,0x0000, 0x0020,0x0056,0x0037,0x0000, /* 1E1C */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E1E */
+0x0020,0x005B,0x0000,0x0000, 0x0020,0x005B,0x0000,0x0000, /* 1E20 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E22 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E24 */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 1E26 */
+0x0020,0x0056,0x0000,0x0000, 0x0020,0x0056,0x0000,0x0000, /* 1E28 */
+0x0020,0x0079,0x0000,0x0000, 0x0020,0x0079,0x0000,0x0000, /* 1E2A */
+0x0020,0x007A,0x0000,0x0000, 0x0020,0x007A,0x0000,0x0000, /* 1E2C */
+0x0020,0x0047,0x0032,0x0000, 0x0020,0x0047,0x0032,0x0000, /* 1E2E */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 1E30 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E32 */
+0x0020,0x007B,0x0000,0x0000, 0x0020,0x007B,0x0000,0x0000, /* 1E34 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E36 */
+0x0020,0x0070,0x005B,0x0000, 0x0020,0x0070,0x005B,0x0000, /* 1E38 */
+0x0020,0x007B,0x0000,0x0000, 0x0020,0x007B,0x0000,0x0000, /* 1E3A */
+0x0020,0x0078,0x0000,0x0000, 0x0020,0x0078,0x0000,0x0000, /* 1E3C */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 1E3E */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E40 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E42 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E44 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E46 */
+0x0020,0x007B,0x0000,0x0000, 0x0020,0x007B,0x0000,0x0000, /* 1E48 */
+0x0020,0x0078,0x0000,0x0000, 0x0020,0x0078,0x0000,0x0000, /* 1E4A */
+0x0020,0x004E,0x0032,0x0000, 0x0020,0x004E,0x0032,0x0000, /* 1E4C */
+0x0020,0x004E,0x0047,0x0000, 0x0020,0x004E,0x0047,0x0000, /* 1E4E */
+0x0020,0x005B,0x0035,0x0000, 0x0020,0x005B,0x0035,0x0000, /* 1E50 */
+0x0020,0x005B,0x0032,0x0000, 0x0020,0x005B,0x0032,0x0000, /* 1E52 */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 1E54 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E56 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E58 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E5A */
+0x0020,0x0070,0x005B,0x0000, 0x0020,0x0070,0x005B,0x0000, /* 1E5C */
+0x0020,0x007B,0x0000,0x0000, 0x0020,0x007B,0x0000,0x0000, /* 1E5E */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E60 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E62 */
+0x0020,0x0032,0x0052,0x0000, 0x0020,0x0032,0x0052,0x0000, /* 1E64 */
+0x0020,0x0041,0x0052,0x0000, 0x0020,0x0041,0x0052,0x0000, /* 1E66 */
+0x0020,0x0070,0x0052,0x0000, 0x0020,0x0070,0x0052,0x0000, /* 1E68 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E6A */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E6C */
+0x0020,0x007B,0x0000,0x0000, 0x0020,0x007B,0x0000,0x0000, /* 1E6E */
+0x0020,0x0078,0x0000,0x0000, 0x0020,0x0078,0x0000,0x0000, /* 1E70 */
+0x0020,0x0075,0x0000,0x0000, 0x0020,0x0075,0x0000,0x0000, /* 1E72 */
+0x0020,0x007A,0x0000,0x0000, 0x0020,0x007A,0x0000,0x0000, /* 1E74 */
+0x0020,0x0078,0x0000,0x0000, 0x0020,0x0078,0x0000,0x0000, /* 1E76 */
+0x0020,0x004E,0x0032,0x0000, 0x0020,0x004E,0x0032,0x0000, /* 1E78 */
+0x0020,0x005B,0x0047,0x0000, 0x0020,0x005B,0x0047,0x0000, /* 1E7A */
+0x0020,0x004E,0x0000,0x0000, 0x0020,0x004E,0x0000,0x0000, /* 1E7C */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E7E */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0035,0x0000,0x0000, /* 1E80 */
+0x0020,0x0032,0x0000,0x0000, 0x0020,0x0032,0x0000,0x0000, /* 1E82 */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 1E84 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E86 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E88 */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E8A */
+0x0020,0x0047,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 1E8C */
+0x0020,0x0052,0x0000,0x0000, 0x0020,0x0052,0x0000,0x0000, /* 1E8E */
+0x0020,0x003C,0x0000,0x0000, 0x0020,0x003C,0x0000,0x0000, /* 1E90 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1E92 */
+0x0020,0x007B,0x0000,0x0000, 0x0020,0x007B,0x0000,0x0000, /* 1E94 */
+0x0020,0x007B,0x0000,0x0000, 0x0020,0x0047,0x0000,0x0000, /* 1E96 */
+0x0020,0x0043,0x0000,0x0000, 0x0020,0x0043,0x0000,0x0000, /* 1E98 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x015A,0x0052,0x0000, /* 1E9A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1E9C */
+0x0020,0x0159,0x0020,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1E9E */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1EA0 */
+0x0020,0x0064,0x0000,0x0000, 0x0020,0x0064,0x0000,0x0000, /* 1EA2 */
+0x0020,0x003C,0x0032,0x0000, 0x0020,0x003C,0x0032,0x0000, /* 1EA4 */
+0x0020,0x003C,0x0035,0x0000, 0x0020,0x003C,0x0035,0x0000, /* 1EA6 */
+0x0020,0x003C,0x0064,0x0000, 0x0020,0x003C,0x0064,0x0000, /* 1EA8 */
+0x0020,0x003C,0x004E,0x0000, 0x0020,0x003C,0x004E,0x0000, /* 1EAA */
+0x0020,0x0070,0x003C,0x0000, 0x0020,0x0070,0x003C,0x0000, /* 1EAC */
+0x0020,0x0037,0x0032,0x0000, 0x0020,0x0037,0x0032,0x0000, /* 1EAE */
+0x0020,0x0037,0x0035,0x0000, 0x0020,0x0037,0x0035,0x0000, /* 1EB0 */
+0x0020,0x0037,0x0064,0x0000, 0x0020,0x0037,0x0064,0x0000, /* 1EB2 */
+0x0020,0x0037,0x004E,0x0000, 0x0020,0x0037,0x004E,0x0000, /* 1EB4 */
+0x0020,0x0070,0x0037,0x0000, 0x0020,0x0070,0x0037,0x0000, /* 1EB6 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1EB8 */
+0x0020,0x0064,0x0000,0x0000, 0x0020,0x0064,0x0000,0x0000, /* 1EBA */
+0x0020,0x004E,0x0000,0x0000, 0x0020,0x004E,0x0000,0x0000, /* 1EBC */
+0x0020,0x003C,0x0032,0x0000, 0x0020,0x003C,0x0032,0x0000, /* 1EBE */
+0x0020,0x003C,0x0035,0x0000, 0x0020,0x003C,0x0035,0x0000, /* 1EC0 */
+0x0020,0x003C,0x0064,0x0000, 0x0020,0x003C,0x0064,0x0000, /* 1EC2 */
+0x0020,0x003C,0x004E,0x0000, 0x0020,0x003C,0x004E,0x0000, /* 1EC4 */
+0x0020,0x0070,0x003C,0x0000, 0x0020,0x0070,0x003C,0x0000, /* 1EC6 */
+0x0020,0x0064,0x0000,0x0000, 0x0020,0x0064,0x0000,0x0000, /* 1EC8 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1ECA */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1ECC */
+0x0020,0x0064,0x0000,0x0000, 0x0020,0x0064,0x0000,0x0000, /* 1ECE */
+0x0020,0x003C,0x0032,0x0000, 0x0020,0x003C,0x0032,0x0000, /* 1ED0 */
+0x0020,0x003C,0x0035,0x0000, 0x0020,0x003C,0x0035,0x0000, /* 1ED2 */
+0x0020,0x003C,0x0064,0x0000, 0x0020,0x003C,0x0064,0x0000, /* 1ED4 */
+0x0020,0x003C,0x004E,0x0000, 0x0020,0x003C,0x004E,0x0000, /* 1ED6 */
+0x0020,0x0070,0x003C,0x0000, 0x0020,0x0070,0x003C,0x0000, /* 1ED8 */
+0x0020,0x0068,0x0032,0x0000, 0x0020,0x0068,0x0032,0x0000, /* 1EDA */
+0x0020,0x0068,0x0035,0x0000, 0x0020,0x0068,0x0035,0x0000, /* 1EDC */
+0x0020,0x0068,0x0064,0x0000, 0x0020,0x0068,0x0064,0x0000, /* 1EDE */
+0x0020,0x0068,0x004E,0x0000, 0x0020,0x0068,0x004E,0x0000, /* 1EE0 */
+0x0020,0x0068,0x0070,0x0000, 0x0020,0x0068,0x0070,0x0000, /* 1EE2 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1EE4 */
+0x0020,0x0064,0x0000,0x0000, 0x0020,0x0064,0x0000,0x0000, /* 1EE6 */
+0x0020,0x0068,0x0032,0x0000, 0x0020,0x0068,0x0032,0x0000, /* 1EE8 */
+0x0020,0x0068,0x0035,0x0000, 0x0020,0x0068,0x0035,0x0000, /* 1EEA */
+0x0020,0x0068,0x0064,0x0000, 0x0020,0x0068,0x0064,0x0000, /* 1EEC */
+0x0020,0x0068,0x004E,0x0000, 0x0020,0x0068,0x004E,0x0000, /* 1EEE */
+0x0020,0x0068,0x0070,0x0000, 0x0020,0x0068,0x0070,0x0000, /* 1EF0 */
+0x0020,0x0035,0x0000,0x0000, 0x0020,0x0035,0x0000,0x0000, /* 1EF2 */
+0x0020,0x0070,0x0000,0x0000, 0x0020,0x0070,0x0000,0x0000, /* 1EF4 */
+0x0020,0x0064,0x0000,0x0000, 0x0020,0x0064,0x0000,0x0000, /* 1EF6 */
+0x0020,0x004E,0x0000,0x0000, 0x0020,0x004E,0x0000,0x0000, /* 1EF8 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1EFA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1EFC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 1EFE */
+};
+
+static const uint16 uca520_p01F_w2[]= { /* 1F00 (5 weights per char) */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F00 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F01 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F02 */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F03 */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F04 */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F05 */
+0x0020,0x0022,0x0045,0x0000,0x0000, /* 1F06 */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F07 */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F08 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F09 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F0A */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F0B */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F0C */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F0D */
+0x0020,0x0022,0x0045,0x0000,0x0000, /* 1F0E */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F0F */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F10 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F11 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F12 */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F13 */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F14 */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F15 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F16 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F17 */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F18 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F19 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F1A */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F1B */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F1C */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F1D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F1E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F1F */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F20 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F21 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F22 */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F23 */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F24 */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F25 */
+0x0020,0x0022,0x0045,0x0000,0x0000, /* 1F26 */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F27 */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F28 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F29 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F2A */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F2B */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F2C */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F2D */
+0x0020,0x0022,0x0045,0x0000,0x0000, /* 1F2E */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F2F */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F30 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F31 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F32 */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F33 */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F34 */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F35 */
+0x0020,0x0022,0x0045,0x0000,0x0000, /* 1F36 */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F37 */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F38 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F39 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F3A */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F3B */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F3C */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F3D */
+0x0020,0x0022,0x0045,0x0000,0x0000, /* 1F3E */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F3F */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F40 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F41 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F42 */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F43 */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F44 */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F45 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F46 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F47 */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F48 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F49 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F4A */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F4B */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F4C */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F4D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F4E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F4F */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F50 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F51 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F52 */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F53 */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F54 */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F55 */
+0x0020,0x0022,0x0045,0x0000,0x0000, /* 1F56 */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F57 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F58 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F59 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F5A */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F5B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F5C */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F5D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F5E */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F5F */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F60 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F61 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F62 */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F63 */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F64 */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F65 */
+0x0020,0x0022,0x0045,0x0000,0x0000, /* 1F66 */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F67 */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1F68 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1F69 */
+0x0020,0x0022,0x0035,0x0000,0x0000, /* 1F6A */
+0x0020,0x002A,0x0035,0x0000,0x0000, /* 1F6B */
+0x0020,0x0022,0x0032,0x0000,0x0000, /* 1F6C */
+0x0020,0x002A,0x0032,0x0000,0x0000, /* 1F6D */
+0x0020,0x0022,0x0045,0x0000,0x0000, /* 1F6E */
+0x0020,0x002A,0x0045,0x0000,0x0000, /* 1F6F */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1F70 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1F71 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1F72 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1F73 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1F74 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1F75 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1F76 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1F77 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1F78 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1F79 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1F7A */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1F7B */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1F7C */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1F7D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F7E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1F7F */
+0x0020,0x0022,0x007F,0x0000,0x0000, /* 1F80 */
+0x0020,0x002A,0x007F,0x0000,0x0000, /* 1F81 */
+0x0020,0x0022,0x0035,0x007F,0x0000, /* 1F82 */
+0x0020,0x002A,0x0035,0x007F,0x0000, /* 1F83 */
+0x0020,0x0022,0x0032,0x007F,0x0000, /* 1F84 */
+0x0020,0x002A,0x0032,0x007F,0x0000, /* 1F85 */
+0x0020,0x0022,0x0045,0x007F,0x0000, /* 1F86 */
+0x0020,0x002A,0x0045,0x007F,0x0000, /* 1F87 */
+0x0020,0x0022,0x007F,0x0000,0x0000, /* 1F88 */
+0x0020,0x002A,0x007F,0x0000,0x0000, /* 1F89 */
+0x0020,0x0022,0x0035,0x007F,0x0000, /* 1F8A */
+0x0020,0x002A,0x0035,0x007F,0x0000, /* 1F8B */
+0x0020,0x0022,0x0032,0x007F,0x0000, /* 1F8C */
+0x0020,0x002A,0x0032,0x007F,0x0000, /* 1F8D */
+0x0020,0x0022,0x0045,0x007F,0x0000, /* 1F8E */
+0x0020,0x002A,0x0045,0x007F,0x0000, /* 1F8F */
+0x0020,0x0022,0x007F,0x0000,0x0000, /* 1F90 */
+0x0020,0x002A,0x007F,0x0000,0x0000, /* 1F91 */
+0x0020,0x0022,0x0035,0x007F,0x0000, /* 1F92 */
+0x0020,0x002A,0x0035,0x007F,0x0000, /* 1F93 */
+0x0020,0x0022,0x0032,0x007F,0x0000, /* 1F94 */
+0x0020,0x002A,0x0032,0x007F,0x0000, /* 1F95 */
+0x0020,0x0022,0x0045,0x007F,0x0000, /* 1F96 */
+0x0020,0x002A,0x0045,0x007F,0x0000, /* 1F97 */
+0x0020,0x0022,0x007F,0x0000,0x0000, /* 1F98 */
+0x0020,0x002A,0x007F,0x0000,0x0000, /* 1F99 */
+0x0020,0x0022,0x0035,0x007F,0x0000, /* 1F9A */
+0x0020,0x002A,0x0035,0x007F,0x0000, /* 1F9B */
+0x0020,0x0022,0x0032,0x007F,0x0000, /* 1F9C */
+0x0020,0x002A,0x0032,0x007F,0x0000, /* 1F9D */
+0x0020,0x0022,0x0045,0x007F,0x0000, /* 1F9E */
+0x0020,0x002A,0x0045,0x007F,0x0000, /* 1F9F */
+0x0020,0x0022,0x007F,0x0000,0x0000, /* 1FA0 */
+0x0020,0x002A,0x007F,0x0000,0x0000, /* 1FA1 */
+0x0020,0x0022,0x0035,0x007F,0x0000, /* 1FA2 */
+0x0020,0x002A,0x0035,0x007F,0x0000, /* 1FA3 */
+0x0020,0x0022,0x0032,0x007F,0x0000, /* 1FA4 */
+0x0020,0x002A,0x0032,0x007F,0x0000, /* 1FA5 */
+0x0020,0x0022,0x0045,0x007F,0x0000, /* 1FA6 */
+0x0020,0x002A,0x0045,0x007F,0x0000, /* 1FA7 */
+0x0020,0x0022,0x007F,0x0000,0x0000, /* 1FA8 */
+0x0020,0x002A,0x007F,0x0000,0x0000, /* 1FA9 */
+0x0020,0x0022,0x0035,0x007F,0x0000, /* 1FAA */
+0x0020,0x002A,0x0035,0x007F,0x0000, /* 1FAB */
+0x0020,0x0022,0x0032,0x007F,0x0000, /* 1FAC */
+0x0020,0x002A,0x0032,0x007F,0x0000, /* 1FAD */
+0x0020,0x0022,0x0045,0x007F,0x0000, /* 1FAE */
+0x0020,0x002A,0x0045,0x007F,0x0000, /* 1FAF */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 1FB0 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 1FB1 */
+0x0020,0x0035,0x007F,0x0000,0x0000, /* 1FB2 */
+0x0020,0x007F,0x0000,0x0000,0x0000, /* 1FB3 */
+0x0020,0x0032,0x007F,0x0000,0x0000, /* 1FB4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FB5 */
+0x0020,0x0045,0x0000,0x0000,0x0000, /* 1FB6 */
+0x0020,0x0045,0x007F,0x0000,0x0000, /* 1FB7 */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 1FB8 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 1FB9 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FBA */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FBB */
+0x0020,0x007F,0x0000,0x0000,0x0000, /* 1FBC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FBD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FBE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FBF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FC0 */
+0x0020,0x0045,0x0000,0x0000,0x0000, /* 1FC1 */
+0x0020,0x0035,0x007F,0x0000,0x0000, /* 1FC2 */
+0x0020,0x007F,0x0000,0x0000,0x0000, /* 1FC3 */
+0x0020,0x0032,0x007F,0x0000,0x0000, /* 1FC4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FC5 */
+0x0020,0x0045,0x0000,0x0000,0x0000, /* 1FC6 */
+0x0020,0x0045,0x007F,0x0000,0x0000, /* 1FC7 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FC8 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FC9 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FCA */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FCB */
+0x0020,0x007F,0x0000,0x0000,0x0000, /* 1FCC */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FCD */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FCE */
+0x0020,0x0045,0x0000,0x0000,0x0000, /* 1FCF */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 1FD0 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 1FD1 */
+0x0020,0x0047,0x0035,0x0000,0x0000, /* 1FD2 */
+0x0020,0x0047,0x0032,0x0000,0x0000, /* 1FD3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FD4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FD5 */
+0x0020,0x0045,0x0000,0x0000,0x0000, /* 1FD6 */
+0x0020,0x0047,0x0045,0x0000,0x0000, /* 1FD7 */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 1FD8 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 1FD9 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FDA */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FDB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FDC */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FDD */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FDE */
+0x0020,0x0045,0x0000,0x0000,0x0000, /* 1FDF */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 1FE0 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 1FE1 */
+0x0020,0x0047,0x0035,0x0000,0x0000, /* 1FE2 */
+0x0020,0x0047,0x0032,0x0000,0x0000, /* 1FE3 */
+0x0020,0x0022,0x0000,0x0000,0x0000, /* 1FE4 */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1FE5 */
+0x0020,0x0045,0x0000,0x0000,0x0000, /* 1FE6 */
+0x0020,0x0047,0x0045,0x0000,0x0000, /* 1FE7 */
+0x0020,0x0037,0x0000,0x0000,0x0000, /* 1FE8 */
+0x0020,0x005B,0x0000,0x0000,0x0000, /* 1FE9 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FEA */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FEB */
+0x0020,0x002A,0x0000,0x0000,0x0000, /* 1FEC */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FED */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FEE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FEF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FF0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FF1 */
+0x0020,0x0035,0x007F,0x0000,0x0000, /* 1FF2 */
+0x0020,0x007F,0x0000,0x0000,0x0000, /* 1FF3 */
+0x0020,0x0032,0x007F,0x0000,0x0000, /* 1FF4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FF5 */
+0x0020,0x0045,0x0000,0x0000,0x0000, /* 1FF6 */
+0x0020,0x0045,0x007F,0x0000,0x0000, /* 1FF7 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FF8 */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FF9 */
+0x0020,0x0035,0x0000,0x0000,0x0000, /* 1FFA */
+0x0020,0x0032,0x0000,0x0000,0x0000, /* 1FFB */
+0x0020,0x007F,0x0000,0x0000,0x0000, /* 1FFC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FFD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 1FFE */
+0x0020,0x0000,0x0000,0x0000,0x0000 /* 1FFF */
+};
+
+static const uint16 uca520_p020_w2[]= { /* 2000 (5 weights per char) */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2000 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2001 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2002 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2003 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2004 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2005 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2006 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2007 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2008 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2009 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 200A */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 200B */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 200C */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 200D */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 200E */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 200F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2010 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2011 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2012 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2013 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2014 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2015 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2016 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2017 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2018 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2019 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 201A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 201B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 201C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 201D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 201E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 201F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2020 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2021 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2022 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2023 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2024 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2025 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2026 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2027 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2028 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2029 */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 202A */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 202B */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 202C */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 202D */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 202E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 202F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2030 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2031 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2032 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2033 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2034 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2035 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2036 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2037 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2038 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2039 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 203A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 203B */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 203C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 203D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 203E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 203F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2040 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2041 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2042 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2043 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2044 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2045 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2046 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2047 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2048 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2049 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 204A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 204B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 204C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 204D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 204E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 204F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2050 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2051 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2052 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2053 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2054 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2055 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2056 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2057 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2058 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2059 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 205A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 205B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 205C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 205D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 205E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 205F */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 2060 */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 2061 */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 2062 */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 2063 */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 2064 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2065 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2066 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2067 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2068 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2069 */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 206A */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 206B */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 206C */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 206D */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 206E */
+0x0000,0x0000,0x0000,0x0000,0x0000, /* 206F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2070 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2071 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2072 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2073 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2074 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2075 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2076 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2077 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2078 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2079 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 207A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 207B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 207C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 207D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 207E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 207F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2080 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2081 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2082 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2083 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2084 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2085 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2086 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2087 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2088 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2089 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 208A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 208B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 208C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 208D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 208E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 208F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2090 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2091 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2092 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2093 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2094 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2095 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2096 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2097 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2098 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2099 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 209A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 209B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 209C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 209D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 209E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 209F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20A0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20A1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20A2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20A3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20A4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20A5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20A6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20A7 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 20A8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20A9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20AA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20AB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20AC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20AD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20AE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20AF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20B9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20BA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20BB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20BC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20BD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20BE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20BF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20C9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20CA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20CB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20CC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20CD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20CE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20CF */
+0x014A,0x0000,0x0000,0x0000,0x0000, /* 20D0 */
+0x014B,0x0000,0x0000,0x0000,0x0000, /* 20D1 */
+0x014C,0x0000,0x0000,0x0000,0x0000, /* 20D2 */
+0x014C,0x0000,0x0000,0x0000,0x0000, /* 20D3 */
+0x014D,0x0000,0x0000,0x0000,0x0000, /* 20D4 */
+0x014E,0x0000,0x0000,0x0000,0x0000, /* 20D5 */
+0x014F,0x0000,0x0000,0x0000,0x0000, /* 20D6 */
+0x0150,0x0000,0x0000,0x0000,0x0000, /* 20D7 */
+0x0061,0x0000,0x0000,0x0000,0x0000, /* 20D8 */
+0x0061,0x0000,0x0000,0x0000,0x0000, /* 20D9 */
+0x0061,0x0000,0x0000,0x0000,0x0000, /* 20DA */
+0x0151,0x0000,0x0000,0x0000,0x0000, /* 20DB */
+0x0152,0x0000,0x0000,0x0000,0x0000, /* 20DC */
+0x0062,0x0000,0x0000,0x0000,0x0000, /* 20DD */
+0x0062,0x0000,0x0000,0x0000,0x0000, /* 20DE */
+0x0062,0x0000,0x0000,0x0000,0x0000, /* 20DF */
+0x0062,0x0000,0x0000,0x0000,0x0000, /* 20E0 */
+0x0153,0x0000,0x0000,0x0000,0x0000, /* 20E1 */
+0x0062,0x0000,0x0000,0x0000,0x0000, /* 20E2 */
+0x0062,0x0000,0x0000,0x0000,0x0000, /* 20E3 */
+0x0062,0x0000,0x0000,0x0000,0x0000, /* 20E4 */
+0x0061,0x0000,0x0000,0x0000,0x0000, /* 20E5 */
+0x0154,0x0000,0x0000,0x0000,0x0000, /* 20E6 */
+0x0155,0x0000,0x0000,0x0000,0x0000, /* 20E7 */
+0x0156,0x0000,0x0000,0x0000,0x0000, /* 20E8 */
+0x0157,0x0000,0x0000,0x0000,0x0000, /* 20E9 */
+0x0061,0x0000,0x0000,0x0000,0x0000, /* 20EA */
+0x0061,0x0000,0x0000,0x0000,0x0000, /* 20EB */
+0x0060,0x0000,0x0000,0x0000,0x0000, /* 20EC */
+0x0060,0x0000,0x0000,0x0000,0x0000, /* 20ED */
+0x0060,0x0000,0x0000,0x0000,0x0000, /* 20EE */
+0x0060,0x0000,0x0000,0x0000,0x0000, /* 20EF */
+0x005F,0x0000,0x0000,0x0000,0x0000, /* 20F0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20F1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20F2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20F3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20F4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20F5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20F6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20F7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20F8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20F9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20FA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20FB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20FC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20FD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 20FE */
+0x0020,0x0000,0x0000,0x0000,0x0000 /* 20FF */
+};
+
+static const uint16 uca520_p021_w2[]= { /* 2100 (5 weights per char) */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2100 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2101 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2102 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2103 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2104 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2105 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2106 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2107 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2108 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2109 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 210A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 210B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 210C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 210D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 210E */
+0x0020,0x007D,0x0000,0x0000,0x0000, /* 210F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2110 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2111 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2112 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2113 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2114 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2115 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2116 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2117 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2118 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2119 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 211A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 211B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 211C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 211D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 211E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 211F */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2120 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2121 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2122 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2123 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2124 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2125 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2126 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2127 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2128 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2129 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 212A */
+0x0020,0x0043,0x0000,0x0000,0x0000, /* 212B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 212C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 212D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 212E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 212F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2130 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2131 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2132 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2133 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2134 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2135 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2136 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2137 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2138 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2139 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 213A */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 213B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 213C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 213D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 213E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 213F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2140 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2141 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2142 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2143 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2144 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2145 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2146 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2147 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2148 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2149 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 214A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 214B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 214C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 214D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 214E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 214F */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2150 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2151 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2152 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2153 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2154 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2155 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2156 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2157 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2158 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2159 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 215A */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 215B */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 215C */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 215D */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 215E */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 215F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2160 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2161 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2162 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2163 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2164 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2165 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2166 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2167 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2168 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2169 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 216A */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 216B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 216C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 216D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 216E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 216F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2170 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2171 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2172 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2173 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2174 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2175 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2176 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2177 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2178 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2179 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 217A */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 217B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 217C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 217D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 217E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 217F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2180 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2181 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2182 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2183 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2184 */
+0x0020,0x0188,0x0000,0x0000,0x0000, /* 2185 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2186 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2187 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2188 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2189 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 218A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 218B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 218C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 218D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 218E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 218F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2190 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2191 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2192 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2193 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2194 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2195 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2196 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2197 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2198 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2199 */
+0x0020,0x0054,0x0000,0x0000,0x0000, /* 219A */
+0x0020,0x0054,0x0000,0x0000,0x0000, /* 219B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 219C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 219D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 219E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 219F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21A9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21AA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21AB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21AC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21AD */
+0x0020,0x0054,0x0000,0x0000,0x0000, /* 21AE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21AF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21B9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21BA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21BB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21BC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21BD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21BE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21BF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21C9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21CA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21CB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21CC */
+0x0020,0x0054,0x0000,0x0000,0x0000, /* 21CD */
+0x0020,0x0054,0x0000,0x0000,0x0000, /* 21CE */
+0x0020,0x0054,0x0000,0x0000,0x0000, /* 21CF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21D9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21DA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21DB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21DC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21DD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21DE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21DF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21E9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21EA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21EB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21EC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21ED */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21EE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21EF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21F9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21FA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21FB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21FC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21FD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 21FE */
+0x0020,0x0000,0x0000,0x0000,0x0000 /* 21FF */
+};
+
+static const uint16 uca520_p022_w2[]= { /* 2200 (4 weights per char) */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2200 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2202 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2204 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2206 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2208 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 220A */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 220C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 220E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2210 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2212 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2214 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2216 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2218 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 221A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 221C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 221E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2220 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2222 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2224 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2226 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2228 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 222A */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 222C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 222E */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2230 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2232 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2234 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2236 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2238 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 223A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 223C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 223E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2240 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2242 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2244 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2246 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2248 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 224A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 224C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 224E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2250 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2252 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2254 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2256 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2258 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 225A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 225C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 225E */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2260 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2262 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2264 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2266 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2268 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 226A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 226C */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 226E */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2270 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2272 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2274 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2276 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2278 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 227A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 227C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 227E */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2280 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2282 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2284 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2286 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 2288 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 228A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 228C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 228E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2290 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2292 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2294 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2296 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2298 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 229A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 229C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 229E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22A0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22A2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22A4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22A6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22A8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22AA */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 22AC */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 22AE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22B0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22B2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22B4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22B6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22B8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22BA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22BC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22BE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22C0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22C2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22C4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22C6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22C8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22CA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22CC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22CE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22D0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22D2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22D4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22D6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22D8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22DA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22DC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22DE */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 22E0 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 22E2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22E4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22E6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22E8 */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 22EA */
+0x0020,0x0054,0x0000,0x0000, 0x0020,0x0054,0x0000,0x0000, /* 22EC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22EE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22F0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22F2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22F4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22F6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22F8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22FA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 22FC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 22FE */
+};
+
+static const uint16 uca520_p024_w2[]= { /* 2400 (5 weights per char) */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2400 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2401 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2402 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2403 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2404 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2405 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2406 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2407 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2408 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2409 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 240A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 240B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 240C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 240D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 240E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 240F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2410 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2411 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2412 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2413 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2414 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2415 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2416 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2417 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2418 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2419 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 241A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 241B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 241C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 241D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 241E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 241F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2420 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2421 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2422 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2423 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2424 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2425 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2426 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2427 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2428 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2429 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 242A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 242B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 242C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 242D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 242E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 242F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2430 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2431 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2432 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2433 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2434 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2435 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2436 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2437 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2438 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2439 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 243A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 243B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 243C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 243D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 243E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 243F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2440 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2441 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2442 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2443 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2444 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2445 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2446 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2447 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2448 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2449 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 244A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 244B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 244C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 244D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 244E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 244F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2450 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2451 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2452 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2453 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2454 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2455 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2456 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2457 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2458 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2459 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 245A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 245B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 245C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 245D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 245E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 245F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2460 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2461 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2462 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2463 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2464 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2465 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2466 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2467 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2468 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2469 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 246A */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 246B */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 246C */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 246D */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 246E */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 246F */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2470 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2471 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2472 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2473 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2474 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2475 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2476 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2477 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2478 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2479 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 247A */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 247B */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 247C */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 247D */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 247E */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 247F */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2480 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2481 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2482 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2483 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2484 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2485 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2486 */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2487 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2488 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2489 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 248A */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 248B */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 248C */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 248D */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 248E */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 248F */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2490 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2491 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2492 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2493 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2494 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2495 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2496 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2497 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2498 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2499 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 249A */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 249B */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 249C */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 249D */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 249E */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 249F */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A0 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A1 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A2 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A3 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A4 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A5 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A6 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A7 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A8 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24A9 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24AA */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24AB */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24AC */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24AD */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24AE */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24AF */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24B0 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24B1 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24B2 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24B3 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24B4 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 24B5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24B6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24B7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24B8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24B9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24BA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24BB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24BC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24BD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24BE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24BF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24C9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24CA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24CB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24CC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24CD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24CE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24CF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24D9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24DA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24DB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24DC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24DD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24DE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24DF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24E9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24EA */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24EB */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24EC */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24ED */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24EE */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24EF */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24F0 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24F1 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24F2 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24F3 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24F4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24F5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24F6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24F7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24F8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24F9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24FA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24FB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24FC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 24FD */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 24FE */
+0x0020,0x0000,0x0000,0x0000,0x0000 /* 24FF */
+};
+
+static const uint16 uca520_p027_w2[]= { /* 2700 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2700 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2703 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2706 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2709 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 270C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 270F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2712 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2715 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2718 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 271B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 271E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2721 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2724 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2727 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 272A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 272D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2730 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2733 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2736 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2739 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 273C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 273F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2742 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2745 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2748 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 274B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 274E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2751 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2754 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2757 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 275A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 275D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2760 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2763 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2766 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2769 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 276C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 276F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2772 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2775 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2778 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 277B */
+0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000, /* 277E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2781 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2784 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000, /* 2787 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 278A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 278D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2790 */
+0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2793 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2796 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2799 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 279C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 279F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 27FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p02A_w2[]= { /* 2A00 (5 weights per char) */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A00 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A01 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A02 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A03 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A04 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A05 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A06 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A07 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A08 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A09 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A0A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A0B */
+0x0020,0x0020,0x0020,0x0020,0x0000, /* 2A0C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A0D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A0E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A0F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A10 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A11 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A12 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A13 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A14 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A15 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A16 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A17 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A18 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A19 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A1A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A1B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A1C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A1D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A1E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A1F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A20 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A21 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A22 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A23 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A24 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A25 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A26 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A27 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A28 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A29 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A2A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A2B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A2C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A2D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A2E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A2F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A30 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A31 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A32 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A33 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A34 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A35 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A36 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A37 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A38 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A39 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A3A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A3B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A3C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A3D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A3E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A3F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A40 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A41 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A42 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A43 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A44 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A45 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A46 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A47 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A48 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A49 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A4A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A4B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A4C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A4D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A4E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A4F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A50 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A51 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A52 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A53 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A54 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A55 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A56 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A57 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A58 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A59 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A5A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A5B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A5C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A5D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A5E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A5F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A60 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A61 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A62 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A63 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A64 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A65 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A66 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A67 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A68 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A69 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A6A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A6B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A6C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A6D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A6E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A6F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A70 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A71 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A72 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A73 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2A74 */
+0x0020,0x0020,0x0000,0x0000,0x0000, /* 2A75 */
+0x0020,0x0020,0x0020,0x0000,0x0000, /* 2A76 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A77 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A78 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A79 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A7A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A7B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A7C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A7D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A7E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A7F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A80 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A81 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A82 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A83 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A84 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A85 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A86 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A87 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A88 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A89 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A8A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A8B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A8C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A8D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A8E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A8F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A90 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A91 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A92 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A93 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A94 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A95 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A96 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A97 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A98 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A99 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A9A */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A9B */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A9C */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A9D */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A9E */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2A9F */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AA9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AAA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AAB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AAC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AAD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AAE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AAF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AB9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ABA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ABB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ABC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ABD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ABE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ABF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AC9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ACA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ACB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ACC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ACD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ACE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ACF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AD9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ADA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ADB */
+0x0020,0x0054,0x0000,0x0000,0x0000, /* 2ADC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ADD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ADE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2ADF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AE9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AEA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AEB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AEC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AED */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AEE */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AEF */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF0 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF1 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF2 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF3 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF4 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF5 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF6 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF7 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF8 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AF9 */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AFA */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AFB */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AFC */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AFD */
+0x0020,0x0000,0x0000,0x0000,0x0000, /* 2AFE */
+0x0020,0x0000,0x0000,0x0000,0x0000 /* 2AFF */
+};
+
+static const uint16 uca520_p02C_w2[]= { /* 2C00 (4 weights per char) */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C00 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C02 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C04 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C06 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C08 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C0A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C0C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C0E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C10 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C12 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C14 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C16 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C18 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C1A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C1C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C1E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C20 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C22 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C24 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C26 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C28 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C2A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C2C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C2E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C30 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C32 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C34 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C36 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C38 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C3A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C3C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C3E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C40 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C42 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C44 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C46 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C48 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C4A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C4C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C4E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C50 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C52 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C54 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C56 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C58 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C5A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C5C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C5E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C60 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C62 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C64 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C66 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C68 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C6A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C6C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C6E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C70 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C72 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C74 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C76 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C78 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C7A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C7C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C7E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C80 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C82 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C84 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C86 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C88 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C8A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C8C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C8E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C90 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C92 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C94 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C96 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C98 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C9A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C9C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2C9E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CA0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CA2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CA4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CA6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CA8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CAA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CAC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CAE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CB0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CB2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CB4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CB6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CB8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CBA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CBC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CBE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CC0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CC2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CC4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CC6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CC8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CCA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CCC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CCE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CD0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CD2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CD4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CD6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CD8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CDA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CDC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CDE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CE0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CE2 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CE4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CE6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CE8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CEA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CEC */
+0x0020,0x0000,0x0000,0x0000, 0x005F,0x0000,0x0000,0x0000, /* 2CEE */
+0x002A,0x0000,0x0000,0x0000, 0x0022,0x0000,0x0000,0x0000, /* 2CF0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CF2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CF4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CF6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CF8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CFA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 2CFC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 2CFE */
+};
+
+static const uint16 uca520_p02D_w2[]= { /* 2D00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D00 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D7E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2D9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DCC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DCF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000, /* 2DF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2DFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p02E_w2[]= { /* 2E00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E00 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 2E7E */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E81 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 2E84 */
+0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 2E87 */
+0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, /* 2E8A */
+0x0020,0x015A,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 2E8D */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 2E90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 2E93 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 2E96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E99 */
+0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, /* 2E9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2E9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EA2 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 2EA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, /* 2EA8 */
+0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 2EAB */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 2EB1 */
+0x0020,0x015A,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, /* 2EB4 */
+0x0020,0x015A,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0159,0x0000, /* 2EBA */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 2EBD */
+0x0020,0x015A,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 2EC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 2EC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x015A,0x0000, /* 2ECC */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2ECF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2ED2 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 2ED5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2ED8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EDB */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EDE */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 2EE1 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EE4 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 2EEA */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 2EED */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x015A,0x0000, /* 2EF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 2EFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p030_w2[]= { /* 3000 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3000 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3003 */
+0x0020,0x0020,0x0000, 0x0020,0x0185,0x0000, 0x0020,0x0000,0x0000, /* 3006 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3009 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 300C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 300F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3012 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3015 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3018 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 301B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 301E */
+0x0020,0x0185,0x0000, 0x0020,0x0185,0x0000, 0x0020,0x0185,0x0000, /* 3021 */
+0x0020,0x0185,0x0000, 0x0020,0x0185,0x0000, 0x0020,0x0185,0x0000, /* 3024 */
+0x0020,0x0185,0x0000, 0x0020,0x0185,0x0000, 0x0020,0x0185,0x0000, /* 3027 */
+0x0142,0x0000,0x0000, 0x0143,0x0000,0x0000, 0x0144,0x0000,0x0000, /* 302A */
+0x0145,0x0000,0x0000, 0x0146,0x0000,0x0000, 0x0147,0x0000,0x0000, /* 302D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 3030 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 3033 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3036 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3039 */
+0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 303C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 303F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3042 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3045 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3048 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 304B */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 304E */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 3051 */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 3054 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 3057 */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 305A */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 305D */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 3060 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 3063 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 3066 */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3069 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 306C */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 306F */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 3072 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 3075 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 3078 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 307B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 307E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3081 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3084 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3087 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 308A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 308D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3090 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 3093 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3096 */
+0x0148,0x0000,0x0000, 0x0149,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3099 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 309C */
+0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 309F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 30AB */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 30AE */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 30B1 */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 30B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 30B7 */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 30BA */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 30BD */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 30C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 30C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 30C6 */
+0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30CC */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 30CF */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 30D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 30D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 30D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0149,0x0000, /* 30DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 30F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 30F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0148,0x0000, /* 30F6 */
+0x0020,0x0148,0x0000, 0x0020,0x0148,0x0000, 0x0020,0x0000,0x0000, /* 30F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0148,0x0000, /* 30FC */
+0x0020,0x0020,0x0000 };
+
+static const uint16 uca520_p031_w2[]= { /* 3100 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3100 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3103 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3106 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3109 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 310C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 310F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3112 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3115 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3118 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 311B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 311E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3121 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3124 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3127 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 312A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 312D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3130 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3133 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3136 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3139 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 313C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 313F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3142 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3145 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3148 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 314B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 314E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3151 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3154 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3157 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 315A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 315D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3160 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3163 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3166 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3169 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 316C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 316F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3172 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3175 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3178 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 317B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 317E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3181 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3184 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3187 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 318A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 318D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3190 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3193 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3196 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 3199 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 319C */
+0x0020,0x0000,0x0000, 0x0020,0x015A,0x0000, 0x0020,0x015A,0x0000, /* 319F */
+0x0020,0x015A,0x0000, 0x0020,0x015A,0x0000, 0x0020,0x0000,0x0000, /* 31A2 */
+0x0020,0x015A,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x015A,0x0000, /* 31A5 */
+0x0020,0x015C,0x0000, 0x0020,0x015A,0x0000, 0x0020,0x015A,0x0000, /* 31A8 */
+0x0020,0x015A,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31AB */
+0x0020,0x015A,0x0000, 0x0020,0x015A,0x0000, 0x0020,0x0000,0x0000, /* 31AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x015A,0x0000, /* 31B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 31FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p032_w2[]= { /* 3200 (8 weights per char) */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3200 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3201 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3202 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3203 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3204 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3205 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3206 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3207 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3208 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3209 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 320A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 320B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 320C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 320D */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 320E */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 320F */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3210 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3211 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3212 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3213 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3214 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3215 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3216 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3217 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3218 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3219 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 321A */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 321B */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 321C */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0000, /* 321D */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0000,0x0000, /* 321E */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 321F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3220 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3221 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3222 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3223 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3224 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3225 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3226 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3227 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3228 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3229 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 322A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 322B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 322C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 322D */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 322E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 322F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3230 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3231 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3232 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3233 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3234 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3235 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3236 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3237 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3238 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3239 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 323A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 323B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 323C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 323D */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 323E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 323F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3240 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3241 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3242 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3243 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3244 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3245 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3246 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3247 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3248 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3249 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 324A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 324B */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 324C */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 324D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 324E */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 324F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3250 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3251 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3252 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3253 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3254 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3255 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3256 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3257 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3258 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3259 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 325A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 325B */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 325C */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 325D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 325E */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 325F */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3260 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3261 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3262 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3263 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3264 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3265 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3266 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3267 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3268 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3269 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 326A */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 326B */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 326C */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 326D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 326E */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 326F */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3270 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3271 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3272 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3273 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3274 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3275 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3276 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3277 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3278 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3279 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 327A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 327B */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 327C */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 327D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 327E */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 327F */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3280 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3281 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3282 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3283 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3284 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3285 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3286 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3287 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3288 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3289 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 328A */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 328B */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 328C */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 328D */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 328E */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 328F */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3290 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3291 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3292 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3293 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3294 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3295 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3296 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3297 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3298 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3299 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 329A */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 329B */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 329C */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 329D */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 329E */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 329F */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A0 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A1 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A2 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A3 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A4 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A5 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A6 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A7 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A8 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32A9 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32AA */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32AB */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32AC */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32AD */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32AE */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32AF */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B0 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B1 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B2 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B3 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B4 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B5 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B6 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B7 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B8 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32B9 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32BA */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32BB */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32BC */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32BD */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32BE */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32BF */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C0 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C1 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C2 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C3 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C4 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C5 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C6 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C7 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C8 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32C9 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32CA */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32CB */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32CC */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32CD */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32CE */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32CF */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D0 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D1 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D2 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D3 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D4 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D5 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D6 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D7 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D8 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32D9 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32DA */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32DB */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32DC */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32DD */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32DE */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32DF */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E0 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E1 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E2 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E3 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E4 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E5 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E6 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E7 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E8 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32E9 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32EA */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32EB */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32EC */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32ED */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32EE */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32EF */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F0 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F1 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F2 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F3 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F4 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F5 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F6 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F7 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F8 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32F9 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32FA */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32FB */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32FC */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32FD */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* 32FE */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 /* 32FF */
+};
+
+static const uint16 uca520_p033_w2[]= { /* 3300 (7 weights per char) */
+0x0020,0x0020,0x0149,0x0020,0x0020,0x0000,0x0000, /* 3300 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3301 */
+0x0020,0x0020,0x0020,0x0149,0x0020,0x0000,0x0000, /* 3302 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3303 */
+0x0020,0x0020,0x0020,0x0020,0x0148,0x0000,0x0000, /* 3304 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3305 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3306 */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0148,0x0000, /* 3307 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3308 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3309 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 330A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 330B */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 330C */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 330D */
+0x0020,0x0148,0x0020,0x0020,0x0000,0x0000,0x0000, /* 330E */
+0x0020,0x0148,0x0020,0x0020,0x0000,0x0000,0x0000, /* 330F */
+0x0020,0x0148,0x0020,0x0148,0x0000,0x0000,0x0000, /* 3310 */
+0x0020,0x0148,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3311 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3312 */
+0x0020,0x0148,0x0020,0x0020,0x0148,0x0020,0x0000, /* 3313 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3314 */
+0x0020,0x0020,0x0020,0x0148,0x0020,0x0020,0x0000, /* 3315 */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0000, /* 3316 */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0000,0x0000, /* 3317 */
+0x0020,0x0148,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3318 */
+0x0020,0x0148,0x0020,0x0020,0x0020,0x0020,0x0000, /* 3319 */
+0x0020,0x0020,0x0020,0x0148,0x0020,0x0020,0x0000, /* 331A */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 331B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 331C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 331D */
+0x0020,0x0020,0x0020,0x0149,0x0000,0x0000,0x0000, /* 331E */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 331F */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0000,0x0000, /* 3320 */
+0x0020,0x0020,0x0020,0x0020,0x0148,0x0000,0x0000, /* 3321 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3322 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3323 */
+0x0020,0x0148,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3324 */
+0x0020,0x0148,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3325 */
+0x0020,0x0148,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3326 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3327 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3328 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3329 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 332A */
+0x0020,0x0149,0x0020,0x0020,0x0020,0x0020,0x0000, /* 332B */
+0x0020,0x0149,0x0020,0x0020,0x0000,0x0000,0x0000, /* 332C */
+0x0020,0x0148,0x0020,0x0020,0x0020,0x0000,0x0000, /* 332D */
+0x0020,0x0149,0x0020,0x0020,0x0020,0x0020,0x0000, /* 332E */
+0x0020,0x0149,0x0020,0x0020,0x0000,0x0000,0x0000, /* 332F */
+0x0020,0x0149,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3330 */
+0x0020,0x0148,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3331 */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0148,0x0000, /* 3332 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3333 */
+0x0020,0x0148,0x0020,0x0020,0x0020,0x0020,0x0000, /* 3334 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3335 */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0000,0x0000, /* 3336 */
+0x0020,0x0149,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3337 */
+0x0020,0x0149,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3338 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3339 */
+0x0020,0x0149,0x0020,0x0020,0x0000,0x0000,0x0000, /* 333A */
+0x0020,0x0149,0x0020,0x0020,0x0148,0x0000,0x0000, /* 333B */
+0x0020,0x0148,0x0020,0x0020,0x0000,0x0000,0x0000, /* 333C */
+0x0020,0x0149,0x0020,0x0020,0x0020,0x0000,0x0000, /* 333D */
+0x0020,0x0148,0x0020,0x0020,0x0000,0x0000,0x0000, /* 333E */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 333F */
+0x0020,0x0149,0x0020,0x0020,0x0148,0x0000,0x0000, /* 3340 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3341 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3342 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3343 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3344 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3345 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3346 */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0000,0x0000, /* 3347 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3348 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3349 */
+0x0020,0x0020,0x0020,0x0148,0x0020,0x0020,0x0000, /* 334A */
+0x0020,0x0020,0x0148,0x0000,0x0000,0x0000,0x0000, /* 334B */
+0x0020,0x0020,0x0148,0x0020,0x0020,0x0000,0x0000, /* 334C */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 334D */
+0x0020,0x0020,0x0020,0x0148,0x0000,0x0000,0x0000, /* 334E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 334F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3350 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3351 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3352 */
+0x0020,0x0020,0x0149,0x0020,0x0000,0x0000,0x0000, /* 3353 */
+0x0020,0x0020,0x0020,0x0148,0x0020,0x0000,0x0000, /* 3354 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3355 */
+0x0020,0x0020,0x0020,0x0020,0x0148,0x0020,0x0000, /* 3356 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3357 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3358 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3359 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 335A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 335B */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 335C */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 335D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 335E */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 335F */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3360 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3361 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3362 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3363 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3364 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3365 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3366 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3367 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3368 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3369 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 336A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 336B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 336C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 336D */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 336E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 336F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3370 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3371 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3372 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3373 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3374 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3375 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3376 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3377 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3378 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3379 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 337A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 337B */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 337C */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 337D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 337E */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 337F */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3380 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3381 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3382 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3383 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3384 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3385 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3386 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3387 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3388 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 3389 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 338A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 338B */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 338C */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 338D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 338E */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 338F */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3390 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3391 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3392 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3393 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 3394 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3395 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3396 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3397 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3398 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 3399 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 339A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 339B */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 339C */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 339D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 339E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 339F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33A0 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33A1 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33A2 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33A3 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33A4 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33A5 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33A6 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33A7 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 33A8 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33A9 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33AA */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33AB */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33AC */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33AD */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0000,0x0000, /* 33AE */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0000, /* 33AF */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B0 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B1 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B2 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B3 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B4 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B5 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B6 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B7 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B8 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33B9 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33BA */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33BB */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33BC */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33BD */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33BE */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33BF */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33C0 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33C1 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 33C2 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33C3 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33C4 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33C5 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 33C6 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33C7 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33C8 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33C9 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33CA */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33CB */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33CC */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33CD */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33CE */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33CF */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33D0 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33D1 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33D2 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33D3 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33D4 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33D5 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33D6 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33D7 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000, /* 33D8 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33D9 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33DA */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33DB */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33DC */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33DD */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33DE */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33DF */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33E0 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33E1 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33E2 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33E3 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33E4 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33E5 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33E6 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33E7 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* 33E8 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33E9 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33EA */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33EB */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33EC */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33ED */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33EE */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33EF */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F0 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F1 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F2 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F3 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F4 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F5 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F6 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F7 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F8 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33F9 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33FA */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33FB */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33FC */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33FD */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000, /* 33FE */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000 /* 33FF */
+};
+
+static const uint16 uca520_p0A6_w2[]= { /* A600 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A600 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A603 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A606 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A609 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A60C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A60F */
+0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* A612 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* A615 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* A618 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* A61B */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0184,0x0000, /* A61E */
+0x0020,0x0184,0x0000, 0x0020,0x0184,0x0000, 0x0020,0x0184,0x0000, /* A621 */
+0x0020,0x0184,0x0000, 0x0020,0x0184,0x0000, 0x0020,0x0184,0x0000, /* A624 */
+0x0020,0x0184,0x0000, 0x0020,0x0184,0x0000, 0x0020,0x0184,0x0000, /* A627 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A62A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A62D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A630 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A633 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A636 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A639 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A63C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A63F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A642 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A645 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A648 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A64B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A64E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A651 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A654 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A657 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A65A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A65D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A660 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A663 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A666 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A669 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A66C */
+0x0084,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* A66F */
+0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A672 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A675 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A678 */
+0x0020,0x0000,0x0000, 0x005F,0x0000,0x0000, 0x005F,0x0000,0x0000, /* A67B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A67E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A681 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A684 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A687 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A68A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A68D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A690 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A693 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A696 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A699 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A69C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A69F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6ED */
+0x00D8,0x0000,0x0000, 0x00D9,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A6FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p0A7_w2[]= { /* A700 (4 weights per char) */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A700 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A702 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A704 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A706 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A708 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A70A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A70C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A70E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A710 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A712 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A714 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A716 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A718 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A71A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A71C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A71E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A720 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A722 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A724 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A726 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* A728 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A72A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A72C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A72E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A730 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* A732 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* A734 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* A736 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* A738 */
+0x0020,0x0159,0x0020,0x0000, 0x0020,0x0159,0x0020,0x0000, /* A73A */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* A73C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A73E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A740 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A742 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A744 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A746 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A748 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A74A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A74C */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* A74E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A750 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A752 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A754 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A756 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A758 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A75A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A75C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A75E */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* A760 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A762 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A764 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A766 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A768 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A76A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A76C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A76E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A770 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A772 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A774 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A776 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x015A,0x0000,0x0000, /* A778 */
+0x0020,0x015A,0x0000,0x0000, 0x0020,0x015A,0x0000,0x0000, /* A77A */
+0x0020,0x015A,0x0000,0x0000, 0x0020,0x015A,0x0000,0x0000, /* A77C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A77E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A780 */
+0x0020,0x015A,0x0000,0x0000, 0x0020,0x015A,0x0000,0x0000, /* A782 */
+0x0020,0x015A,0x0000,0x0000, 0x0020,0x015A,0x0000,0x0000, /* A784 */
+0x0020,0x015A,0x0000,0x0000, 0x0020,0x015A,0x0000,0x0000, /* A786 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A788 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A78A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A78C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A78E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A790 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A792 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A794 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A796 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A798 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A79A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A79C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A79E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7A0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7A2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7A4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7A6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7A8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7AA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7AC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7AE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7B0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7B2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7B4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7B6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7B8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7BA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7BC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7BE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7C0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7C2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7C4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7C6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7C8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7CA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7CC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7CE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7D0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7D2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7D4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7D6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7D8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7DA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7DC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7DE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7E0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7E2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7E4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7E6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7E8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7EA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7EC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7EE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7F0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7F2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7F4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7F6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7F8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7FA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* A7FC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* A7FE */
+};
+
+static const uint16 uca520_p0A8_w2[]= { /* A800 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A800 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A803 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A806 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x010A,0x0000,0x0000, /* A809 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A80C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A80F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A812 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A815 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A818 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A81B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A81E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A821 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A824 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A827 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A82A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A82D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A830 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A833 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A836 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A839 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A83C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A83F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A842 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A845 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A848 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A84B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A84E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A851 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A854 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A857 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A85A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A85D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A860 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A863 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A866 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A869 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A86C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A86F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A872 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A875 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A878 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A87B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x010B,0x0000,0x0000, /* A87E */
+0x010C,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A881 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A884 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A887 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A88A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A88D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A890 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A893 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A896 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A899 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A89C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A89F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8CC */
+0x0020,0x0000,0x0000, 0x0020,0x016F,0x0000, 0x0020,0x016F,0x0000, /* A8CF */
+0x0020,0x016F,0x0000, 0x0020,0x016F,0x0000, 0x0020,0x016F,0x0000, /* A8D2 */
+0x0020,0x016F,0x0000, 0x0020,0x016F,0x0000, 0x0020,0x016F,0x0000, /* A8D5 */
+0x0020,0x016F,0x0000, 0x0020,0x016F,0x0000, 0x0020,0x0000,0x0000, /* A8D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0000,0x0000,0x0000, /* A8DE */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* A8E1 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* A8E4 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* A8E7 */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* A8EA */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, /* A8ED */
+0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A8FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p0A9_w2[]= { /* A900 (3 weights per char) */
+0x0020,0x0179,0x0000, 0x0020,0x0179,0x0000, 0x0020,0x0179,0x0000, /* A900 */
+0x0020,0x0179,0x0000, 0x0020,0x0179,0x0000, 0x0020,0x0179,0x0000, /* A903 */
+0x0020,0x0179,0x0000, 0x0020,0x0179,0x0000, 0x0020,0x0179,0x0000, /* A906 */
+0x0020,0x0179,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A909 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A90C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A90F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A912 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A915 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A918 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A91B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A91E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A921 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A924 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A927 */
+0x0020,0x0000,0x0000, 0x012A,0x0000,0x0000, 0x012B,0x0000,0x0000, /* A92A */
+0x012C,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A92D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A930 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A933 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A936 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A939 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A93C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A93F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A942 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A945 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A948 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A94B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A94E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A951 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A954 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A957 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A95A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A95D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A960 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A963 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A966 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A969 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A96C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A96F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A972 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A975 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A978 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A97B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0102,0x0000,0x0000, /* A97E */
+0x0103,0x0000,0x0000, 0x0104,0x0000,0x0000, 0x0105,0x0000,0x0000, /* A981 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A984 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A987 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A98A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A98D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A990 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A993 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A996 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A999 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A99C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A99F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0101,0x0000,0x0000, /* A9B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9CC */
+0x0020,0x0000,0x0000, 0x0020,0x0180,0x0000, 0x0020,0x0180,0x0000, /* A9CF */
+0x0020,0x0180,0x0000, 0x0020,0x0180,0x0000, 0x0020,0x0180,0x0000, /* A9D2 */
+0x0020,0x0180,0x0000, 0x0020,0x0180,0x0000, 0x0020,0x0180,0x0000, /* A9D5 */
+0x0020,0x0180,0x0000, 0x0020,0x0180,0x0000, 0x0020,0x0000,0x0000, /* A9D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* A9FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p0AA_w2[]= { /* AA00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA00 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x017E,0x0000, /* AA4E */
+0x0020,0x017E,0x0000, 0x0020,0x017E,0x0000, 0x0020,0x017E,0x0000, /* AA51 */
+0x0020,0x017E,0x0000, 0x0020,0x017E,0x0000, 0x0020,0x017E,0x0000, /* AA54 */
+0x0020,0x017E,0x0000, 0x0020,0x017E,0x0000, 0x0020,0x017E,0x0000, /* AA57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA7E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AA9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AABA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0124,0x0000,0x0000, /* AABD */
+0x0020,0x0000,0x0000, 0x0125,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AACC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AACF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AADB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AADE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AAFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p0AB_w2[]= { /* AB00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB00 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB7E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* AB9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABCC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABCF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0109,0x0000,0x0000, /* ABEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABED */
+0x0020,0x016E,0x0000, 0x0020,0x016E,0x0000, 0x0020,0x016E,0x0000, /* ABF0 */
+0x0020,0x016E,0x0000, 0x0020,0x016E,0x0000, 0x0020,0x016E,0x0000, /* ABF3 */
+0x0020,0x016E,0x0000, 0x0020,0x016E,0x0000, 0x0020,0x016E,0x0000, /* ABF6 */
+0x0020,0x016E,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* ABFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p0FB_w2[]= { /* FB00 (4 weights per char) */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FB00 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0020,0x0000, /* FB02 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x015A,0x0020,0x0000, /* FB04 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB06 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB08 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB0A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB0C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB0E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB10 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FB12 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FB14 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FB16 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB18 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB1A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0089,0x0000,0x0000, /* FB1C */
+0x0096,0x0000,0x0000,0x0000, 0x0020,0x0020,0x008C,0x0000, /* FB1E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB20 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB22 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB24 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB26 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB28 */
+0x0020,0x0091,0x0000,0x0000, 0x0020,0x0090,0x0000,0x0000, /* FB2A */
+0x0020,0x0092,0x0091,0x0000, 0x0020,0x0092,0x0090,0x0000, /* FB2C */
+0x0020,0x008C,0x0000,0x0000, 0x0020,0x008D,0x0000,0x0000, /* FB2E */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0092,0x0000,0x0000, /* FB30 */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0092,0x0000,0x0000, /* FB32 */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0092,0x0000,0x0000, /* FB34 */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB36 */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0092,0x0000,0x0000, /* FB38 */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0092,0x0000,0x0000, /* FB3A */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB3C */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB3E */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0092,0x0000,0x0000, /* FB40 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0092,0x0000,0x0000, /* FB42 */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB44 */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0092,0x0000,0x0000, /* FB46 */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x0092,0x0000,0x0000, /* FB48 */
+0x0020,0x0092,0x0000,0x0000, 0x0020,0x008E,0x0000,0x0000, /* FB4A */
+0x0020,0x0095,0x0000,0x0000, 0x0020,0x0095,0x0000,0x0000, /* FB4C */
+0x0020,0x0095,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FB4E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB50 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB52 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB54 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB56 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB58 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB5A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB5C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB5E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB60 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB62 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB64 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB66 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB68 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB6A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB6C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB6E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB70 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB72 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB74 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB76 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB78 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB7A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB7C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB7E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB80 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB82 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB84 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB86 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB88 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB8A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB8C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB8E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB90 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB92 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB94 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB96 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB98 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB9A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB9C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FB9E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBA0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBA2 */
+0x0020,0x00B1,0x0000,0x0000, 0x0020,0x00B1,0x0000,0x0000, /* FBA4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBA6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBA8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBAA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBAC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBAE */
+0x0020,0x00B1,0x0000,0x0000, 0x0020,0x00B1,0x0000,0x0000, /* FBB0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBB2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBB4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBB6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBB8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBBA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBBC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBBE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBC0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBC2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBC4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBC6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBC8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBCA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBCC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBCE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBD0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBD2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBD4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBD6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBD8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBDA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBDC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBDE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBE0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBE2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBE4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBE6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBE8 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBEA */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBEC */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBEE */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBF0 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBF2 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBF4 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBF6 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBF8 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FBFA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FBFC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* FBFE */
+};
+
+static const uint16 uca520_p0FC_w2[]= { /* FC00 (3 weights per char) */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC00 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC03 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC06 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC09 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC0C */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC0F */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC12 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC15 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC18 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC1B */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC1E */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC21 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC24 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC27 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC2A */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC2D */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC30 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC33 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC36 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC39 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC3C */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC3F */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC42 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC45 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC48 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC4B */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC4E */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC51 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC54 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC57 */
+0x0020,0x0020,0x0000, 0x0020,0x00BC,0x0000, 0x0020,0x00BC,0x0000, /* FC5A */
+0x0020,0x00BC,0x0000, 0x00A3,0x00AD,0x0000, 0x00A5,0x00AD,0x0000, /* FC5D */
+0x00A7,0x00AD,0x0000, 0x00A9,0x00AD,0x0000, 0x00AB,0x00AD,0x0000, /* FC60 */
+0x00AD,0x00BC,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC63 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC66 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC69 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC6C */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC6F */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC72 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC75 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC78 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC7B */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC7E */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC81 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC84 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC87 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC8A */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC8D */
+0x0020,0x00BC,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC90 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC93 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC96 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC99 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC9C */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FC9F */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCA2 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCA5 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCA8 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCAB */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCAE */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCB1 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCB4 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCB7 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCBA */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCBD */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCC0 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCC3 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCC6 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCC9 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCCC */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCCF */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCD2 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCD5 */
+0x0020,0x0020,0x0000, 0x0020,0x00BC,0x0000, 0x0020,0x0020,0x0000, /* FCD8 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCDB */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCDE */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCE1 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCE4 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCE7 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCEA */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCED */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x00A7,0x00AD,0x0000, /* FCF0 */
+0x00A9,0x00AD,0x0000, 0x00AB,0x00AD,0x0000, 0x0020,0x0020,0x0000, /* FCF3 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCF6 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCF9 */
+0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, 0x0020,0x0020,0x0000, /* FCFC */
+0x0020,0x0020,0x0000 };
+
+static const uint16 uca520_p0FD_w2[]= { /* FD00 (9 weights per char) */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD00 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD01 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD02 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD03 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD04 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD05 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD06 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD07 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD08 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD09 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD0A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD0B */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD0C */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD0D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD0E */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD0F */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD10 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD11 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD12 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD13 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD14 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD15 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD16 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD17 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD18 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD19 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD1A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD1B */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD1C */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD1D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD1E */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD1F */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD20 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD21 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD22 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD23 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD24 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD25 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD26 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD27 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD28 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD29 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD2A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD2B */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD2C */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD2D */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD2E */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD2F */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD30 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD31 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD32 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD33 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD34 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD35 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD36 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD37 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD38 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD39 */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD3A */
+0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD3B */
+0x0020,0x00A2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD3C */
+0x0020,0x00A2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD3D */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD3E */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD3F */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD40 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD41 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD42 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD43 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD44 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD45 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD46 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD47 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD48 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD49 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD4A */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD4B */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD4C */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD4D */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD4E */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD4F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD50 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD51 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD52 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD53 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD54 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD55 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD56 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD57 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD58 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD59 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD5A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD5B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD5C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD5D */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD5E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD5F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD60 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD61 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD62 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD63 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD64 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD65 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD66 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD67 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD68 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD69 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD6A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD6B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD6C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD6D */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD6E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD6F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD70 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD71 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD72 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD73 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD74 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD75 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD76 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD77 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD78 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD79 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD7A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD7B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD7C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD7D */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD7E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD7F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD80 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD81 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD82 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD83 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD84 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD85 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD86 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD87 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD88 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD89 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD8A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD8B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD8C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD8D */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD8E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD8F */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD90 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD91 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD92 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD93 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD94 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD95 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD96 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD97 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD98 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD99 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD9A */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD9B */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD9C */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD9D */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD9E */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FD9F */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA0 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA1 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA2 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA3 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA4 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA5 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA6 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA7 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA8 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDA9 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDAA */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDAB */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDAC */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDAD */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDAE */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDAF */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB0 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB1 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB2 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB3 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB4 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB5 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB6 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB7 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB8 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDB9 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDBA */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDBB */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDBC */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDBD */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDBE */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDBF */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC0 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC1 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC2 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC3 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC4 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC5 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC6 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC7 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC8 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDC9 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDCA */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDCB */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDCC */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDCD */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDCE */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDCF */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD0 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD1 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD2 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD3 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD4 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD5 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD6 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD7 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD8 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDD9 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDDA */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDDB */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDDC */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDDD */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDDE */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDDF */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE0 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE1 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE2 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE3 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE4 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE5 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE6 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE7 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE8 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDE9 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDEA */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDEB */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDEC */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDED */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDEE */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDEF */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF0 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF1 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF2 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF3 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF4 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF5 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF6 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF7 */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF8 */
+0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDF9 */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDFA */
+0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0000, /* FDFB */
+0x0020,0x0020,0x0020,0x0020,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDFC */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDFD */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, /* FDFE */
+0x0020,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 /* FDFF */
+};
+
+static const uint16 uca520_p0FE_w2[]= { /* FE00 (4 weights per char) */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE00 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE02 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE04 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE06 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE08 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE0A */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE0C */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE0E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE10 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE12 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE14 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE16 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0020,0x0000, /* FE18 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE1A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE1C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE1E */
+0x0082,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE20 */
+0x0081,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE22 */
+0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE24 */
+0x0000,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE26 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE28 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE2A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE2C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE2E */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE30 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE32 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE34 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE36 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE38 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE3A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE3C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE3E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE40 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE42 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE44 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE46 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE48 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE4A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE4C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE4E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE50 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE52 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE54 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE56 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE58 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE5A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE5C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE5E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE60 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE62 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE64 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE66 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE68 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE6A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE6C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE6E */
+0x00A2,0x0000,0x0000,0x0000, 0x00A2,0x0000,0x0000,0x0000, /* FE70 */
+0x00A3,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000, /* FE72 */
+0x00A5,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE74 */
+0x00A7,0x0000,0x0000,0x0000, 0x00A7,0x0000,0x0000,0x0000, /* FE76 */
+0x00A9,0x0000,0x0000,0x0000, 0x00A9,0x0000,0x0000,0x0000, /* FE78 */
+0x00AB,0x0000,0x0000,0x0000, 0x00AB,0x0000,0x0000,0x0000, /* FE7A */
+0x00AD,0x0000,0x0000,0x0000, 0x00AD,0x0000,0x0000,0x0000, /* FE7C */
+0x00AF,0x0000,0x0000,0x0000, 0x00AF,0x0000,0x0000,0x0000, /* FE7E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE80 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE82 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE84 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE86 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE88 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE8A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE8C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE8E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE90 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE92 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE94 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE96 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE98 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE9A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE9C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FE9E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEA0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEA2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEA4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEA6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEA8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEAA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEAC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEAE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEB0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEB2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEB4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEB6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEB8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEBA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEBC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEBE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEC0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEC2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEC4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEC6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEC8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FECA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FECC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FECE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FED0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FED2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FED4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FED6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FED8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEDA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEDC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEDE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEE0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEE2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEE4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEE6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEE8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEEA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEEC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEEE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEF0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEF2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FEF4 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FEF6 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FEF8 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* FEFA */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* FEFC */
+0x0020,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000 /* FEFE */
+};
+
+static const uint16 uca520_p0FF_w2[]= { /* FF00 (2 weights per char) */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF00 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF04 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF08 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF0C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF10 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF14 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF18 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF1C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF20 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF24 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF28 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF2C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF30 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF34 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF38 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF3C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF40 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF44 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF48 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF4C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF50 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF54 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF58 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF5C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF60 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF64 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF68 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF6C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF70 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF74 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF78 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF7C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF80 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF84 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF88 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF8C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF90 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF94 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FF98 */
+0x0020,0x0000, 0x0020,0x0000, 0x0148,0x0000, 0x0149,0x0000, /* FF9C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFA0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFA4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFA8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFAC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFB0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFB4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFB8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFBC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFC0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFC4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFC8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFCC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFD0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFD4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFD8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFDC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFE0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFE4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFE8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFEC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFF0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* FFF4 */
+0x0020,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* FFF8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000 /* FFFC */
+};
+
+static const uint16 uca520_p101_w2[]= { /* 10100 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10100 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10103 */
+0x0020,0x0000,0x0000, 0x0020,0x0186,0x0000, 0x0020,0x0186,0x0000, /* 10106 */
+0x0020,0x0186,0x0000, 0x0020,0x0186,0x0000, 0x0020,0x0186,0x0000, /* 10109 */
+0x0020,0x0186,0x0000, 0x0020,0x0186,0x0000, 0x0020,0x0186,0x0000, /* 1010C */
+0x0020,0x0186,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1010F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10112 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10115 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10118 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1011B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1011E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10121 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10124 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10127 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1012A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1012D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10130 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10133 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10136 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10139 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1013C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1013F */
+0x0020,0x0187,0x0000, 0x0020,0x0187,0x0000, 0x0020,0x0000,0x0000, /* 10142 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10145 */
+0x0020,0x0187,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10148 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1014B */
+0x0020,0x0000,0x0000, 0x0020,0x0187,0x0000, 0x0020,0x0000,0x0000, /* 1014E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10151 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10154 */
+0x0020,0x0000,0x0000, 0x0020,0x0187,0x0000, 0x0020,0x0187,0x0000, /* 10157 */
+0x0020,0x0187,0x0000, 0x0020,0x0187,0x0000, 0x0020,0x0187,0x0000, /* 1015A */
+0x0020,0x0187,0x0000, 0x0020,0x0187,0x0000, 0x0020,0x0187,0x0000, /* 1015D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10160 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10163 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10166 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10169 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1016C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1016F */
+0x0020,0x0000,0x0000, 0x0020,0x0187,0x0000, 0x0020,0x0000,0x0000, /* 10172 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10175 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10178 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1017B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1017E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10181 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10184 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10187 */
+0x0020,0x0187,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1018A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1018D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10190 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10193 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10196 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10199 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1019C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1019F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101F9 */
+0x0020,0x0000,0x0000, 0x0158,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 101FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p103_w2[]= { /* 10300 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10300 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10303 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10306 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10309 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1030C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1030F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10312 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10315 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10318 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1031B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0189,0x0000, /* 1031E */
+0x0020,0x0189,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10321 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10324 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10327 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1032A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1032D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10330 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10333 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10336 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10339 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1033C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1033F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10342 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10345 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10348 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1034B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1034E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10351 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10354 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10357 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1035A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1035D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10360 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10363 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10366 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10369 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1036C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1036F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10372 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10375 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10378 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1037B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1037E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10381 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10384 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10387 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1038A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1038D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10390 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10393 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10396 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10399 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1039C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1039F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x018A,0x0000, /* 103CF */
+0x0020,0x018A,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 103FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p104_w2[]= { /* 10400 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10400 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10403 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10406 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10409 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1040C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1040F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10412 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10415 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10418 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1041B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1041E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10421 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10424 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10427 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1042A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1042D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10430 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10433 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10436 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10439 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1043C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1043F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10442 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10445 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10448 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1044B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1044E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10451 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10454 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10457 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1045A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1045D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10460 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10463 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10466 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10469 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1046C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1046F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10472 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10475 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10478 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1047B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1047E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10481 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10484 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10487 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1048A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1048D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10490 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10493 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10496 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10499 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1049C */
+0x0020,0x0000,0x0000, 0x0020,0x0164,0x0000, 0x0020,0x0164,0x0000, /* 1049F */
+0x0020,0x0164,0x0000, 0x0020,0x0164,0x0000, 0x0020,0x0164,0x0000, /* 104A2 */
+0x0020,0x0164,0x0000, 0x0020,0x0164,0x0000, 0x0020,0x0164,0x0000, /* 104A5 */
+0x0020,0x0164,0x0000, 0x0020,0x0164,0x0000, 0x0020,0x0000,0x0000, /* 104A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 104FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p108_w2[]= { /* 10800 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10800 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10803 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10806 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10809 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1080C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1080F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10812 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10815 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10818 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1081B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1081E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10821 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10824 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10827 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1082A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1082D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10830 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10833 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10836 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10839 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1083C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1083F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10842 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10845 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10848 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1084B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1084E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10851 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10854 */
+0x0020,0x0000,0x0000, 0x0020,0x018E,0x0000, 0x0020,0x018E,0x0000, /* 10857 */
+0x0020,0x018E,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1085A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1085D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10860 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10863 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10866 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10869 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1086C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1086F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10872 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10875 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10878 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1087B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1087E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10881 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10884 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10887 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1088A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1088D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10890 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10893 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10896 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10899 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1089C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1089F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 108FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p109_w2[]= { /* 10900 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10900 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10903 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10906 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10909 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1090C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1090F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10912 */
+0x0020,0x0000,0x0000, 0x0020,0x018D,0x0000, 0x0020,0x0000,0x0000, /* 10915 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x018D,0x0000, /* 10918 */
+0x0020,0x018D,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1091B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1091E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10921 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10924 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10927 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1092A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1092D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10930 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10933 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10936 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10939 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1093C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1093F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10942 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10945 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10948 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1094B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1094E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10951 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10954 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10957 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1095A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1095D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10960 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10963 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10966 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10969 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1096C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1096F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10972 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10975 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10978 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1097B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1097E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10981 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10984 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10987 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1098A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1098D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10990 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10993 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10996 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10999 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1099C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1099F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 109FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p10A_w2[]= { /* 10A00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A00 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A09 */
+0x0020,0x0000,0x0000, 0x0060,0x0000,0x0000, 0x010D,0x0000,0x0000, /* 10A0C */
+0x010E,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x010F,0x0000,0x0000, /* 10A36 */
+0x0110,0x0000,0x0000, 0x0111,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A3C */
+0x0020,0x0000,0x0000, 0x0020,0x0191,0x0000, 0x0020,0x0191,0x0000, /* 10A3F */
+0x0020,0x0191,0x0000, 0x0020,0x0191,0x0000, 0x0020,0x0000,0x0000, /* 10A42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x018C,0x0000, /* 10A7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A7E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10A9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ABA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ABD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ACC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ACF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ADB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ADE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10AFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p10B_w2[]= { /* 10B00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B00 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B2A */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10B2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B54 */
+0x0020,0x0000,0x0000, 0x0020,0x018F,0x0000, 0x0020,0x018F,0x0000, /* 10B57 */
+0x0020,0x018F,0x0000, 0x0020,0x018F,0x0000, 0x0020,0x0000,0x0000, /* 10B5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B75 */
+0x0020,0x0190,0x0000, 0x0020,0x0190,0x0000, 0x0020,0x0190,0x0000, /* 10B78 */
+0x0020,0x0190,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B7E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10B9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BCC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BCF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10BFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p10C_w2[]= { /* 10C00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C00 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 10C06 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C09 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 10C0C */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C0F */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C12 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 10C15 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C18 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 10C1B */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C21 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C24 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 10C27 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C2A */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C30 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 10C33 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C36 */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 10C39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C3C */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C3F */
+0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, /* 10C42 */
+0x0020,0x0000,0x0000, 0x0020,0x0159,0x0000, 0x0020,0x0000,0x0000, /* 10C45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C5D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C60 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C63 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C7E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10C9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CCC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CCF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CD2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CD5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CD8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10CFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p10E_w2[]= { /* 10E00 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E00 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E03 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E06 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E09 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E0C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E0F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E12 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E15 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E18 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E1B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E1E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E21 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E24 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E27 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E2A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E2D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E30 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E33 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E36 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E39 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E3C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E3F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E42 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E45 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E48 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E4B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E4E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E51 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E54 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E57 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E5A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E5D */
+0x0020,0x0161,0x0000, 0x0020,0x0161,0x0000, 0x0020,0x0161,0x0000, /* 10E60 */
+0x0020,0x0161,0x0000, 0x0020,0x0161,0x0000, 0x0020,0x0161,0x0000, /* 10E63 */
+0x0020,0x0161,0x0000, 0x0020,0x0161,0x0000, 0x0020,0x0161,0x0000, /* 10E66 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E69 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E6C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E6F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E72 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E75 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E78 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E7B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E7E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E81 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E84 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E87 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E8A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E8D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E90 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E93 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E96 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E99 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E9C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10E9F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EA2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EA5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EA8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EAB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EAE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EB1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EB4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EB7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EBA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EBD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EC0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EC3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EC6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EC9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ECC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ECF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ED2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ED5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10ED8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EDB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EDE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EE1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EE4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EE7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EEA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EF0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EF3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EF6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EF9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 10EFC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p110_w2[]= { /* 11000 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11000 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11003 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11006 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11009 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1100C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1100F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11012 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11015 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11018 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1101B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1101E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11021 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11024 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11027 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1102A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1102D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11030 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11033 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11036 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11039 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1103C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1103F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11042 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11045 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11048 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1104B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1104E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11051 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11054 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11057 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1105A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1105D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11060 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11063 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11066 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11069 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1106C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1106F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11072 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11075 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11078 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1107B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0113,0x0000,0x0000, /* 1107E */
+0x0114,0x0000,0x0000, 0x0115,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11081 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11084 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11087 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1108A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1108D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11090 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11093 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 11096 */
+0x0020,0x0000,0x0000, 0x0020,0x0112,0x0000, 0x0020,0x0000,0x0000, /* 11099 */
+0x0020,0x0112,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1109C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1109F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110A8 */
+0x0020,0x0112,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110B7 */
+0x0112,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110BA */
+0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 110FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p124_w2[]= { /* 12400 (3 weights per char) */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12400 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12403 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12406 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12409 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1240C */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1240F */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12412 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12415 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12418 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1241B */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1241E */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12421 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12424 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12427 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1242A */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1242D */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x0000,0x0000, /* 12430 */
+0x0020,0x0000,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12433 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12436 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12439 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1243C */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1243F */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12442 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12445 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12448 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1244B */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 1244E */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12451 */
+0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x0000,0x0000, /* 12454 */
+0x0020,0x0000,0x0000, 0x0020,0x018B,0x0000, 0x0020,0x018B,0x0000, /* 12457 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1245A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1245D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12460 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12463 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12466 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12469 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1246C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1246F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12472 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12475 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12478 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1247B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1247E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12481 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12484 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12487 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1248A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1248D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12490 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12493 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12496 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 12499 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1249C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1249F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 124FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p1D1_w2[]= { /* 1D100 (2 weights per char) */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D100 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D104 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D108 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D10C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D110 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D114 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D118 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D11C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D120 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D124 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D128 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D12C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D130 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D134 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D138 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D13C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D140 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D144 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D148 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D14C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D150 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D154 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D158 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D15C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D160 */
+0x0020,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D164 */
+0x0000,0x0000, 0x0000,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D168 */
+0x0020,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D16C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D170 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D174 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D178 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D17C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0020,0x0000, /* 1D180 */
+0x0020,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D184 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D188 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D18C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D190 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D194 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D198 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D19C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1A0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1A4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D1A8 */
+0x0000,0x0000, 0x0000,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1AC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1B0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1B4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1B8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1BC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1C0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1C4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1C8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1CC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1D0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1D4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1D8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1DC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1E0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1E4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1E8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1EC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1F0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1F4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D1F8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000 /* 1D1FC */
+};
+
+static const uint16 uca520_p1D2_w2[]= { /* 1D200 (2 weights per char) */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D200 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D204 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D208 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D20C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D210 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D214 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D218 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D21C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D220 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D224 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D228 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D22C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D230 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D234 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D238 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D23C */
+0x0020,0x0000, 0x0020,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* 1D240 */
+0x0000,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D244 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D248 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D24C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D250 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D254 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D258 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D25C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D260 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D264 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D268 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D26C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D270 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D274 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D278 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D27C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D280 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D284 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D288 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D28C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D290 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D294 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D298 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D29C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2A0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2A4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2A8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2AC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2B0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2B4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2B8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2BC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2C0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2C4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2C8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2CC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2D0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2D4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2D8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2DC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2E0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2E4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2E8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2EC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2F0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2F4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* 1D2F8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000 /* 1D2FC */
+};
+
+static const uint16 uca520_p1D3_w2[]= { /* 1D300 (3 weights per char) */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D300 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D303 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D306 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D309 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D30C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D30F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D312 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D315 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D318 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D31B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D31E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D321 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D324 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D327 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D32A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D32D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D330 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D333 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D336 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D339 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D33C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D33F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D342 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D345 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D348 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D34B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D34E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D351 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D354 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D357 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D35A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D35D */
+0x0020,0x0192,0x0000, 0x0020,0x0192,0x0000, 0x0020,0x0192,0x0000, /* 1D360 */
+0x0020,0x0192,0x0000, 0x0020,0x0192,0x0000, 0x0020,0x0192,0x0000, /* 1D363 */
+0x0020,0x0192,0x0000, 0x0020,0x0192,0x0000, 0x0020,0x0192,0x0000, /* 1D366 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D369 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D36C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D36F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D372 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D375 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D378 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D37B */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D37E */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D381 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D384 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D387 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D38A */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D38D */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D390 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D393 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D396 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D399 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D39C */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D39F */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3A2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3A5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3A8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3AB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3AE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3B1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3B4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3B7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3BA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3BD */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3C0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3C3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3C6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3C9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3CC */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3CF */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3D2 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3D5 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3D8 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3DB */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3DE */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3E1 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3E4 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3E7 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3EA */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3ED */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3F0 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3F3 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3F6 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3F9 */
+0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000, /* 1D3FC */
+0x0020,0x0000,0x0000 };
+
+static const uint16 uca520_p1F1_w2[]= { /* 1F100 (4 weights per char) */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F100 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F102 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F104 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F106 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F108 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F10A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F10C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F10E */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F110 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F112 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F114 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F116 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F118 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F11A */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F11C */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F11E */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F120 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F122 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F124 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F126 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F128 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F12A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F12C */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F12E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F130 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F132 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F134 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F136 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F138 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F13A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F13C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F13E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F140 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F142 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F144 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F146 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F148 */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F14A */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F14C */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F14E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F150 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F152 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F154 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F156 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F158 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F15A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F15C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F15E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F160 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F162 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F164 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F166 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F168 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F16A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F16C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F16E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F170 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F172 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F174 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F176 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F178 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F17A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F17C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F17E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F180 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F182 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F184 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F186 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F188 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F18A */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0020,0x0000,0x0000, /* 1F18C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F18E */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F190 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F192 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F194 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F196 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F198 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F19A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F19C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F19E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1A0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1A2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1A4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1A6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1A8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1AA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1AC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1AE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1B0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1B2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1B4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1B6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1B8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1BA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1BC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1BE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1C0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1C2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1C4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1C6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1C8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1CA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1CC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1CE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1D0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1D2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1D4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1D6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1D8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1DA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1DC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1DE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1E0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1E2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1E4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1E6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1E8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1EA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1EC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1EE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1F0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1F2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1F4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1F6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1F8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1FA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F1FC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 1F1FE */
+};
+
+static const uint16 uca520_p1F2_w2[]= { /* 1F200 (4 weights per char) */
+0x0020,0x0020,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F200 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F202 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F204 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F206 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F208 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F20A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F20C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F20E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F210 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0148,0x0000,0x0000, /* 1F212 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F214 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F216 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F218 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F21A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F21C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F21E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F220 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F222 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F224 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F226 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F228 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F22A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F22C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F22E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F230 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F232 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F234 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F236 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F238 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F23A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F23C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F23E */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F240 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F242 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F244 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0020,0x0020,0x0000, /* 1F246 */
+0x0020,0x0020,0x0020,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F248 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F24A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F24C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F24E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F250 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F252 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F254 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F256 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F258 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F25A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F25C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F25E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F260 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F262 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F264 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F266 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F268 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F26A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F26C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F26E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F270 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F272 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F274 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F276 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F278 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F27A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F27C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F27E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F280 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F282 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F284 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F286 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F288 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F28A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F28C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F28E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F290 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F292 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F294 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F296 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F298 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F29A */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F29C */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F29E */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2A0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2A2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2A4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2A6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2A8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2AA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2AC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2AE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2B0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2B2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2B4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2B6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2B8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2BA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2BC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2BE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2C0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2C2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2C4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2C6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2C8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2CA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2CC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2CE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2D0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2D2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2D4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2D6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2D8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2DA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2DC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2DE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2E0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2E2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2E4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2E6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2E8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2EA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2EC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2EE */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2F0 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2F2 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2F4 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2F6 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2F8 */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2FA */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000, /* 1F2FC */
+0x0020,0x0000,0x0000,0x0000, 0x0020,0x0000,0x0000,0x0000 /* 1F2FE */
+};
+
+static const uint16 uca520_pE00_w2[]= { /* E0000 (2 weights per char) */
+0x0020,0x0000, 0x0000,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0000 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0004 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0008 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E000C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0010 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0014 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0018 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E001C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0020 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0024 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0028 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E002C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0030 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0034 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0038 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E003C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0040 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0044 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0048 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E004C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0050 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0054 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0058 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E005C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0060 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0064 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0068 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E006C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0070 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0074 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0078 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E007C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0080 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0084 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0088 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E008C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0090 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0094 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E0098 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E009C */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00A0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00A4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00A8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00AC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00B0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00B4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00B8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00BC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00C0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00C4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00C8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00CC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00D0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00D4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00D8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00DC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00E0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00E4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00E8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00EC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00F0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00F4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E00F8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000 /* E00FC */
+};
+
+static const uint16 uca520_pE01_w2[]= { /* E0100 (2 weights per char) */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0100 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0104 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0108 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E010C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0110 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0114 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0118 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E011C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0120 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0124 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0128 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E012C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0130 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0134 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0138 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E013C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0140 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0144 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0148 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E014C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0150 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0154 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0158 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E015C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0160 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0164 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0168 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E016C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0170 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0174 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0178 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E017C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0180 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0184 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0188 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E018C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0190 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0194 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E0198 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E019C */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01A0 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01A4 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01A8 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01AC */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01B0 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01B4 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01B8 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01BC */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01C0 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01C4 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01C8 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01CC */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01D0 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01D4 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01D8 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01DC */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01E0 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01E4 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01E8 */
+0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, 0x0000,0x0000, /* E01EC */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E01F0 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E01F4 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, /* E01F8 */
+0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000, 0x0020,0x0000 /* E01FC */
+};
+
+const uchar uca520_length_w2[4352]={
+4,5,4,4,3,3,3,3,2,3,3,3,3,3,3,4,
+4,0,0,3,0,0,5,3,3,4,4,3,3,4,4,5,
+5,5,4,0,5,0,0,3,0,0,5,0,4,3,3,0,
+3,3,8,7,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,3,4,3,3,3,3,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,4,3,9,4,2,
+0,3,0,3,3,0,0,0,3,3,3,3,3,0,3,0,
+3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+};
+static const uint16 *uca520_weight_w2[4352]= {
+uca520_p000_w2,uca520_p001_w2,uca520_p002_w2,uca520_p003_w2,
+uca520_p004_w2,uca520_p005_w2,uca520_p006_w2,uca520_p007_w2,
+uca520_p008_w2,uca520_p009_w2,uca520_p00A_w2,uca520_p00B_w2,
+uca520_p00C_w2,uca520_p00D_w2,uca520_p00E_w2,uca520_p00F_w2,
+uca520_p010_w2,NULL ,NULL ,uca520_p013_w2,
+NULL ,NULL ,uca520_p016_w2,uca520_p017_w2,
+uca520_p018_w2,uca520_p019_w2,uca520_p01A_w2,uca520_p01B_w2,
+uca520_p01C_w2,uca520_p01D_w2,uca520_p01E_w2,uca520_p01F_w2,
+uca520_p020_w2,uca520_p021_w2,uca520_p022_w2,NULL ,
+uca520_p024_w2,NULL ,NULL ,uca520_p027_w2,
+NULL ,NULL ,uca520_p02A_w2,NULL ,
+uca520_p02C_w2,uca520_p02D_w2,uca520_p02E_w2,NULL ,
+uca520_p030_w2,uca520_p031_w2,uca520_p032_w2,uca520_p033_w2,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,uca520_p0A6_w2,uca520_p0A7_w2,
+uca520_p0A8_w2,uca520_p0A9_w2,uca520_p0AA_w2,uca520_p0AB_w2,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,uca520_p0FB_w2,
+uca520_p0FC_w2,uca520_p0FD_w2,uca520_p0FE_w2,uca520_p0FF_w2,
+NULL ,uca520_p101_w2,NULL ,uca520_p103_w2,
+uca520_p104_w2,NULL ,NULL ,NULL ,
+uca520_p108_w2,uca520_p109_w2,uca520_p10A_w2,uca520_p10B_w2,
+uca520_p10C_w2,NULL ,uca520_p10E_w2,NULL ,
+uca520_p110_w2,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+uca520_p124_w2,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,uca520_p1D1_w2,uca520_p1D2_w2,uca520_p1D3_w2,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,uca520_p1F1_w2,uca520_p1F2_w2,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+uca520_pE00_w2,uca520_pE01_w2,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL ,
+NULL ,NULL ,NULL ,NULL
+};
+
+#define THAI_CONTRACTIONS 231
+#define THAI_CONTRACTIONS_W2 1
+
+MY_CONTRACTION thai_contractions[THAI_CONTRACTIONS]=
+{
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER KO KAI> */
+ { 0x0E40, 0x0E01, 0 },
+ { 0x1F70, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI> */
+ { 0x0E41, 0x0E01, 0 },
+ { 0x1F70, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER KO KAI> */
+ { 0x0E42, 0x0E01, 0 },
+ { 0x1F70, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI> */
+ { 0x0E43, 0x0E01, 0 },
+ { 0x1F70, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI> */
+ { 0x0E44, 0x0E01, 0 },
+ { 0x1F70, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI> */
+ { 0x0E40, 0x0E02, 0 },
+ { 0x1F71, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI> */
+ { 0x0E41, 0x0E02, 0 },
+ { 0x1F71, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI> */
+ { 0x0E42, 0x0E02, 0 },
+ { 0x1F71, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI> */
+ { 0x0E43, 0x0E02, 0 },
+ { 0x1F71, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI> */
+ { 0x0E44, 0x0E02, 0 },
+ { 0x1F71, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT> */
+ { 0x0E40, 0x0E03, 0 },
+ { 0x1F72, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT> */
+ { 0x0E41, 0x0E03, 0 },
+ { 0x1F72, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT> */
+ { 0x0E42, 0x0E03, 0 },
+ { 0x1F72, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT> */
+ { 0x0E43, 0x0E03, 0 },
+ { 0x1F72, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT> */
+ { 0x0E44, 0x0E03, 0 },
+ { 0x1F72, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI> */
+ { 0x0E40, 0x0E04, 0 },
+ { 0x1F73, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI> */
+ { 0x0E41, 0x0E04, 0 },
+ { 0x1F73, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI> */
+ { 0x0E42, 0x0E04, 0 },
+ { 0x1F73, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI> */
+ { 0x0E43, 0x0E04, 0 },
+ { 0x1F73, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI> */
+ { 0x0E44, 0x0E04, 0 },
+ { 0x1F73, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON> */
+ { 0x0E40, 0x0E05, 0 },
+ { 0x1F74, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON> */
+ { 0x0E41, 0x0E05, 0 },
+ { 0x1F74, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON> */
+ { 0x0E42, 0x0E05, 0 },
+ { 0x1F74, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON> */
+ { 0x0E43, 0x0E05, 0 },
+ { 0x1F74, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON> */
+ { 0x0E44, 0x0E05, 0 },
+ { 0x1F74, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG> */
+ { 0x0E40, 0x0E06, 0 },
+ { 0x1F75, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG> */
+ { 0x0E41, 0x0E06, 0 },
+ { 0x1F75, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG> */
+ { 0x0E42, 0x0E06, 0 },
+ { 0x1F75, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG> */
+ { 0x0E43, 0x0E06, 0 },
+ { 0x1F75, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG> */
+ { 0x0E44, 0x0E06, 0 },
+ { 0x1F75, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU> */
+ { 0x0E40, 0x0E07, 0 },
+ { 0x1F76, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU> */
+ { 0x0E41, 0x0E07, 0 },
+ { 0x1F76, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU> */
+ { 0x0E42, 0x0E07, 0 },
+ { 0x1F76, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU> */
+ { 0x0E43, 0x0E07, 0 },
+ { 0x1F76, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU> */
+ { 0x0E44, 0x0E07, 0 },
+ { 0x1F76, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN> */
+ { 0x0E40, 0x0E08, 0 },
+ { 0x1F77, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN> */
+ { 0x0E41, 0x0E08, 0 },
+ { 0x1F77, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN> */
+ { 0x0E42, 0x0E08, 0 },
+ { 0x1F77, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN> */
+ { 0x0E43, 0x0E08, 0 },
+ { 0x1F77, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN> */
+ { 0x0E44, 0x0E08, 0 },
+ { 0x1F77, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING> */
+ { 0x0E40, 0x0E09, 0 },
+ { 0x1F78, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING> */
+ { 0x0E41, 0x0E09, 0 },
+ { 0x1F78, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING> */
+ { 0x0E42, 0x0E09, 0 },
+ { 0x1F78, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING> */
+ { 0x0E43, 0x0E09, 0 },
+ { 0x1F78, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING> */
+ { 0x0E44, 0x0E09, 0 },
+ { 0x1F78, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG> */
+ { 0x0E40, 0x0E0A, 0 },
+ { 0x1F79, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG> */
+ { 0x0E41, 0x0E0A, 0 },
+ { 0x1F79, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG> */
+ { 0x0E42, 0x0E0A, 0 },
+ { 0x1F79, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG> */
+ { 0x0E43, 0x0E0A, 0 },
+ { 0x1F79, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG> */
+ { 0x0E44, 0x0E0A, 0 },
+ { 0x1F79, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER SO SO> */
+ { 0x0E40, 0x0E0B, 0 },
+ { 0x1F7A, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER SO SO> */
+ { 0x0E41, 0x0E0B, 0 },
+ { 0x1F7A, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER SO SO> */
+ { 0x0E42, 0x0E0B, 0 },
+ { 0x1F7A, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO> */
+ { 0x0E43, 0x0E0B, 0 },
+ { 0x1F7A, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO> */
+ { 0x0E44, 0x0E0B, 0 },
+ { 0x1F7A, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE> */
+ { 0x0E40, 0x0E0C, 0 },
+ { 0x1F7B, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE> */
+ { 0x0E41, 0x0E0C, 0 },
+ { 0x1F7B, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE> */
+ { 0x0E42, 0x0E0C, 0 },
+ { 0x1F7B, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE> */
+ { 0x0E43, 0x0E0C, 0 },
+ { 0x1F7B, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE> */
+ { 0x0E44, 0x0E0C, 0 },
+ { 0x1F7B, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER YO YING> */
+ { 0x0E40, 0x0E0D, 0 },
+ { 0x1F7C, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER YO YING> */
+ { 0x0E41, 0x0E0D, 0 },
+ { 0x1F7C, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER YO YING> */
+ { 0x0E42, 0x0E0D, 0 },
+ { 0x1F7C, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING> */
+ { 0x0E43, 0x0E0D, 0 },
+ { 0x1F7C, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING> */
+ { 0x0E44, 0x0E0D, 0 },
+ { 0x1F7C, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA> */
+ { 0x0E40, 0x0E0E, 0 },
+ { 0x1F7D, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA> */
+ { 0x0E41, 0x0E0E, 0 },
+ { 0x1F7D, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA> */
+ { 0x0E42, 0x0E0E, 0 },
+ { 0x1F7D, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA> */
+ { 0x0E43, 0x0E0E, 0 },
+ { 0x1F7D, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA> */
+ { 0x0E44, 0x0E0E, 0 },
+ { 0x1F7D, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK> */
+ { 0x0E40, 0x0E0F, 0 },
+ { 0x1F7E, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK> */
+ { 0x0E41, 0x0E0F, 0 },
+ { 0x1F7E, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK> */
+ { 0x0E42, 0x0E0F, 0 },
+ { 0x1F7E, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK> */
+ { 0x0E43, 0x0E0F, 0 },
+ { 0x1F7E, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK> */
+ { 0x0E44, 0x0E0F, 0 },
+ { 0x1F7E, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER THO THAN> */
+ { 0x0E40, 0x0E10, 0 },
+ { 0x1F7F, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN> */
+ { 0x0E41, 0x0E10, 0 },
+ { 0x1F7F, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER THO THAN> */
+ { 0x0E42, 0x0E10, 0 },
+ { 0x1F7F, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN> */
+ { 0x0E43, 0x0E10, 0 },
+ { 0x1F7F, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN> */
+ { 0x0E44, 0x0E10, 0 },
+ { 0x1F7F, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO> */
+ { 0x0E40, 0x0E11, 0 },
+ { 0x1F80, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO> */
+ { 0x0E41, 0x0E11, 0 },
+ { 0x1F80, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO> */
+ { 0x0E42, 0x0E11, 0 },
+ { 0x1F80, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO> */
+ { 0x0E43, 0x0E11, 0 },
+ { 0x1F80, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO> */
+ { 0x0E44, 0x0E11, 0 },
+ { 0x1F80, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO> */
+ { 0x0E40, 0x0E12, 0 },
+ { 0x1F81, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO> */
+ { 0x0E41, 0x0E12, 0 },
+ { 0x1F81, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO> */
+ { 0x0E42, 0x0E12, 0 },
+ { 0x1F81, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO> */
+ { 0x0E43, 0x0E12, 0 },
+ { 0x1F81, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO> */
+ { 0x0E44, 0x0E12, 0 },
+ { 0x1F81, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER NO NEN> */
+ { 0x0E40, 0x0E13, 0 },
+ { 0x1F82, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN> */
+ { 0x0E41, 0x0E13, 0 },
+ { 0x1F82, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER NO NEN> */
+ { 0x0E42, 0x0E13, 0 },
+ { 0x1F82, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN> */
+ { 0x0E43, 0x0E13, 0 },
+ { 0x1F82, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN> */
+ { 0x0E44, 0x0E13, 0 },
+ { 0x1F82, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER DO DEK> */
+ { 0x0E40, 0x0E14, 0 },
+ { 0x1F83, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK> */
+ { 0x0E41, 0x0E14, 0 },
+ { 0x1F83, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER DO DEK> */
+ { 0x0E42, 0x0E14, 0 },
+ { 0x1F83, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK> */
+ { 0x0E43, 0x0E14, 0 },
+ { 0x1F83, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK> */
+ { 0x0E44, 0x0E14, 0 },
+ { 0x1F83, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER TO TAO> */
+ { 0x0E40, 0x0E15, 0 },
+ { 0x1F84, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO> */
+ { 0x0E41, 0x0E15, 0 },
+ { 0x1F84, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER TO TAO> */
+ { 0x0E42, 0x0E15, 0 },
+ { 0x1F84, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO> */
+ { 0x0E43, 0x0E15, 0 },
+ { 0x1F84, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO> */
+ { 0x0E44, 0x0E15, 0 },
+ { 0x1F84, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG> */
+ { 0x0E40, 0x0E16, 0 },
+ { 0x1F85, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG> */
+ { 0x0E41, 0x0E16, 0 },
+ { 0x1F85, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG> */
+ { 0x0E42, 0x0E16, 0 },
+ { 0x1F85, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG> */
+ { 0x0E43, 0x0E16, 0 },
+ { 0x1F85, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG> */
+ { 0x0E44, 0x0E16, 0 },
+ { 0x1F85, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN> */
+ { 0x0E40, 0x0E17, 0 },
+ { 0x1F86, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN> */
+ { 0x0E41, 0x0E17, 0 },
+ { 0x1F86, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN> */
+ { 0x0E42, 0x0E17, 0 },
+ { 0x1F86, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN> */
+ { 0x0E43, 0x0E17, 0 },
+ { 0x1F86, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN> */
+ { 0x0E44, 0x0E17, 0 },
+ { 0x1F86, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER THO THONG> */
+ { 0x0E40, 0x0E18, 0 },
+ { 0x1F87, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG> */
+ { 0x0E41, 0x0E18, 0 },
+ { 0x1F87, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER THO THONG> */
+ { 0x0E42, 0x0E18, 0 },
+ { 0x1F87, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG> */
+ { 0x0E43, 0x0E18, 0 },
+ { 0x1F87, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG> */
+ { 0x0E44, 0x0E18, 0 },
+ { 0x1F87, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER NO NU> */
+ { 0x0E40, 0x0E19, 0 },
+ { 0x1F88, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER NO NU> */
+ { 0x0E41, 0x0E19, 0 },
+ { 0x1F88, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER NO NU> */
+ { 0x0E42, 0x0E19, 0 },
+ { 0x1F88, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU> */
+ { 0x0E43, 0x0E19, 0 },
+ { 0x1F88, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU> */
+ { 0x0E44, 0x0E19, 0 },
+ { 0x1F88, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI> */
+ { 0x0E40, 0x0E1A, 0 },
+ { 0x1F89, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI> */
+ { 0x0E41, 0x0E1A, 0 },
+ { 0x1F89, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI> */
+ { 0x0E42, 0x0E1A, 0 },
+ { 0x1F89, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI> */
+ { 0x0E43, 0x0E1A, 0 },
+ { 0x1F89, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI> */
+ { 0x0E44, 0x0E1A, 0 },
+ { 0x1F89, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER PO PLA> */
+ { 0x0E40, 0x0E1B, 0 },
+ { 0x1F8A, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA> */
+ { 0x0E41, 0x0E1B, 0 },
+ { 0x1F8A, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER PO PLA> */
+ { 0x0E42, 0x0E1B, 0 },
+ { 0x1F8A, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA> */
+ { 0x0E43, 0x0E1B, 0 },
+ { 0x1F8A, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA> */
+ { 0x0E44, 0x0E1B, 0 },
+ { 0x1F8A, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG> */
+ { 0x0E40, 0x0E1C, 0 },
+ { 0x1F8B, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG> */
+ { 0x0E41, 0x0E1C, 0 },
+ { 0x1F8B, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG> */
+ { 0x0E42, 0x0E1C, 0 },
+ { 0x1F8B, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG> */
+ { 0x0E43, 0x0E1C, 0 },
+ { 0x1F8B, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG> */
+ { 0x0E44, 0x0E1C, 0 },
+ { 0x1F8B, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER FO FA> */
+ { 0x0E40, 0x0E1D, 0 },
+ { 0x1F8C, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER FO FA> */
+ { 0x0E41, 0x0E1D, 0 },
+ { 0x1F8C, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER FO FA> */
+ { 0x0E42, 0x0E1D, 0 },
+ { 0x1F8C, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA> */
+ { 0x0E43, 0x0E1D, 0 },
+ { 0x1F8C, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA> */
+ { 0x0E44, 0x0E1D, 0 },
+ { 0x1F8C, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN> */
+ { 0x0E40, 0x0E1E, 0 },
+ { 0x1F8D, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN> */
+ { 0x0E41, 0x0E1E, 0 },
+ { 0x1F8D, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN> */
+ { 0x0E42, 0x0E1E, 0 },
+ { 0x1F8D, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN> */
+ { 0x0E43, 0x0E1E, 0 },
+ { 0x1F8D, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN> */
+ { 0x0E44, 0x0E1E, 0 },
+ { 0x1F8D, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER FO FAN> */
+ { 0x0E40, 0x0E1F, 0 },
+ { 0x1F8E, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN> */
+ { 0x0E41, 0x0E1F, 0 },
+ { 0x1F8E, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER FO FAN> */
+ { 0x0E42, 0x0E1F, 0 },
+ { 0x1F8E, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN> */
+ { 0x0E43, 0x0E1F, 0 },
+ { 0x1F8E, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN> */
+ { 0x0E44, 0x0E1F, 0 },
+ { 0x1F8E, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO> */
+ { 0x0E40, 0x0E20, 0 },
+ { 0x1F8F, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO> */
+ { 0x0E41, 0x0E20, 0 },
+ { 0x1F8F, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO> */
+ { 0x0E42, 0x0E20, 0 },
+ { 0x1F8F, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO> */
+ { 0x0E43, 0x0E20, 0 },
+ { 0x1F8F, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO> */
+ { 0x0E44, 0x0E20, 0 },
+ { 0x1F8F, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER MO MA> */
+ { 0x0E40, 0x0E21, 0 },
+ { 0x1F90, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER MO MA> */
+ { 0x0E41, 0x0E21, 0 },
+ { 0x1F90, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER MO MA> */
+ { 0x0E42, 0x0E21, 0 },
+ { 0x1F90, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA> */
+ { 0x0E43, 0x0E21, 0 },
+ { 0x1F90, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA> */
+ { 0x0E44, 0x0E21, 0 },
+ { 0x1F90, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER YO YAK> */
+ { 0x0E40, 0x0E22, 0 },
+ { 0x1F91, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK> */
+ { 0x0E41, 0x0E22, 0 },
+ { 0x1F91, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER YO YAK> */
+ { 0x0E42, 0x0E22, 0 },
+ { 0x1F91, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK> */
+ { 0x0E43, 0x0E22, 0 },
+ { 0x1F91, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK> */
+ { 0x0E44, 0x0E22, 0 },
+ { 0x1F91, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER RO RUA> */
+ { 0x0E40, 0x0E23, 0 },
+ { 0x1F92, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA> */
+ { 0x0E41, 0x0E23, 0 },
+ { 0x1F92, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER RO RUA> */
+ { 0x0E42, 0x0E23, 0 },
+ { 0x1F92, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA> */
+ { 0x0E43, 0x0E23, 0 },
+ { 0x1F92, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA> */
+ { 0x0E44, 0x0E23, 0 },
+ { 0x1F92, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER RU> */
+ { 0x0E40, 0x0E24, 0 },
+ { 0x1F93, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER RU> */
+ { 0x0E41, 0x0E24, 0 },
+ { 0x1F93, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER RU> */
+ { 0x0E42, 0x0E24, 0 },
+ { 0x1F93, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU> */
+ { 0x0E43, 0x0E24, 0 },
+ { 0x1F93, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU> */
+ { 0x0E44, 0x0E24, 0 },
+ { 0x1F93, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER LO LING> */
+ { 0x0E40, 0x0E25, 0 },
+ { 0x1F94, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER LO LING> */
+ { 0x0E41, 0x0E25, 0 },
+ { 0x1F94, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER LO LING> */
+ { 0x0E42, 0x0E25, 0 },
+ { 0x1F94, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING> */
+ { 0x0E43, 0x0E25, 0 },
+ { 0x1F94, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING> */
+ { 0x0E44, 0x0E25, 0 },
+ { 0x1F94, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER LU> */
+ { 0x0E40, 0x0E26, 0 },
+ { 0x1F95, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER LU> */
+ { 0x0E41, 0x0E26, 0 },
+ { 0x1F95, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER LU> */
+ { 0x0E42, 0x0E26, 0 },
+ { 0x1F95, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU> */
+ { 0x0E43, 0x0E26, 0 },
+ { 0x1F95, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU> */
+ { 0x0E44, 0x0E26, 0 },
+ { 0x1F95, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN> */
+ { 0x0E40, 0x0E27, 0 },
+ { 0x1F96, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN> */
+ { 0x0E41, 0x0E27, 0 },
+ { 0x1F96, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN> */
+ { 0x0E42, 0x0E27, 0 },
+ { 0x1F96, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN> */
+ { 0x0E43, 0x0E27, 0 },
+ { 0x1F96, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN> */
+ { 0x0E44, 0x0E27, 0 },
+ { 0x1F96, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER SO SALA> */
+ { 0x0E40, 0x0E28, 0 },
+ { 0x1F97, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA> */
+ { 0x0E41, 0x0E28, 0 },
+ { 0x1F97, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER SO SALA> */
+ { 0x0E42, 0x0E28, 0 },
+ { 0x1F97, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA> */
+ { 0x0E43, 0x0E28, 0 },
+ { 0x1F97, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA> */
+ { 0x0E44, 0x0E28, 0 },
+ { 0x1F97, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI> */
+ { 0x0E40, 0x0E29, 0 },
+ { 0x1F98, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI> */
+ { 0x0E41, 0x0E29, 0 },
+ { 0x1F98, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI> */
+ { 0x0E42, 0x0E29, 0 },
+ { 0x1F98, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI> */
+ { 0x0E43, 0x0E29, 0 },
+ { 0x1F98, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI> */
+ { 0x0E44, 0x0E29, 0 },
+ { 0x1F98, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER SO SUA> */
+ { 0x0E40, 0x0E2A, 0 },
+ { 0x1F99, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA> */
+ { 0x0E41, 0x0E2A, 0 },
+ { 0x1F99, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER SO SUA> */
+ { 0x0E42, 0x0E2A, 0 },
+ { 0x1F99, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA> */
+ { 0x0E43, 0x0E2A, 0 },
+ { 0x1F99, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA> */
+ { 0x0E44, 0x0E2A, 0 },
+ { 0x1F99, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER HO HIP> */
+ { 0x0E40, 0x0E2B, 0 },
+ { 0x1F9A, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP> */
+ { 0x0E41, 0x0E2B, 0 },
+ { 0x1F9A, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER HO HIP> */
+ { 0x0E42, 0x0E2B, 0 },
+ { 0x1F9A, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP> */
+ { 0x0E43, 0x0E2B, 0 },
+ { 0x1F9A, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP> */
+ { 0x0E44, 0x0E2B, 0 },
+ { 0x1F9A, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA> */
+ { 0x0E40, 0x0E2C, 0 },
+ { 0x1F9B, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA> */
+ { 0x0E41, 0x0E2C, 0 },
+ { 0x1F9B, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA> */
+ { 0x0E42, 0x0E2C, 0 },
+ { 0x1F9B, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA> */
+ { 0x0E43, 0x0E2C, 0 },
+ { 0x1F9B, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA> */
+ { 0x0E44, 0x0E2C, 0 },
+ { 0x1F9B, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER O ANG> */
+ { 0x0E40, 0x0E2D, 0 },
+ { 0x1F9C, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER O ANG> */
+ { 0x0E41, 0x0E2D, 0 },
+ { 0x1F9C, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER O ANG> */
+ { 0x0E42, 0x0E2D, 0 },
+ { 0x1F9C, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG> */
+ { 0x0E43, 0x0E2D, 0 },
+ { 0x1F9C, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG> */
+ { 0x0E44, 0x0E2D, 0 },
+ { 0x1F9C, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK> */
+ { 0x0E40, 0x0E2E, 0 },
+ { 0x1F9D, 0x1FAA, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK> */
+ { 0x0E41, 0x0E2E, 0 },
+ { 0x1F9D, 0x1FAB, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK> */
+ { 0x0E42, 0x0E2E, 0 },
+ { 0x1F9D, 0x1FAC, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK> */
+ { 0x0E43, 0x0E2E, 0 },
+ { 0x1F9D, 0x1FAD, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK> */
+ { 0x0E44, 0x0E2E, 0 },
+ { 0x1F9D, 0x1FAE, 0 },
+ FALSE
+ },
+ { /* <THAI CHARACTER SARA AM> */
+ { 0x0E4D, 0x0E32, 0 },
+ { 0x1FA2, 0 },
+ FALSE
+ },
+};
+
+MY_CONTRACTION thai_contractions_w2[THAI_CONTRACTIONS_W2]=
+{
+ { /* <THAI CHARACTER SARA AM> */
+ { 0x0E4D, 0x0E32, 0 },
+ { 0x0020, 0 },
+ FALSE
+ },
+
+};
+
+MY_UCA_INFO my_uca_v520_th=
+{
+ {
+ {
+ 0x10FFFF, /* maxchar */
+ (uchar *)uca520_length,
+ (uint16 **)uca520_weight,
+ { /* Contractions: */
+ THAI_CONTRACTIONS, /* nitems */
+ thai_contractions, /* item */
+ NULL /* flags */
+ },
+ 0 /* levelno */
+ },
+ {
+ 0x10FFFF, /* maxchar */
+ (uchar *)uca520_length_w2,
+ (uint16 **)uca520_weight_w2,
+ { /* Contractions: */
+ THAI_CONTRACTIONS_W2, /* nitems */
+ thai_contractions_w2, /* item */
+ NULL /* flags */
+ },
+ 1 /* levelno */
+ },
+ },
+
+ 0x0009, /* first_non_ignorable p != ignore */
+ 0x1342E, /* last_non_ignorable Not a CJK and not UASSIGNED */
+
+ 0x0332, /* first_primary_ignorable p == ignore */
+ 0x101FD, /* last_primary_ignorable */
+
+ 0x0000, /* first_secondary_ignorable p,s= ignore */
+ 0xFE73, /* last_secondary_ignorable */
+
+ 0x0000, /* first_tertiary_ignorable p,s,t == ignore */
+ 0xFE73, /* last_tertiary_ignorable */
+
+ 0x0000, /* first_trailing */
+ 0x0000, /* last_trailing */
+
+ 0x0009, /* first_variable if alt=non-ignorable: p != ignore */
+ 0x1D371, /* last_variable if alt=shifter: p,s,t == ignore */
+};
+
MY_UCA_INFO my_uca_v520=
{
{
@@ -19110,10 +30128,11 @@ MY_UCA_INFO my_uca_v520=
(uchar *) uca520_length,
(uint16 **) uca520_weight,
{ /* Contractions: */
- 0, /* nitems */
- NULL, /* item */
- NULL /* flags */
- }
+ 0, /* nitems */
+ NULL, /* item */
+ NULL /* flags */
+ },
+ 0 /* levelno */
},
},
@@ -20514,37 +31533,108 @@ my_uca_previous_context_find(my_uca_scanner *scanner,
/****************************************************************/
+/**
+ Implicit weights for a code CP are constructed as follows:
+ [.AAAA.0020.0002][.BBBB.0000.0000]
+
+ where:
+ AAAA= BASE + (CP >> 15);
+ BBBB= (CP & 0x7FFF) | 0x8000;
+
+ There are two weights in the primary level (AAAA followed by BBBB).
+ There is one weight on other levels:
+ - 0020 on the secondary level
+ - 0002 on the tertiary level
+*/
+
/**
- Return implicit UCA weight
+ Return BASE for an implicit weight on the primary level
+
+ According to UCA, BASE is calculated as follows:
+ - FB40 for Unified_Ideograph=True AND
+ ((Block=CJK_Unified_Ideograph) OR
+ (Block=CJK_Compatibility_Ideographs))
+ - FB80 for Unified_Ideograph=True AND NOT
+ ((Block=CJK_Unified_Ideograph) OR
+ (Block=CJK_Compatibility_Ideographs))
+ - FBC0 for any other code point
+ TODO: it seems we're not handling BASE correctly:
+ - check what are those blocks
+ - there are more Unified Ideograph blocks in the latest Unicode versions
+*/
+static inline uint16
+my_uca_implicit_weight_base(my_wc_t code)
+{
+ if (code >= 0x3400 && code <= 0x4DB5)
+ return 0xFB80;
+ if (code >= 0x4E00 && code <= 0x9FA5)
+ return 0xFB40;
+ return 0xFBC0;
+}
+
+
+static inline void
+my_uca_implicit_weight_put(uint16 *to, my_wc_t code, uint level)
+{
+ switch (level) {
+ case 1: to[0]= 0x0020; to[1]= 0; break; /* Secondary level */
+ case 2: to[0]= 0x0002; to[1]= 0; break; /* Tertiary level */
+ case 3: to[0]= 0x0001; to[1]= 0; break; /* Quaternary level */
+ default:
+ DBUG_ASSERT(0);
+ case 0:
+ break;
+ }
+ /* Primary level */
+ to[0]= (code >> 15) + my_uca_implicit_weight_base(code);
+ to[1]= (code & 0x7FFF) | 0x8000;
+ to[2]= 0;
+}
+
+/****************************************************************/
+
+/**
+ Return an implicit UCA weight for the primary level.
Used for characters that do not have assigned UCA weights.
@param scanner UCA weight scanner
@return The leading implicit weight.
+
+ The second weight is stored in scanner->implicit[0]
+ and is later returned on the next my_uca_scanner_next_any() call.
*/
static inline int
-my_uca_scanner_next_implicit(my_uca_scanner *scanner)
+my_uca_scanner_next_implicit_primary(my_uca_scanner *scanner)
{
- scanner->code= (scanner->page << 8) + scanner->code;
- scanner->implicit[0]= (scanner->code & 0x7FFF) | 0x8000;
- scanner->implicit[1]= 0;
+ my_wc_t wc= (scanner->page << 8) + scanner->code;
+ scanner->implicit[0]= (wc & 0x7FFF) | 0x8000; /* The second weight */
+ scanner->implicit[1]= 0; /* 0 terminator */
scanner->wbeg= scanner->implicit;
-
- scanner->page= scanner->page >> 7;
-
- if (scanner->code >= 0x3400 && scanner->code <= 0x4DB5)
- scanner->page+= 0xFB80;
- else if (scanner->code >= 0x4E00 && scanner->code <= 0x9FA5)
- scanner->page+= 0xFB40;
- else
- scanner->page+= 0xFBC0;
-
- return scanner->page;
+ return my_uca_implicit_weight_base(wc) + (wc >> 15);
}
+/**
+ Return an implicit weight for the current level
+ (according to scanner->level->levelno).
+
+*/
+static inline int
+my_uca_scanner_next_implicit(my_uca_scanner *scanner)
+{
+ switch (scanner->level->levelno) {
+ case 0: return my_uca_scanner_next_implicit_primary(scanner);/* Primary level*/
+ case 1: scanner->wbeg= nochar; return 0x0020; /* Secondary level */
+ case 2: scanner->wbeg= nochar; return 0x0002; /* Tertiary level */
+ default: scanner->wbeg= nochar; break;
+ }
+ DBUG_ASSERT(0);
+ return 0;
+}
+
/*
The same two functions for any character set
*/
@@ -20676,6 +31766,7 @@ static my_uca_scanner_handler my_any_uca_scanner_handler=
slen First string length
t Second string
tlen Seconf string length
+ level DUCETweight level
NOTES:
Initializes two weight scanners and gets weights
@@ -20707,19 +31798,20 @@ static my_uca_scanner_handler my_any_uca_scanner_handler=
positive number - means the first string is bigger
*/
-static int my_strnncoll_uca(CHARSET_INFO *cs,
- my_uca_scanner_handler *scanner_handler,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
+static int my_strnncoll_uca_onelevel(CHARSET_INFO *cs,
+ my_uca_scanner_handler *scanner_handler,
+ const MY_UCA_WEIGHT_LEVEL *level,
+ const uchar *s, size_t slen,
+ const uchar *t, size_t tlen,
+ my_bool t_is_prefix)
{
my_uca_scanner sscanner;
my_uca_scanner tscanner;
int s_res;
int t_res;
- scanner_handler->init(&sscanner, cs, &cs->uca->level[0], s, slen);
- scanner_handler->init(&tscanner, cs, &cs->uca->level[0], t, tlen);
+ scanner_handler->init(&sscanner, cs, level, s, slen);
+ scanner_handler->init(&tscanner, cs, level, t, tlen);
do
{
@@ -20730,11 +31822,39 @@ static int my_strnncoll_uca(CHARSET_INFO *cs,
return (t_is_prefix && t_res < 0) ? 0 : (s_res - t_res);
}
+static int my_strnncoll_uca(CHARSET_INFO *cs,
+ my_uca_scanner_handler *scanner_handler,
+ const uchar *s, size_t slen,
+ const uchar *t, size_t tlen,
+ my_bool t_is_prefix)
+{
+ return my_strnncoll_uca_onelevel(cs, scanner_handler, &cs->uca->level[0],
+ s, slen, t, tlen, t_is_prefix);
+}
+
+static int my_strnncoll_uca_multilevel(CHARSET_INFO *cs,
+ my_uca_scanner_handler *scanner_handler,
+ const uchar *s, size_t slen,
+ const uchar *t, size_t tlen,
+ my_bool t_is_prefix)
+{
+ uint num_level= cs->levels_for_order;
+ uint i;
+ for (i= 0; i != num_level; i++)
+ {
+ int ret= my_strnncoll_uca_onelevel(cs, scanner_handler, &cs->uca->level[i],
+ s, slen, t, tlen, t_is_prefix);
+ if (ret)
+ return ret;
+ }
+ return 0;
+}
+
static inline int
-my_space_weight(const CHARSET_INFO *cs) /* W3-TODO */
+my_space_weight(const MY_UCA_WEIGHT_LEVEL *level)
{
- return cs->uca->level[0].weights[0][0x20 * cs->uca->level[0].lengths[0]];
+ return level->weights[0][0x20 * level->lengths[0]];
}
@@ -20773,6 +31893,7 @@ my_char_weight_addr(const MY_UCA_WEIGHT_LEVEL *level, uint wc)
slen First string length
t Second string
tlen Seconf string length
+ level DUCETweight level
diff_if_only_endspace_difference
Set to 1 if the strings should be regarded as different
if they only difference in end space
@@ -20810,11 +31931,12 @@ my_char_weight_addr(const MY_UCA_WEIGHT_LEVEL *level, uint wc)
positive number - means the first string is bigger
*/
-static int my_strnncollsp_uca(CHARSET_INFO *cs,
- my_uca_scanner_handler *scanner_handler,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
+static int my_strnncollsp_uca_onelevel(CHARSET_INFO *cs,
+ my_uca_scanner_handler *scanner_handler,
+ const MY_UCA_WEIGHT_LEVEL *level,
+ const uchar *s, size_t slen,
+ const uchar *t, size_t tlen,
+ my_bool diff_if_only_endspace_difference)
{
my_uca_scanner sscanner, tscanner;
int s_res, t_res;
@@ -20823,8 +31945,8 @@ static int my_strnncollsp_uca(CHARSET_INFO *cs,
diff_if_only_endspace_difference= 0;
#endif
- scanner_handler->init(&sscanner, cs, &cs->uca->level[0], s, slen);
- scanner_handler->init(&tscanner, cs, &cs->uca->level[0], t, tlen);
+ scanner_handler->init(&sscanner, cs, level, s, slen);
+ scanner_handler->init(&tscanner, cs, level, t, tlen);
do
{
@@ -20835,7 +31957,7 @@ static int my_strnncollsp_uca(CHARSET_INFO *cs,
if (s_res > 0 && t_res < 0)
{
/* Calculate weight for SPACE character */
- t_res= my_space_weight(cs);
+ t_res= my_space_weight(level);
/* compare the first string to spaces */
do
@@ -20850,7 +31972,7 @@ static int my_strnncollsp_uca(CHARSET_INFO *cs,
if (s_res < 0 && t_res > 0)
{
/* Calculate weight for SPACE character */
- s_res= my_space_weight(cs);
+ s_res= my_space_weight(level);
/* compare the second string to spaces */
do
@@ -20865,6 +31987,37 @@ static int my_strnncollsp_uca(CHARSET_INFO *cs,
return ( s_res - t_res );
}
+static int my_strnncollsp_uca(CHARSET_INFO *cs,
+ my_uca_scanner_handler *scanner_handler,
+ const uchar *s, size_t slen,
+ const uchar *t, size_t tlen,
+ my_bool diff_if_only_endspace_difference)
+{
+ return my_strnncollsp_uca_onelevel(cs, scanner_handler, &cs->uca->level[0],
+ s, slen, t, tlen,
+ diff_if_only_endspace_difference);
+}
+
+static int my_strnncollsp_uca_multilevel(CHARSET_INFO *cs,
+ my_uca_scanner_handler *scanner_handler,
+ const uchar *s, size_t slen,
+ const uchar *t, size_t tlen,
+ my_bool diff_if_only_endspace_difference)
+{
+ uint num_level= cs->levels_for_order;
+ uint i;
+ for (i= 0; i != num_level; i++)
+ {
+ int ret= my_strnncollsp_uca_onelevel(cs, scanner_handler,
+ &cs->uca->level[i],
+ s, slen, t, tlen,
+ diff_if_only_endspace_difference);
+ if (ret)
+ return ret;
+ }
+ return 0;
+}
+
/*
Calculates hash value for the given string,
according to the collation, and ignoring trailing spaces.
@@ -20883,19 +32036,25 @@ static int my_strnncollsp_uca(CHARSET_INFO *cs,
upper and lower case of the same letter will return the same
weight sequence, and thus will produce the same hash values
in n1 and n2.
-
+
+ This functions is used for one-level and for multi-level collations.
+ We intentionally use only primary level in multi-level collations.
+ This helps to have PARTITION BY KEY put primarily equal records
+ into the same partition. E.g. in utf8_thai_520_ci records that differ
+ only in tone marks go into the same partition.
+
RETURN
N/A
*/
static void my_hash_sort_uca(CHARSET_INFO *cs,
my_uca_scanner_handler *scanner_handler,
- const uchar *s, size_t slen,
- ulong *nr1, ulong *nr2)
+ const uchar *s, size_t slen,
+ ulong *nr1, ulong *nr2)
{
int s_res;
my_uca_scanner scanner;
- int space_weight= my_space_weight(cs);
+ int space_weight= my_space_weight(&cs->uca->level[0]);
register ulong m1= *nr1, m2= *nr2;
scanner_handler->init(&scanner, cs, &cs->uca->level[0], s, slen);
@@ -20942,6 +32101,41 @@ end:
}
+static uchar *
+my_strnxfrm_uca_onelevel(CHARSET_INFO *cs,
+ my_uca_scanner_handler *scanner_handler,
+ MY_UCA_WEIGHT_LEVEL *level,
+ uchar *dst, uchar *de, uint nweights,
+ const uchar *src, size_t srclen, uint flags)
+{
+ my_uca_scanner scanner;
+ uchar *d0= dst;
+ int s_res;
+
+ scanner_handler->init(&scanner, cs, level, src, srclen);
+ for (; dst < de && nweights &&
+ (s_res= scanner_handler->next(&scanner)) > 0 ; nweights--)
+ {
+ *dst++= s_res >> 8;
+ if (dst < de)
+ *dst++= s_res & 0xFF;
+ }
+
+ if (dst < de && nweights && (flags & MY_STRXFRM_PAD_WITH_SPACE))
+ {
+ uint space_count= MY_MIN((uint) (de - dst) / 2, nweights);
+ s_res= my_space_weight(level);
+ for (; space_count ; space_count--)
+ {
+ *dst++= s_res >> 8;
+ *dst++= s_res & 0xFF;
+ }
+ }
+ my_strxfrm_desc_and_reverse(d0, dst, flags, 0);
+ return dst;
+}
+
+
/*
For the given string creates its "binary image", suitable
to be used in binary comparison, i.e. in memcmp().
@@ -20982,32 +32176,16 @@ my_strnxfrm_uca(CHARSET_INFO *cs,
{
uchar *d0= dst;
uchar *de= dst + dstlen;
- int s_res;
- my_uca_scanner scanner;
- scanner_handler->init(&scanner, cs, &cs->uca->level[0], src, srclen);
-
- for (; dst < de && nweights &&
- (s_res= scanner_handler->next(&scanner)) > 0 ; nweights--)
- {
- *dst++= s_res >> 8;
- if (dst < de)
- *dst++= s_res & 0xFF;
- }
-
- if (dst < de && nweights && (flags & MY_STRXFRM_PAD_WITH_SPACE))
- {
- uint space_count= MY_MIN((uint) (de - dst) / 2, nweights);
- s_res= my_space_weight(cs);
- for (; space_count ; space_count--)
- {
- *dst++= s_res >> 8;
- *dst++= s_res & 0xFF;
- }
- }
- my_strxfrm_desc_and_reverse(d0, dst, flags, 0);
+
+ dst= my_strnxfrm_uca_onelevel(cs, scanner_handler, &cs->uca->level[0],
+ dst, de, nweights, src, srclen, flags);
+ /*
+ This can probably be changed to memset(dst, 0, de - dst),
+ like my_strnxfrm_uca_multilevel() does.
+ */
if ((flags & MY_STRXFRM_PAD_TO_MAXLEN) && dst < de)
{
- s_res= my_space_weight(cs);
+ int s_res= my_space_weight(&cs->uca->level[0]);
for ( ; dst < de; )
{
*dst++= s_res >> 8;
@@ -21019,6 +32197,35 @@ my_strnxfrm_uca(CHARSET_INFO *cs,
}
+static size_t
+my_strnxfrm_uca_multilevel(CHARSET_INFO *cs,
+ my_uca_scanner_handler *scanner_handler,
+ uchar *dst, size_t dstlen, uint nweights,
+ const uchar *src, size_t srclen, uint flags)
+{
+ uint num_level= cs->levels_for_order;
+ uchar *d0= dst;
+ uchar *de= dst + dstlen;
+ uint current_level;
+
+ for (current_level= 0; current_level != num_level; current_level++)
+ {
+ if (!(flags & MY_STRXFRM_LEVEL_ALL) ||
+ (flags & (MY_STRXFRM_LEVEL1 << current_level)))
+ dst= my_strnxfrm_uca_onelevel(cs, scanner_handler,
+ &cs->uca->level[current_level],
+ dst, de, nweights,
+ src, srclen, flags);
+ }
+
+ if (dst < de && (flags & MY_STRXFRM_PAD_TO_MAXLEN))
+ {
+ memset(dst, 0, de - dst);
+ dst= de;
+ }
+
+ return dst - d0;
+}
/*
This function compares if two characters are the same.
@@ -21028,11 +32235,12 @@ my_strnxfrm_uca(CHARSET_INFO *cs,
little-endian and big-endian machines.
*/
-static int my_uca_charcmp(CHARSET_INFO *cs, my_wc_t wc1, my_wc_t wc2)
+static int my_uca_charcmp_onelevel(CHARSET_INFO *cs, my_wc_t wc1,
+ my_wc_t wc2, uint level)
{
size_t length1, length2;
- const uint16 *weight1= my_char_weight_addr(&cs->uca->level[0], wc1);
- const uint16 *weight2= my_char_weight_addr(&cs->uca->level[0], wc2);
+ const uint16 *weight1= my_char_weight_addr(&cs->uca->level[level], wc1);
+ const uint16 *weight2= my_char_weight_addr(&cs->uca->level[level], wc2);
if (!weight1 || !weight2)
return wc1 != wc2;
@@ -21042,8 +32250,8 @@ static int my_uca_charcmp(CHARSET_INFO *cs, my_wc_t wc1, my_wc_t wc2)
return 1;
/* Thoroughly compare all weights */
- length1= cs->uca->level[0].lengths[wc1 >> MY_UCA_PSHIFT]; /* W3-TODO */
- length2= cs->uca->level[0].lengths[wc2 >> MY_UCA_PSHIFT];
+ length1= cs->uca->level[level].lengths[wc1 >> MY_UCA_PSHIFT];
+ length2= cs->uca->level[level].lengths[wc2 >> MY_UCA_PSHIFT];
if (length1 > length2)
return memcmp((const void*)weight1, (const void*)weight2, length2*2) ?
@@ -21056,6 +32264,21 @@ static int my_uca_charcmp(CHARSET_INFO *cs, my_wc_t wc1, my_wc_t wc2)
return memcmp((const void*)weight1, (const void*)weight2, length1*2);
}
+static int my_uca_charcmp(CHARSET_INFO *cs, my_wc_t wc1, my_wc_t wc2)
+{
+ uint num_level= cs->levels_for_order;
+ int ret;
+ uint i;
+ for (i= 0; i != num_level; i++)
+ {
+ ret= my_uca_charcmp_onelevel(cs, wc1, wc2, i);
+ if (ret) {
+ return ret;
+ }
+ }
+ return 0;
+}
+
/*
** Compare string against string with wildcard
** 0 if matched
@@ -22382,6 +33605,7 @@ my_char_weight_put(MY_UCA_WEIGHT_LEVEL *dst,
{
size_t chlen;
const uint16 *from= NULL;
+ uint16 implicit_weights[3];
for (chlen= len; chlen > 1; chlen--)
{
@@ -22396,6 +33620,11 @@ my_char_weight_put(MY_UCA_WEIGHT_LEVEL *dst,
if (!from)
{
from= my_char_weight_addr(dst, *str);
+ if (!from)
+ {
+ from= implicit_weights;
+ my_uca_implicit_weight_put(implicit_weights, *str, dst->levelno);
+ }
str++;
len--;
}
@@ -22449,6 +33678,25 @@ my_uca_copy_page(MY_CHARSET_LOADER *loader,
static my_bool
+my_uca_generate_implicit_page(MY_CHARSET_LOADER *loader,
+ MY_UCA_WEIGHT_LEVEL *dst,
+ uint page)
+{
+ uint chc, size= 256 * dst->lengths[page] * sizeof(uint16);
+ if (!(dst->weights[page]= (uint16 *) (loader->once_alloc)(size)))
+ return TRUE;
+
+ memset(dst->weights[page], 0, size);
+ for (chc= 0 ; chc < 256; chc++)
+ {
+ uint16 *w= dst->weights[page] + chc * dst->lengths[page];
+ my_uca_implicit_weight_put(w, (page << 8) + chc, dst->levelno);
+ }
+ return FALSE;
+}
+
+
+static my_bool
apply_shift(MY_CHARSET_LOADER *loader,
MY_COLL_RULES *rules, MY_COLL_RULE *r, int level,
uint16 *to, size_t nweights)
@@ -22531,9 +33779,41 @@ my_charset_loader_error_for_rule(MY_CHARSET_LOADER *loader,
}
+/**
+ Initialize one contraction:
+ - add flags for the characters in the contraction
+ - add a contraction to the arrray
+ @param contractions -
+ @param str - array of characters in the contraction
+ @param length - number of characters in the contraction
+ @param with_context - "previous context" or a normal contraction
+ @return a pointer where the caller should store contraction weights
+*/
+static uint16 *
+my_uca_init_one_contraction(MY_CONTRACTIONS *contractions,
+ my_wc_t *str, uint length, my_bool with_context)
+{
+ int flag;
+ uint i;
+ my_uca_add_contraction_flag(contractions, str[0],
+ with_context ?
+ MY_UCA_PREVIOUS_CONTEXT_HEAD :
+ MY_UCA_CNT_HEAD);
+ for (i= 1, flag= MY_UCA_CNT_MID1; i < length - 1; i++, flag<<= 1)
+ my_uca_add_contraction_flag(contractions, str[i], flag);
+ my_uca_add_contraction_flag(contractions, str[i],
+ with_context ?
+ MY_UCA_PREVIOUS_CONTEXT_TAIL :
+ MY_UCA_CNT_TAIL);
+ /* Add new contraction to the contraction list */
+ return my_uca_add_contraction(contractions, str, length,
+ with_context)->weight;
+}
+
+
static my_bool
apply_one_rule(MY_CHARSET_LOADER *loader,
- MY_COLL_RULES *rules, MY_COLL_RULE *r, int level,
+ MY_COLL_RULES *rules, MY_COLL_RULE *r,
MY_UCA_WEIGHT_LEVEL *dst)
{
size_t nweights;
@@ -22584,23 +33864,9 @@ apply_one_rule(MY_CHARSET_LOADER *loader,
if (nshift >= 2) /* Contraction */
{
- size_t i;
- int flag;
MY_CONTRACTIONS *contractions= &dst->contractions;
- /* Add HEAD, MID and TAIL flags for the contraction parts */
- my_uca_add_contraction_flag(contractions, r->curr[0],
- r->with_context ?
- MY_UCA_PREVIOUS_CONTEXT_HEAD :
- MY_UCA_CNT_HEAD);
- for (i= 1, flag= MY_UCA_CNT_MID1; i < nshift - 1; i++, flag<<= 1)
- my_uca_add_contraction_flag(contractions, r->curr[i], flag);
- my_uca_add_contraction_flag(contractions, r->curr[i],
- r->with_context ?
- MY_UCA_PREVIOUS_CONTEXT_TAIL :
- MY_UCA_CNT_TAIL);
- /* Add new contraction to the contraction list */
- to= my_uca_add_contraction(contractions, r->curr, nshift,
- r->with_context)->weight;
+ to= my_uca_init_one_contraction(contractions,
+ r->curr, nshift, r->with_context);
/* Store weights of the "reset to" character */
dst->contractions.nitems--; /* Temporarily hide - it's incomplete */
rc= my_char_weight_put(dst,
@@ -22623,7 +33889,7 @@ apply_one_rule(MY_CHARSET_LOADER *loader,
}
/* Apply level difference. */
- return apply_shift(loader, rules, r, level, to, nweights);
+ return apply_shift(loader, rules, r, dst->levelno, to, nweights);
}
@@ -22656,8 +33922,92 @@ check_rules(MY_CHARSET_LOADER *loader,
}
+/**
+ Calculates how many weights are needed on the given page.
+
+ In case of implicit weights, the functions returns 3:
+ two implicit weights plus trailing 0.
+
+ Implicit weights can appear if we do something like this:
+ <reset>\u3400</>
+ <i>a</i>
+ I.e. we reset to a character that does not have an explicit weight (U+3400),
+ and then reorder another character relatively to it.
+*/
+static uint my_weight_size_on_page(const MY_UCA_WEIGHT_LEVEL *src, uint page)
+{
+ return src->lengths[page] ? src->lengths[page] : 3;
+}
+
+
+/**
+ Generate default weights for a page:
+ - copy default weights from "src", or
+ - generate implicit weights algorithmically.
+ Note, some of these default weights will change later,
+ during a apply_one_rule() call.
+*/
+static my_bool
+my_uca_generate_page(MY_CHARSET_LOADER *loader,
+ MY_UCA_WEIGHT_LEVEL *dst, const MY_UCA_WEIGHT_LEVEL *src,
+ uint pageno)
+{
+ DBUG_ASSERT(dst->levelno == src->levelno);
+ return src->lengths[pageno] ?
+ /*
+ A page with explicit weights and some special rules.
+ Copy all weights from the page in "src".
+ */
+ my_uca_copy_page(loader, src, dst, pageno) :
+ /*
+ A page with implicit weights and some special rules.
+ Generate default weights for all characters on this page
+ algorithmically now, at initialization time.
+ */
+ my_uca_generate_implicit_page(loader, dst, pageno);
+}
+
+
+/**
+ Find all pages that we have special rules on and
+ populate default (explicit or implicit) weights for these pages.
+*/
static my_bool
-init_weight_level(MY_CHARSET_LOADER *loader, MY_COLL_RULES *rules, int level,
+my_uca_generate_pages(MY_CHARSET_LOADER *loader,
+ MY_UCA_WEIGHT_LEVEL *dst,
+ const MY_UCA_WEIGHT_LEVEL *src,
+ uint npages)
+{
+ uint page;
+ for (page= 0; page < npages; page++)
+ {
+ if (dst->weights[page])
+ {
+ /* A page with explicit weights with no special rules */
+ continue;
+ }
+
+ if (!dst->lengths[page])
+ {
+ /*
+ A page with implicit weights with no special rules.
+ Keep dst->weights[page]==NULL and dst->lengths[page]==0.
+ Weights for this page will be generated at run time algorithmically,
+ using my_uca_scanner_next_implicit().
+ */
+ continue;
+ }
+
+ /* Found a page with some special rules. */
+ if (my_uca_generate_page(loader, dst, src, page))
+ return TRUE;
+ }
+ return FALSE;
+}
+
+
+static my_bool
+init_weight_level(MY_CHARSET_LOADER *loader, MY_COLL_RULES *rules,
MY_UCA_WEIGHT_LEVEL *dst, const MY_UCA_WEIGHT_LEVEL *src)
{
MY_COLL_RULE *r, *rlast;
@@ -22665,6 +34015,7 @@ init_weight_level(MY_CHARSET_LOADER *loader, MY_COLL_RULES *rules, int level,
size_t i, npages= (src->maxchar + 1) / 256;
dst->maxchar= src->maxchar;
+ dst->levelno= src->levelno;
if (check_rules(loader, rules, dst, src))
return TRUE;
@@ -22696,9 +34047,15 @@ init_weight_level(MY_CHARSET_LOADER *loader, MY_COLL_RULES *rules, int level,
}
else
{
- uint pageb= (r->base[0] >> 8);
- if (dst->lengths[pagec] < src->lengths[pageb])
- dst->lengths[pagec]= src->lengths[pageb];
+ /*
+ Not an expansion and not a contraction.
+ The page correspoding to r->curr[0] in "dst"
+ will need at least the same amount of weights
+ that r->base[0] has in "src".
+ */
+ uint wsize= my_weight_size_on_page(src, r->base[0] >> 8);
+ if (dst->lengths[pagec] < wsize)
+ dst->lengths[pagec]= wsize;
}
dst->weights[pagec]= NULL; /* Mark that we'll overwrite this page */
}
@@ -22706,18 +34063,10 @@ init_weight_level(MY_CHARSET_LOADER *loader, MY_COLL_RULES *rules, int level,
ncontractions++;
}
- /* Allocate pages that we'll overwrite and copy default weights */
- for (i= 0; i < npages; i++)
- {
- my_bool rc;
- /*
- Don't touch pages with lengths[i]==0, they have implicit weights
- calculated algorithmically.
- */
- if (!dst->weights[i] && dst->lengths[i] &&
- (rc= my_uca_copy_page(loader, src, dst, i)))
- return rc;
- }
+ ncontractions += src->contractions.nitems;
+
+ if ((my_uca_generate_pages(loader, dst, src, npages)))
+ return TRUE;
if (ncontractions)
{
@@ -22735,9 +34084,27 @@ init_weight_level(MY_CHARSET_LOADER *loader, MY_COLL_RULES *rules, int level,
*/
for (r= rules->rule; r < rlast; r++)
{
- if (apply_one_rule(loader, rules, r, level, dst))
+ if (apply_one_rule(loader, rules, r, dst))
return TRUE;
}
+
+ /*
+ Add built-in contractions (e.g. for Thai)
+ */
+ for (i= 0; i != src->contractions.nitems; i++)
+ {
+ MY_CONTRACTION *item= &src->contractions.item[i];
+ /*
+ TODO: calculate length from item->ch.
+ Generally contractions can consist of more than 2 characters.
+ */
+ uint length= 2;
+ uint16 *weights= my_uca_init_one_contraction(&dst->contractions,
+ item->ch, length,
+ item->with_context);
+ memcpy(weights, item->weight, length * sizeof(uint16));
+ weights[length]= 0;
+ }
return FALSE;
}
@@ -22760,7 +34127,8 @@ init_weight_level(MY_CHARSET_LOADER *loader, MY_COLL_RULES *rules, int level,
*/
static my_bool
-create_tailoring(struct charset_info_st *cs, MY_CHARSET_LOADER *loader)
+create_tailoring(struct charset_info_st *cs,
+ MY_CHARSET_LOADER *loader)
{
MY_COLL_RULES rules;
MY_UCA_INFO new_uca, *src_uca= NULL;
@@ -22799,7 +34167,7 @@ create_tailoring(struct charset_info_st *cs, MY_CHARSET_LOADER *loader)
cs->caseinfo= &my_unicase_default;
}
- if ((rc= init_weight_level(loader, &rules, 0,
+ if ((rc= init_weight_level(loader, &rules,
&new_uca.level[0], &src_uca->level[0])))
goto ex;
@@ -22817,6 +34185,69 @@ ex:
return rc;
}
+static my_bool
+create_tailoring_multilevel(struct charset_info_st *cs,
+ MY_CHARSET_LOADER *loader)
+{
+ uint num_level= cs->levels_for_order;
+ MY_COLL_RULES rules;
+ MY_UCA_INFO new_uca, *src_uca= NULL;
+ int rc= 0;
+ uint i;
+
+ *loader->error= '\0';
+
+ if (!cs->tailoring)
+ return 0; /* Ok to add a collation without tailoring */
+
+ memset(&rules, 0, sizeof(rules));
+ rules.loader= loader;
+ rules.uca= cs->uca ? cs->uca : &my_uca_v400; /* For logical positions, etc */
+ memset(&new_uca, 0, sizeof(new_uca));
+
+ /* Parse ICU Collation Customization expression */
+ if ((rc= my_coll_rule_parse(&rules,
+ cs->tailoring,
+ cs->tailoring + strlen(cs->tailoring))))
+ goto ex;
+
+ if (rules.version == 520) /* Unicode-5.2.0 requested */
+ {
+ src_uca= &my_uca_v520;
+ cs->caseinfo= &my_unicase_unicode520;
+ }
+ else if (rules.version == 400) /* Unicode-4.0.0 requested */
+ {
+ src_uca= &my_uca_v400;
+ cs->caseinfo= &my_unicase_default;
+ }
+ else /* No Unicode version specified */
+ {
+ src_uca= cs->uca ? cs->uca : &my_uca_v400;
+ if (!cs->caseinfo)
+ cs->caseinfo= &my_unicase_default;
+ }
+
+ for (i= 0; i != num_level; i++)
+ {
+ if ((rc= init_weight_level(loader, &rules,
+ &new_uca.level[i], &src_uca->level[i])))
+ goto ex;
+ }
+
+ if (!(cs->uca= (MY_UCA_INFO *) (loader->once_alloc)(sizeof(MY_UCA_INFO))))
+ {
+ rc= 1;
+ goto ex;
+ }
+ cs->uca[0]= new_uca;
+
+ex:
+ (loader->free)(rules.rule);
+ if (rc != 0 && loader->error[0])
+ loader->reporter(ERROR_LEVEL, "%s", loader->error);
+ return rc;
+}
/*
Universal CHARSET_INFO compatible wrappers
@@ -22834,6 +34265,17 @@ my_coll_init_uca(struct charset_info_st *cs, MY_CHARSET_LOADER *loader)
return create_tailoring(cs, loader);
}
+static my_bool
+my_coll_init_uca_multilevel(struct charset_info_st *cs,
+ MY_CHARSET_LOADER *loader)
+{
+ cs->pad_char= ' ';
+ cs->ctype= my_charset_utf8_unicode_ci.ctype;
+ if (!cs->caseinfo)
+ cs->caseinfo= &my_unicase_default;
+ return create_tailoring_multilevel(cs, loader);
+}
+
static int my_strnncoll_any_uca(CHARSET_INFO *cs,
const uchar *s, size_t slen,
const uchar *t, size_t tlen,
@@ -22843,6 +34285,15 @@ static int my_strnncoll_any_uca(CHARSET_INFO *cs,
s, slen, t, tlen, t_is_prefix);
}
+static int my_strnncoll_any_uca_multilevel(CHARSET_INFO *cs,
+ const uchar *s, size_t slen,
+ const uchar *t, size_t tlen,
+ my_bool t_is_prefix)
+{
+ return my_strnncoll_uca_multilevel(cs, &my_any_uca_scanner_handler,
+ s, slen, t, tlen, t_is_prefix);
+}
+
static int my_strnncollsp_any_uca(CHARSET_INFO *cs,
const uchar *s, size_t slen,
const uchar *t, size_t tlen,
@@ -22851,13 +34302,23 @@ static int my_strnncollsp_any_uca(CHARSET_INFO *cs,
return my_strnncollsp_uca(cs, &my_any_uca_scanner_handler,
s, slen, t, tlen,
diff_if_only_endspace_difference);
-}
+}
+
+static int my_strnncollsp_any_uca_multilevel(CHARSET_INFO *cs,
+ const uchar *s, size_t slen,
+ const uchar *t, size_t tlen,
+ my_bool diff_if_only_endspace_difference)
+{
+ return my_strnncollsp_uca_multilevel(cs, &my_any_uca_scanner_handler,
+ s, slen, t, tlen,
+ diff_if_only_endspace_difference);
+}
static void my_hash_sort_any_uca(CHARSET_INFO *cs,
const uchar *s, size_t slen,
ulong *n1, ulong *n2)
{
- my_hash_sort_uca(cs, &my_any_uca_scanner_handler, s, slen, n1, n2);
+ my_hash_sort_uca(cs, &my_any_uca_scanner_handler, s, slen, n1, n2);
}
static size_t my_strnxfrm_any_uca(CHARSET_INFO *cs,
@@ -22868,12 +34329,43 @@ static size_t my_strnxfrm_any_uca(CHARSET_INFO *cs,
dst, dstlen, nweights, src, srclen, flags);
}
+static size_t my_strnxfrm_any_uca_multilevel(CHARSET_INFO *cs,
+ uchar *dst, size_t dstlen,
+ uint nweights, const uchar *src,
+ size_t srclen, uint flags)
+{
+ return my_strnxfrm_uca_multilevel(cs, &my_any_uca_scanner_handler,
+ dst, dstlen, nweights, src, srclen,
+ flags);
+}
+
static size_t my_strnxfrmlen_any_uca(CHARSET_INFO *cs, size_t len)
{
/* UCA uses 2 bytes per weight */
return (len + cs->mbmaxlen - 1) / cs->mbmaxlen * cs->strxfrm_multiply * 2;
}
+static size_t my_strnxfrmlen_any_uca_multilevel(CHARSET_INFO *cs, size_t len)
+{
+ return my_strnxfrmlen_any_uca(cs, len) * cs->levels_for_order;
+}
+
+
+MY_COLLATION_HANDLER my_collation_any_uca_handler_multilevel=
+{
+ my_coll_init_uca_multilevel,
+ my_strnncoll_any_uca_multilevel,
+ my_strnncollsp_any_uca_multilevel,
+ my_strnxfrm_any_uca_multilevel,
+ my_strnxfrmlen_any_uca_multilevel,
+ my_like_range_generic,
+ my_wildcmp_uca,
+ NULL,
+ my_instr_mb,
+ my_hash_sort_any_uca,
+ my_propagate_complex
+};
+
#ifdef HAVE_CHARSET_ucs2
/*
@@ -22928,10 +34420,12 @@ MY_COLLATION_HANDLER my_collation_ucs2_uca_handler =
my_propagate_complex
};
+#define MY_CS_UCS2_UCA_FLAGS (MY_CS_COMMON_UCA_FLAGS|MY_CS_NONASCII)
+
struct charset_info_st my_charset_ucs2_unicode_ci=
{
128,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_unicode_ci", /* name */
"", /* comment */
@@ -22963,7 +34457,7 @@ struct charset_info_st my_charset_ucs2_unicode_ci=
struct charset_info_st my_charset_ucs2_icelandic_uca_ci=
{
129,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_icelandic_ci",/* name */
"", /* comment */
@@ -22995,7 +34489,7 @@ struct charset_info_st my_charset_ucs2_icelandic_uca_ci=
struct charset_info_st my_charset_ucs2_latvian_uca_ci=
{
130,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_latvian_ci", /* name */
"", /* comment */
@@ -23027,7 +34521,7 @@ struct charset_info_st my_charset_ucs2_latvian_uca_ci=
struct charset_info_st my_charset_ucs2_romanian_uca_ci=
{
131,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_romanian_ci", /* name */
"", /* comment */
@@ -23059,7 +34553,7 @@ struct charset_info_st my_charset_ucs2_romanian_uca_ci=
struct charset_info_st my_charset_ucs2_slovenian_uca_ci=
{
132,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_slovenian_ci",/* name */
"", /* comment */
@@ -23091,7 +34585,7 @@ struct charset_info_st my_charset_ucs2_slovenian_uca_ci=
struct charset_info_st my_charset_ucs2_polish_uca_ci=
{
133,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_polish_ci", /* name */
"", /* comment */
@@ -23123,7 +34617,7 @@ struct charset_info_st my_charset_ucs2_polish_uca_ci=
struct charset_info_st my_charset_ucs2_estonian_uca_ci=
{
134,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_estonian_ci", /* name */
"", /* comment */
@@ -23155,7 +34649,7 @@ struct charset_info_st my_charset_ucs2_estonian_uca_ci=
struct charset_info_st my_charset_ucs2_spanish_uca_ci=
{
135,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_spanish_ci", /* name */
"", /* comment */
@@ -23187,7 +34681,7 @@ struct charset_info_st my_charset_ucs2_spanish_uca_ci=
struct charset_info_st my_charset_ucs2_swedish_uca_ci=
{
136,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_swedish_ci", /* name */
"", /* comment */
@@ -23219,7 +34713,7 @@ struct charset_info_st my_charset_ucs2_swedish_uca_ci=
struct charset_info_st my_charset_ucs2_turkish_uca_ci=
{
137,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_turkish_ci", /* name */
"", /* comment */
@@ -23251,7 +34745,7 @@ struct charset_info_st my_charset_ucs2_turkish_uca_ci=
struct charset_info_st my_charset_ucs2_czech_uca_ci=
{
138,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_czech_ci", /* name */
"", /* comment */
@@ -23284,7 +34778,7 @@ struct charset_info_st my_charset_ucs2_czech_uca_ci=
struct charset_info_st my_charset_ucs2_danish_uca_ci=
{
139,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_danish_ci", /* name */
"", /* comment */
@@ -23316,7 +34810,7 @@ struct charset_info_st my_charset_ucs2_danish_uca_ci=
struct charset_info_st my_charset_ucs2_lithuanian_uca_ci=
{
140,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_lithuanian_ci",/* name */
"", /* comment */
@@ -23348,7 +34842,7 @@ struct charset_info_st my_charset_ucs2_lithuanian_uca_ci=
struct charset_info_st my_charset_ucs2_slovak_uca_ci=
{
141,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_slovak_ci", /* name */
"", /* comment */
@@ -23380,7 +34874,7 @@ struct charset_info_st my_charset_ucs2_slovak_uca_ci=
struct charset_info_st my_charset_ucs2_spanish2_uca_ci=
{
142,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_spanish2_ci", /* name */
"", /* comment */
@@ -23413,7 +34907,7 @@ struct charset_info_st my_charset_ucs2_spanish2_uca_ci=
struct charset_info_st my_charset_ucs2_roman_uca_ci=
{
143,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_roman_ci", /* name */
"", /* comment */
@@ -23446,7 +34940,7 @@ struct charset_info_st my_charset_ucs2_roman_uca_ci=
struct charset_info_st my_charset_ucs2_persian_uca_ci=
{
144,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_persian_ci", /* name */
"", /* comment */
@@ -23479,7 +34973,7 @@ struct charset_info_st my_charset_ucs2_persian_uca_ci=
struct charset_info_st my_charset_ucs2_esperanto_uca_ci=
{
145,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_esperanto_ci",/* name */
"", /* comment */
@@ -23512,7 +35006,7 @@ struct charset_info_st my_charset_ucs2_esperanto_uca_ci=
struct charset_info_st my_charset_ucs2_hungarian_uca_ci=
{
146,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_hungarian_ci",/* name */
"", /* comment */
@@ -23544,7 +35038,7 @@ struct charset_info_st my_charset_ucs2_hungarian_uca_ci=
struct charset_info_st my_charset_ucs2_sinhala_uca_ci=
{
147,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* csname */
"ucs2_sinhala_ci", /* name */
"", /* comment */
@@ -23578,7 +35072,7 @@ struct charset_info_st my_charset_ucs2_sinhala_uca_ci=
struct charset_info_st my_charset_ucs2_german2_uca_ci=
{
148,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* csname */
"ucs2_german2_ci", /* name */
"", /* comment */
@@ -23610,7 +35104,7 @@ struct charset_info_st my_charset_ucs2_german2_uca_ci=
struct charset_info_st my_charset_ucs2_croatian_mysql561_uca_ci=
{
149,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_croatian_mysql561_ci", /* name */
"", /* comment */
@@ -23643,7 +35137,7 @@ struct charset_info_st my_charset_ucs2_croatian_mysql561_uca_ci=
struct charset_info_st my_charset_ucs2_croatian_uca_ci=
{
MY_PAGE2_COLLATION_ID_UCS2,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_croatian_ci", /* name */
"", /* comment */
@@ -23676,7 +35170,7 @@ struct charset_info_st my_charset_ucs2_croatian_uca_ci=
struct charset_info_st my_charset_ucs2_myanmar_uca_ci=
{
MY_PAGE2_COLLATION_ID_UCS2+1,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_myanmar_ci", /* name */
"", /* comment */
@@ -23706,10 +35200,42 @@ struct charset_info_st my_charset_ucs2_myanmar_uca_ci=
};
+struct charset_info_st my_charset_ucs2_thai_520_w2=
+{
+ MY_PAGE2_COLLATION_ID_UCS2+2,0,0, /* number */
+ MY_CS_UCS2_UCA_FLAGS,/* flags */
+ "ucs2", /* csname */
+ "ucs2_thai_520_w2", /* name */
+ "", /* comment */
+ "", /* tailoring */
+ NULL, /* ctype */
+ NULL, /* to_lower */
+ NULL, /* to_upper */
+ NULL, /* sort_order */
+ &my_uca_v520_th, /* uca */
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ &my_unicase_unicode520,/* caseinfo */
+ NULL, /* state_map */
+ NULL, /* ident_map */
+ 4, /* strxfrm_multiply */
+ 1, /* caseup_multiply */
+ 1, /* casedn_multiply */
+ 2, /* mbminlen */
+ 2, /* mbmaxlen */
+ 9, /* min_sort_char */
+ 0xFFFF, /* max_sort_char */
+ ' ', /* pad char */
+ 0, /* escape_with_backslash_is_dangerous */
+ 2, /* levels_for_order */
+ &my_charset_ucs2_handler,
+ &my_collation_any_uca_handler_multilevel
+};
+
struct charset_info_st my_charset_ucs2_unicode_520_ci=
{
150,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* cs name */
"ucs2_unicode_520_ci",/* name */
"", /* comment */
@@ -23742,7 +35268,7 @@ struct charset_info_st my_charset_ucs2_unicode_520_ci=
struct charset_info_st my_charset_ucs2_vietnamese_ci=
{
151,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UCS2_UCA_FLAGS,/* state */
"ucs2", /* csname */
"ucs2_vietnamese_ci",/* name */
"", /* comment */
@@ -23819,7 +35345,7 @@ static uchar ctype_utf8[] = {
extern MY_CHARSET_HANDLER my_charset_utf8_handler;
-#define MY_CS_UTF8MB3_UCA_FLAGS (MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE)
+#define MY_CS_UTF8MB3_UCA_FLAGS MY_CS_COMMON_UCA_FLAGS
struct charset_info_st my_charset_utf8_unicode_ci=
{
@@ -24627,6 +36153,37 @@ struct charset_info_st my_charset_utf8_unicode_520_ci=
&my_collation_any_uca_handler
};
+struct charset_info_st my_charset_utf8_thai_520_w2=
+{
+ MY_PAGE2_COLLATION_ID_UTF8+2,0,0, /* number */
+ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */
+ MY_UTF8MB3, /* csname */
+ MY_UTF8MB3 "_thai_520_w2",/* name */
+ "", /* comment */
+ "", /* tailoring */
+ ctype_utf8, /* ctype */
+ NULL, /* to_lower */
+ NULL, /* to_upper */
+ NULL, /* sort_order */
+ &my_uca_v520_th, /* uca */
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ &my_unicase_unicode520,/* caseinfo */
+ NULL, /* state_map */
+ NULL, /* ident_map */
+ 4, /* strxfrm_multiply */
+ 1, /* caseup_multiply */
+ 1, /* casedn_multiply */
+ 1, /* mbminlen */
+ 3, /* mbmaxlen */
+ 9, /* min_sort_char */
+ 0xFFFF, /* max_sort_char */
+ ' ', /* pad char */
+ 0, /* escape_with_backslash_is_dangerous */
+ 2, /* levels_for_order */
+ &my_charset_utf8_handler,
+ &my_collation_any_uca_handler_multilevel
+};
struct charset_info_st my_charset_utf8_vietnamese_ci=
{
@@ -24668,7 +36225,7 @@ struct charset_info_st my_charset_utf8_vietnamese_ci=
extern MY_CHARSET_HANDLER my_charset_utf8mb4_handler;
-#define MY_CS_UTF8MB4_UCA_FLAGS (MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_UNICODE_SUPPLEMENT)
+#define MY_CS_UTF8MB4_UCA_FLAGS (MY_CS_COMMON_UCA_FLAGS|MY_CS_UNICODE_SUPPLEMENT)
struct charset_info_st my_charset_utf8mb4_unicode_ci=
{
@@ -25442,6 +36999,37 @@ struct charset_info_st my_charset_utf8mb4_myanmar_uca_ci=
&my_collation_any_uca_handler
};
+struct charset_info_st my_charset_utf8mb4_thai_520_w2=
+{
+ MY_PAGE2_COLLATION_ID_UTF8MB4+2,0,0, /* number */
+ MY_CS_UTF8MB4_UCA_FLAGS,/* flags */
+ MY_UTF8MB4, /* csname */
+ MY_UTF8MB4 "_thai_520_w2", /* name */
+ "", /* comment */
+ "", /* tailoring */
+ ctype_utf8, /* ctype */
+ NULL, /* to_lower */
+ NULL, /* to_upper */
+ NULL, /* sort_order */
+ &my_uca_v520_th, /* uca */
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ &my_unicase_unicode520,/* caseinfo */
+ NULL, /* state_map */
+ NULL, /* ident_map */
+ 4, /* strxfrm_multiply */
+ 1, /* caseup_multiply */
+ 1, /* casedn_multiply */
+ 1, /* mbminlen */
+ 4, /* mbmaxlen */
+ 9, /* min_sort_char */
+ 0xFFFF, /* max_sort_char */
+ ' ', /* pad char */
+ 0, /* escape_with_backslash_is_dangerous */
+ 2, /* levels_for_order */
+ &my_charset_utf8mb4_handler,
+ &my_collation_any_uca_handler_multilevel
+};
struct charset_info_st my_charset_utf8mb4_unicode_520_ci=
{
@@ -25531,7 +37119,7 @@ MY_COLLATION_HANDLER my_collation_utf32_uca_handler =
extern MY_CHARSET_HANDLER my_charset_utf32_handler;
-#define MY_CS_UTF32_UCA_FLAGS (MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII)
+#define MY_CS_UTF32_UCA_FLAGS (MY_CS_COMMON_UCA_FLAGS|MY_CS_NONASCII)
struct charset_info_st my_charset_utf32_unicode_ci=
{
@@ -26305,6 +37893,39 @@ struct charset_info_st my_charset_utf32_myanmar_uca_ci=
};
+struct charset_info_st my_charset_utf32_thai_520_w2=
+{
+ MY_PAGE2_COLLATION_ID_UTF32+2,0,0, /* number */
+ MY_CS_UTF32_UCA_FLAGS,/* state */
+ "utf32", /* csname */
+ "utf32_thai_520_w2",/* name */
+ "", /* comment */
+ "", /* tailoring */
+ NULL, /* ctype */
+ NULL, /* to_lower */
+ NULL, /* to_upper */
+ NULL, /* sort_order */
+ &my_uca_v520_th, /* uca */
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ &my_unicase_unicode520,/* caseinfo */
+ NULL, /* state_map */
+ NULL, /* ident_map */
+ 4, /* strxfrm_multiply */
+ 1, /* caseup_multiply */
+ 1, /* casedn_multiply */
+ 4, /* mbminlen */
+ 4, /* mbmaxlen */
+ 9, /* min_sort_char */
+ 0xFFFF, /* max_sort_char */
+ ' ', /* pad char */
+ 0, /* escape_with_backslash_is_dangerous */
+ 2, /* levels_for_order */
+ &my_charset_utf32_handler,
+ &my_collation_any_uca_handler_multilevel
+};
+
+
struct charset_info_st my_charset_utf32_unicode_520_ci=
{
182,0,0, /* number */
@@ -26394,7 +38015,7 @@ MY_COLLATION_HANDLER my_collation_utf16_uca_handler =
extern MY_CHARSET_HANDLER my_charset_utf16_handler;
-#define MY_CS_UTF16_UCA_FLAGS (MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII)
+#define MY_CS_UTF16_UCA_FLAGS (MY_CS_COMMON_UCA_FLAGS|MY_CS_NONASCII)
struct charset_info_st my_charset_utf16_unicode_ci=
{
@@ -27170,10 +38791,43 @@ struct charset_info_st my_charset_utf16_myanmar_uca_ci=
};
+struct charset_info_st my_charset_utf16_thai_520_w2=
+{
+ MY_PAGE2_COLLATION_ID_UTF16+2,0,0, /* number */
+ MY_CS_UTF16_UCA_FLAGS,/* state */
+ "utf16", /* cs name */
+ "utf16_thai_520_w2",/* name */
+ "", /* comment */
+ "", /* tailoring */
+ NULL, /* ctype */
+ NULL, /* to_lower */
+ NULL, /* to_upper */
+ NULL, /* sort_order */
+ &my_uca_v520_th, /* uca */
+ NULL, /* tab_to_uni */
+ NULL, /* tab_from_uni */
+ &my_unicase_unicode520,/* caseinfo */
+ NULL, /* state_map */
+ NULL, /* ident_map */
+ 4, /* strxfrm_multiply */
+ 1, /* caseup_multiply */
+ 1, /* casedn_multiply */
+ 2, /* mbminlen */
+ 4, /* mbmaxlen */
+ 9, /* min_sort_char */
+ 0xFFFF, /* max_sort_char */
+ ' ', /* pad char */
+ 0, /* escape_with_backslash_is_dangerous */
+ 2, /* levels_for_order */
+ &my_charset_utf16_handler,
+ &my_collation_any_uca_handler_multilevel
+};
+
+
struct charset_info_st my_charset_utf16_unicode_520_ci=
{
123,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+ MY_CS_UTF16_UCA_FLAGS,/* state */
"utf16", /* csname */
"utf16_unicode_520_ci",/* name */
"", /* comment */
diff --git a/strings/ctype-ucs2.c b/strings/ctype-ucs2.c
index 724e69872de..0791b0b742c 100644
--- a/strings/ctype-ucs2.c
+++ b/strings/ctype-ucs2.c
@@ -53,17 +53,6 @@ static unsigned long lfactor[9]=
#ifdef HAVE_CHARSET_mb2_or_mb4
-static inline int
-my_bincmp(const uchar *s, const uchar *se,
- const uchar *t, const uchar *te)
-{
- int slen= (int) (se - s), tlen= (int) (te - t);
- int len= MY_MIN(slen, tlen);
- int cmp= memcmp(s, t, len);
- return cmp ? cmp : slen - tlen;
-}
-
-
static size_t
my_caseup_str_mb2_or_mb4(CHARSET_INFO * cs __attribute__((unused)),
char * s __attribute__((unused)))
@@ -92,6 +81,110 @@ my_strcasecmp_mb2_or_mb4(CHARSET_INFO *cs __attribute__((unused)),
}
+typedef enum
+{
+ MY_CHAR_COPY_OK= 0, /* The character was Okey */
+ MY_CHAR_COPY_ERROR= 1, /* The character was not Ok, and could not fix */
+ MY_CHAR_COPY_FIXED= 2 /* The character was not Ok, was fixed to '?' */
+} my_char_copy_status_t;
+
+
+/*
+ Copies an incomplete character, lef-padding it with 0x00 bytes.
+
+ @param cs Character set
+ @param dst The destination string
+ @param dst_length Space available in dst
+ @param src The source string
+ @param src_length Length of src
+ @param nchars Copy not more than nchars characters.
+ The "nchars" parameter of the caller.
+ Only 0 and non-0 are important here.
+ @param fix What to do if after zero-padding didn't get a valid
+ character:
+ - FALSE - exit with error.
+ - TRUE - try to put '?' instead.
+
+ @return MY_CHAR_COPY_OK if after zero-padding got a valid character.
+ cs->mbmaxlen bytes were written to "dst".
+ @return MY_CHAR_COPY_FIXED if after zero-padding did not get a valid
+ character, but wrote '?' to the destination
+ string instead.
+ cs->mbminlen bytes were written to "dst".
+ @return MY_CHAR_COPY_ERROR If failed and nothing was written to "dst".
+ Possible reasons:
+ - dst_length was too short
+ - nchars was 0
+ - the character after padding appeared not
+ to be valid, and could not fix it to '?'.
+*/
+static my_char_copy_status_t
+my_copy_incomplete_char(CHARSET_INFO *cs,
+ char *dst, size_t dst_length,
+ const char *src, size_t src_length,
+ size_t nchars, my_bool fix)
+{
+ size_t pad_length;
+ size_t src_offset= src_length % cs->mbminlen;
+ if (dst_length < cs->mbminlen || !nchars)
+ return MY_CHAR_COPY_ERROR;
+
+ pad_length= cs->mbminlen - src_offset;
+ bzero(dst, pad_length);
+ memmove(dst + pad_length, src, src_offset);
+ /*
+ In some cases left zero-padding can create an incorrect character.
+ For example:
+ INSERT INTO t1 (utf32_column) VALUES (0x110000);
+ We'll pad the value to 0x00110000, which is a wrong UTF32 sequence!
+ The valid characters range is limited to 0x00000000..0x0010FFFF.
+
+ Make sure we didn't pad to an incorrect character.
+ */
+ if (cs->cset->charlen(cs, (uchar *) dst, (uchar *) dst + cs->mbminlen) ==
+ (int) cs->mbminlen)
+ return MY_CHAR_COPY_OK;
+
+ if (fix &&
+ cs->cset->wc_mb(cs, '?', (uchar *) dst, (uchar *) dst + cs->mbminlen) ==
+ (int) cs->mbminlen)
+ return MY_CHAR_COPY_FIXED;
+
+ return MY_CHAR_COPY_ERROR;
+}
+
+
+/*
+ Copy an UCS2/UTF16/UTF32 string, fix bad characters.
+*/
+static size_t
+my_copy_fix_mb2_or_mb4(CHARSET_INFO *cs,
+ char *dst, size_t dst_length,
+ const char *src, size_t src_length,
+ size_t nchars, MY_STRCOPY_STATUS *status)
+{
+ size_t length2, src_offset= src_length % cs->mbminlen;
+ my_char_copy_status_t padstatus;
+
+ if (!src_offset)
+ return my_copy_fix_mb(cs, dst, dst_length,
+ src, src_length, nchars, status);
+ if ((padstatus= my_copy_incomplete_char(cs, dst, dst_length,
+ src, src_length, nchars, TRUE)) ==
+ MY_CHAR_COPY_ERROR)
+ {
+ status->m_source_end_pos= status->m_well_formed_error_pos= src;
+ return 0;
+ }
+ length2= my_copy_fix_mb(cs, dst + cs->mbminlen, dst_length - cs->mbminlen,
+ src + src_offset, src_length - src_offset,
+ nchars - 1, status);
+ if (padstatus == MY_CHAR_COPY_FIXED)
+ status->m_well_formed_error_pos= src;
+ return cs->mbminlen /* The left-padded character */ + length2;
+}
+
+
static long
my_strntol_mb2_or_mb4(CHARSET_INFO *cs,
const char *nptr, size_t l, int base,
@@ -714,6 +807,21 @@ cnv:
#ifdef HAVE_CHARSET_mb2
+/**
+ Convert a Unicode code point to a digit.
+ @param wc - the input Unicode code point
+ @param[OUT] c - the output character representing the digit value 0..9
+
+ @return 0 - if wc is a good digit
+ @return 1 - if wc is not a digit
+*/
+static inline my_bool
+wc2digit_uchar(uchar *c, my_wc_t wc)
+{
+ return wc > '9' || (c[0]= (uchar) (wc - '0')) > 9;
+}
+
+
static longlong
my_strtoll10_mb2(CHARSET_INFO *cs __attribute__((unused)),
const char *nptr, char **endptr, int *error)
@@ -817,7 +925,7 @@ my_strtoll10_mb2(CHARSET_INFO *cs __attribute__((unused)),
{
if ((res= mb_wc(cs, &wc, s, n_end)) <= 0)
break;
- if ((c= (wc - '0')) > 9)
+ if (wc2digit_uchar(&c, wc))
goto end_i;
i= i*10+c;
}
@@ -834,7 +942,7 @@ my_strtoll10_mb2(CHARSET_INFO *cs __attribute__((unused)),
{
if ((res= mb_wc(cs, &wc, s, end)) <= 0)
goto no_conv;
- if ((c= (wc - '0')) > 9)
+ if (wc2digit_uchar(&c, wc))
goto end_i_and_j;
s+= res;
j= j * 10 + c;
@@ -857,7 +965,7 @@ my_strtoll10_mb2(CHARSET_INFO *cs __attribute__((unused)),
goto end4;
if ((res= mb_wc(cs, &wc, s, end)) <= 0)
goto no_conv;
- if ((c= (wc - '0')) > 9)
+ if (wc2digit_uchar(&c, wc))
goto end4;
s+= res;
k= k*10+c;
@@ -1082,11 +1190,14 @@ my_lengthsp_mb2(CHARSET_INFO *cs __attribute__((unused)),
#define MY_UTF16_SURROGATE_LOW_FIRST 0xDC00
#define MY_UTF16_SURROGATE_LOW_LAST 0xDFFF
-#define MY_UTF16_HIGH_HEAD(x) ((((uchar) (x)) & 0xFC) == 0xD8)
-#define MY_UTF16_LOW_HEAD(x) ((((uchar) (x)) & 0xFC) == 0xDC)
-#define MY_UTF16_SURROGATE(x) (((x) & 0xF800) == 0xD800)
+#define MY_UTF16_HIGH_HEAD(x) ((((uchar) (x)) & 0xFC) == 0xD8)
+#define MY_UTF16_LOW_HEAD(x) ((((uchar) (x)) & 0xFC) == 0xDC)
+/* Test if a byte is a leading byte of a high or low surrogate head: */
+#define MY_UTF16_SURROGATE_HEAD(x) ((((uchar) (x)) & 0xF8) == 0xD8)
+/* Test if a Unicode code point is a high or low surrogate head */
+#define MY_UTF16_SURROGATE(x) (((x) & 0xF800) == 0xD800)
-#define MY_UTF16_WC2(a, b) ((a << 8) + b)
+#define MY_UTF16_WC2(a, b) ((a << 8) + b)
/*
a= 110110?? (<< 18)
@@ -1097,6 +1208,30 @@ my_lengthsp_mb2(CHARSET_INFO *cs __attribute__((unused)),
#define MY_UTF16_WC4(a, b, c, d) (((a & 3) << 18) + (b << 10) + \
((c & 3) << 8) + d + 0x10000)
+#define IS_MB2_CHAR(b0,b1) (!MY_UTF16_SURROGATE_HEAD(b0))
+#define IS_MB4_CHAR(b0,b1,b2,b3) (MY_UTF16_HIGH_HEAD(b0) && MY_UTF16_LOW_HEAD(b2))
+
+static inline int my_weight_mb2_utf16mb2_general_ci(uchar b0, uchar b1)
+{
+ my_wc_t wc= MY_UTF16_WC2(b0, b1);
+ MY_UNICASE_CHARACTER *page= my_unicase_default.page[wc >> 8];
+ return (int) (page ? page[wc & 0xFF].sort : wc);
+}
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf16_general_ci
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB2(b0,b1) my_weight_mb2_utf16mb2_general_ci(b0,b1)
+#define WEIGHT_MB4(b0,b1,b2,b3) MY_CS_REPLACEMENT_CHARACTER
+#include "strcoll.ic"
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf16_bin
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB2(b0,b1) ((int) MY_UTF16_WC2(b0, b1))
+#define WEIGHT_MB4(b0,b1,b2,b3) ((int) MY_UTF16_WC4(b0, b1, b2, b3))
+#include "strcoll.ic"
+
+#undef IS_MB2_CHAR
+#undef IS_MB4_CHAR
+
static int
my_utf16_uni(CHARSET_INFO *cs __attribute__((unused)),
my_wc_t *pwc, const uchar *s, const uchar *e)
@@ -1269,153 +1404,31 @@ my_casedn_utf16(CHARSET_INFO *cs, const char *src, size_t srclen,
}
-static int
-my_strnncoll_utf16(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
+static uint
+my_ismbchar_utf16(CHARSET_INFO *cs, const char *b, const char *e)
{
- int s_res, t_res;
- my_wc_t UNINIT_VAR(s_wc), UNINIT_VAR(t_wc);
- my_charset_conv_mb_wc mb_wc= cs->cset->mb_wc;
- const uchar *se= s + slen;
- const uchar *te= t + tlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
-
- while (s < se && t < te)
- {
- s_res= mb_wc(cs, &s_wc, s, se);
- t_res= mb_wc(cs, &t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare by char value */
- return my_bincmp(s, se, t, te);
- }
-
- my_tosort_utf16(uni_plane, &s_wc);
- my_tosort_utf16(uni_plane, &t_wc);
-
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t - te) : ((se - s) - (te - t)));
+ my_wc_t wc;
+ int res= cs->cset->mb_wc(cs, &wc, (const uchar *) b, (const uchar *) e);
+ return (uint) (res > 0 ? res : 0);
}
-/**
- Compare strings, discarding end space
-
- If one string is shorter as the other, then we space extend the other
- so that the strings have equal length.
-
- This will ensure that the following things hold:
-
- "a" == "a "
- "a\0" < "a"
- "a\0" < "a "
-
- @param cs Character set pinter.
- @param a First string to compare.
- @param a_length Length of 'a'.
- @param b Second string to compare.
- @param b_length Length of 'b'.
-
- IMPLEMENTATION
-
- @return Comparison result.
- @retval Negative number, if a less than b.
- @retval 0, if a is equal to b
- @retval Positive number, if a > b
-*/
-
static int
-my_strnncollsp_utf16(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
+my_charlen_utf16(CHARSET_INFO *cs, const uchar *str, const uchar *end)
{
- int res;
- my_wc_t UNINIT_VAR(s_wc), UNINIT_VAR(t_wc);
- my_charset_conv_mb_wc mb_wc= cs->cset->mb_wc;
- const uchar *se= s + slen, *te= t + tlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
-
- DBUG_ASSERT((slen % 2) == 0);
- DBUG_ASSERT((tlen % 2) == 0);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= FALSE;
-#endif
-
- while (s < se && t < te)
- {
- int s_res= mb_wc(cs, &s_wc, s, se);
- int t_res= mb_wc(cs, &t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare bytewise */
- return my_bincmp(s, se, t, te);
- }
-
- my_tosort_utf16(uni_plane, &s_wc);
- my_tosort_utf16(uni_plane, &t_wc);
-
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
-
- slen= (size_t) (se - s);
- tlen= (size_t) (te - t);
- res= 0;
-
- if (slen != tlen)
- {
- int s_res, swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 's' is bigger */
- if (slen < tlen)
- {
- slen= tlen;
- s= t;
- se= te;
- swap= -1;
- res= -res;
- }
-
- for ( ; s < se; s+= s_res)
- {
- if ((s_res= mb_wc(cs, &s_wc, s, se)) < 0)
- {
- DBUG_ASSERT(0);
- return 0;
- }
- if (s_wc != ' ')
- return (s_wc < ' ') ? -swap : swap;
- }
- }
- return res;
+ my_wc_t wc;
+ return cs->cset->mb_wc(cs, &wc, str, end);
}
-static uint
-my_ismbchar_utf16(CHARSET_INFO *cs, const char *b, const char *e)
-{
- my_wc_t wc;
- int res= cs->cset->mb_wc(cs, &wc, (const uchar *) b, (const uchar *) e);
- return (uint) (res > 0 ? res : 0);
-}
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf16
+#define CHARLEN(cs,str,end) my_charlen_utf16(cs,str,end)
+#define DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+#include "ctype-mb.ic"
+#undef MY_FUNCTION_NAME
+#undef CHARLEN
+#undef DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+/* Defines my_well_formed_char_length_utf16 */
static uint
@@ -1503,111 +1516,6 @@ my_wildcmp_utf16_bin(CHARSET_INFO *cs,
}
-static int
-my_strnncoll_utf16_bin(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- int s_res,t_res;
- my_wc_t UNINIT_VAR(s_wc), UNINIT_VAR(t_wc);
- my_charset_conv_mb_wc mb_wc= cs->cset->mb_wc;
- const uchar *se=s+slen;
- const uchar *te=t+tlen;
-
- while ( s < se && t < te )
- {
- s_res= mb_wc(cs, &s_wc, s, se);
- t_res= mb_wc(cs, &t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare by char value */
- return my_bincmp(s, se, t, te);
- }
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t - te) : ((se - s) - (te - t)));
-}
-
-
-static int
-my_strnncollsp_utf16_bin(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
-{
- int res;
- my_wc_t UNINIT_VAR(s_wc), UNINIT_VAR(t_wc);
- my_charset_conv_mb_wc mb_wc= cs->cset->mb_wc;
- const uchar *se= s + slen, *te= t + tlen;
-
- DBUG_ASSERT((slen % 2) == 0);
- DBUG_ASSERT((tlen % 2) == 0);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= FALSE;
-#endif
-
- while (s < se && t < te)
- {
- int s_res= mb_wc(cs, &s_wc, s, se);
- int t_res= mb_wc(cs, &t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare bytewise */
- return my_bincmp(s, se, t, te);
- }
-
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
-
- slen= (size_t) (se - s);
- tlen= (size_t) (te - t);
- res= 0;
-
- if (slen != tlen)
- {
- int s_res, swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 's' is bigger */
- if (slen < tlen)
- {
- slen= tlen;
- s= t;
- se= te;
- swap= -1;
- res= -res;
- }
-
- for ( ; s < se; s+= s_res)
- {
- if ((s_res= mb_wc(cs, &s_wc, s, se)) < 0)
- {
- DBUG_ASSERT(0);
- return 0;
- }
- if (s_wc != ' ')
- return (s_wc < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
static void
my_hash_sort_utf16_bin(CHARSET_INFO *cs,
const uchar *pos, size_t len, ulong *nr1, ulong *nr2)
@@ -1627,8 +1535,8 @@ my_hash_sort_utf16_bin(CHARSET_INFO *cs,
static MY_COLLATION_HANDLER my_collation_utf16_general_ci_handler =
{
NULL, /* init */
- my_strnncoll_utf16,
- my_strnncollsp_utf16,
+ my_strnncoll_utf16_general_ci,
+ my_strnncollsp_utf16_general_ci,
my_strnxfrm_unicode,
my_strnxfrmlen_unicode,
my_like_range_generic,
@@ -1684,7 +1592,11 @@ MY_CHARSET_HANDLER my_charset_utf16_handler=
my_strntod_mb2_or_mb4,
my_strtoll10_mb2,
my_strntoull10rnd_mb2_or_mb4,
- my_scan_mb2
+ my_scan_mb2,
+ my_charlen_utf16,
+ my_well_formed_char_length_utf16,
+ my_copy_fix_mb2_or_mb4,
+ my_uni_utf16,
};
@@ -1754,8 +1666,26 @@ struct charset_info_st my_charset_utf16_bin=
};
+#define IS_MB2_CHAR(b0,b1) (!MY_UTF16_SURROGATE_HEAD(b1))
+#define IS_MB4_CHAR(b0,b1,b2,b3) (MY_UTF16_HIGH_HEAD(b1) && MY_UTF16_LOW_HEAD(b3))
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf16le_general_ci
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB2(b0,b1) my_weight_mb2_utf16mb2_general_ci(b1,b0)
+#define WEIGHT_MB4(b0,b1,b2,b3) MY_CS_REPLACEMENT_CHARACTER
+#include "strcoll.ic"
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf16le_bin
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB2(b0,b1) ((int) MY_UTF16_WC2(b1, b0))
+#define WEIGHT_MB4(b0,b1,b2,b3) ((int) MY_UTF16_WC4(b1, b0, b3, b2))
+#include "strcoll.ic"
+
+#undef IS_MB2_CHAR
+#undef IS_MB4_CHAR
+
static int
-my_utf16le_uni(const CHARSET_INFO *cs __attribute__((unused)),
+my_utf16le_uni(CHARSET_INFO *cs __attribute__((unused)),
my_wc_t *pwc, const uchar *s, const uchar *e)
{
my_wc_t lo;
@@ -1785,7 +1715,7 @@ my_utf16le_uni(const CHARSET_INFO *cs __attribute__((unused)),
static int
-my_uni_utf16le(const CHARSET_INFO *cs __attribute__((unused)),
+my_uni_utf16le(CHARSET_INFO *cs __attribute__((unused)),
my_wc_t wc, uchar *s, uchar *e)
{
uint32 first, second, total;
@@ -1815,7 +1745,7 @@ my_uni_utf16le(const CHARSET_INFO *cs __attribute__((unused)),
static size_t
-my_lengthsp_utf16le(const CHARSET_INFO *cs __attribute__((unused)),
+my_lengthsp_utf16le(CHARSET_INFO *cs __attribute__((unused)),
const char *ptr, size_t length)
{
const char *end= ptr + length;
@@ -1825,6 +1755,38 @@ my_lengthsp_utf16le(const CHARSET_INFO *cs __attribute__((unused)),
}
+static MY_COLLATION_HANDLER my_collation_utf16le_general_ci_handler =
+{
+ NULL, /* init */
+ my_strnncoll_utf16le_general_ci,
+ my_strnncollsp_utf16le_general_ci,
+ my_strnxfrm_unicode,
+ my_strnxfrmlen_unicode,
+ my_like_range_generic,
+ my_wildcmp_utf16_ci,
+ my_strcasecmp_mb2_or_mb4,
+ my_instr_mb,
+ my_hash_sort_utf16,
+ my_propagate_simple
+};
+
+
+static MY_COLLATION_HANDLER my_collation_utf16le_bin_handler =
+{
+ NULL, /* init */
+ my_strnncoll_utf16le_bin,
+ my_strnncollsp_utf16le_bin,
+ my_strnxfrm_unicode_full_bin,
+ my_strnxfrmlen_unicode_full_bin,
+ my_like_range_generic,
+ my_wildcmp_utf16_bin,
+ my_strcasecmp_mb2_or_mb4,
+ my_instr_mb,
+ my_hash_sort_utf16_bin,
+ my_propagate_simple
+};
+
+
static MY_CHARSET_HANDLER my_charset_utf16le_handler=
{
NULL, /* init */
@@ -1853,7 +1815,11 @@ static MY_CHARSET_HANDLER my_charset_utf16le_handler=
my_strntod_mb2_or_mb4,
my_strtoll10_mb2,
my_strntoull10rnd_mb2_or_mb4,
- my_scan_mb2
+ my_scan_mb2,
+ my_charlen_utf16,
+ my_well_formed_char_length_utf16,
+ my_copy_fix_mb2_or_mb4,
+ my_uni_utf16le,
};
@@ -1886,7 +1852,7 @@ struct charset_info_st my_charset_utf16le_general_ci=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_utf16le_handler,
- &my_collation_utf16_general_ci_handler
+ &my_collation_utf16le_general_ci_handler
};
@@ -1919,7 +1885,7 @@ struct charset_info_st my_charset_utf16le_bin=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_utf16le_handler,
- &my_collation_utf16_bin_handler
+ &my_collation_utf16le_bin_handler
};
@@ -1928,14 +1894,50 @@ struct charset_info_st my_charset_utf16le_bin=
#ifdef HAVE_CHARSET_utf32
+/*
+ Check is b0 and b1 start a valid UTF32 four-byte sequence.
+ Don't accept characters greater than U+10FFFF.
+*/
+#define IS_UTF32_MBHEAD4(b0,b1) (!(b0) && ((uchar) (b1) <= 0x10))
+
+#define IS_MB4_CHAR(b0,b1,b2,b3) (IS_UTF32_MBHEAD4(b0,b1))
+
+#define MY_UTF32_WC4(b0,b1,b2,b3) ((((my_wc_t)b0) << 24) + (b1 << 16) + \
+ (b2 << 8) + (b3))
+
+static inline int my_weight_utf32_general_ci(uchar b0, uchar b1,
+ uchar b2, uchar b3)
+{
+ my_wc_t wc= MY_UTF32_WC4(b0, b1, b2, b3);
+ if (wc <= 0xFFFF)
+ {
+ MY_UNICASE_CHARACTER *page= my_unicase_default.page[wc >> 8];
+ return (int) (page ? page[wc & 0xFF].sort : wc);
+ }
+ return MY_CS_REPLACEMENT_CHARACTER;
+}
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf32_general_ci
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB4(b0,b1,b2,b3) my_weight_utf32_general_ci(b0, b1, b2, b3)
+#include "strcoll.ic"
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf32_bin
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB4(b0,b1,b2,b3) ((int) MY_UTF32_WC4(b0, b1, b2, b3))
+#include "strcoll.ic"
+
+#undef IS_MB2_CHAR
+#undef IS_MB4_CHAR
+
+
static int
my_utf32_uni(CHARSET_INFO *cs __attribute__((unused)),
my_wc_t *pwc, const uchar *s, const uchar *e)
{
if (s + 4 > e)
return MY_CS_TOOSMALL4;
- *pwc= (((my_wc_t) s[0]) << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]);
- return 4;
+ *pwc= MY_UTF32_WC4(s[0], s[1], s[2], s[3]);
+ return *pwc > 0x10FFFF ? MY_CS_ILSEQ : 4;
}
@@ -1945,7 +1947,10 @@ my_uni_utf32(CHARSET_INFO *cs __attribute__((unused)),
{
if (s + 4 > e)
return MY_CS_TOOSMALL4;
-
+
+ if (wc > 0x10FFFF)
+ return MY_CS_ILUNI;
+
s[0]= (uchar) (wc >> 24);
s[1]= (uchar) (wc >> 16) & 0xFF;
s[2]= (uchar) (wc >> 8) & 0xFF;
@@ -2063,151 +2068,32 @@ my_casedn_utf32(CHARSET_INFO *cs, const char *src, size_t srclen,
}
-static int
-my_strnncoll_utf32(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- my_wc_t UNINIT_VAR(s_wc),UNINIT_VAR(t_wc);
- const uchar *se= s + slen;
- const uchar *te= t + tlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
-
- while (s < se && t < te)
- {
- int s_res= my_utf32_uni(cs, &s_wc, s, se);
- int t_res= my_utf32_uni(cs, &t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare by char value */
- return my_bincmp(s, se, t, te);
- }
-
- my_tosort_utf32(uni_plane, &s_wc);
- my_tosort_utf32(uni_plane, &t_wc);
-
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t - te) : ((se - s) - (te - t)));
+static uint
+my_ismbchar_utf32(CHARSET_INFO *cs __attribute__((unused)),
+ const char *b,
+ const char *e)
+{
+ return b + 4 > e || !IS_UTF32_MBHEAD4(b[0], b[1]) ? 0 : 4;
}
-/**
- Compare strings, discarding end space
-
- If one string is shorter as the other, then we space extend the other
- so that the strings have equal length.
-
- This will ensure that the following things hold:
-
- "a" == "a "
- "a\0" < "a"
- "a\0" < "a "
-
- @param cs Character set pinter.
- @param a First string to compare.
- @param a_length Length of 'a'.
- @param b Second string to compare.
- @param b_length Length of 'b'.
-
- IMPLEMENTATION
-
- @return Comparison result.
- @retval Negative number, if a less than b.
- @retval 0, if a is equal to b
- @retval Positive number, if a > b
-*/
-
-
static int
-my_strnncollsp_utf32(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
+my_charlen_utf32(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar *b, const uchar *e)
{
- int res;
- my_wc_t UNINIT_VAR(s_wc), UNINIT_VAR(t_wc);
- const uchar *se= s + slen, *te= t + tlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
-
- DBUG_ASSERT((slen % 4) == 0);
- DBUG_ASSERT((tlen % 4) == 0);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= FALSE;
-#endif
-
- while ( s < se && t < te )
- {
- int s_res= my_utf32_uni(cs, &s_wc, s, se);
- int t_res= my_utf32_uni(cs, &t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare bytewise */
- return my_bincmp(s, se, t, te);
- }
-
- my_tosort_utf32(uni_plane, &s_wc);
- my_tosort_utf32(uni_plane, &t_wc);
-
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
-
- slen= (size_t) (se - s);
- tlen= (size_t) (te - t);
- res= 0;
-
- if (slen != tlen)
- {
- int s_res, swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 's' is bigger */
- if (slen < tlen)
- {
- slen= tlen;
- s= t;
- se= te;
- swap= -1;
- res= -res;
- }
-
- for ( ; s < se; s+= s_res)
- {
- if ((s_res= my_utf32_uni(cs, &s_wc, s, se)) < 0)
- {
- DBUG_ASSERT(0);
- return 0;
- }
- if (s_wc != ' ')
- return (s_wc < ' ') ? -swap : swap;
- }
- }
- return res;
+ return b + 4 > e ? MY_CS_TOOSMALL4 :
+ IS_UTF32_MBHEAD4(b[0], b[1]) ? 4 : MY_CS_ILSEQ;
}
-static uint
-my_ismbchar_utf32(CHARSET_INFO *cs __attribute__((unused)),
- const char *b,
- const char *e)
-{
- return b + 4 > e ? 0 : 4;
-}
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf32
+#define CHARLEN(cs,str,end) my_charlen_utf32(cs,str,end)
+#define DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+#include "ctype-mb.ic"
+#undef MY_FUNCTION_NAME
+#undef CHARLEN
+#undef DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+/* Defines my_well_formed_char_length_utf32 */
static uint
@@ -2522,8 +2408,7 @@ my_well_formed_len_utf32(CHARSET_INFO *cs __attribute__((unused)),
}
for (; b < e; b+= 4)
{
- /* Don't accept characters greater than U+10FFFF */
- if (b[0] || (uchar) b[1] > 0x10)
+ if (!IS_UTF32_MBHEAD4(b[0], b[1]))
{
*error= 1;
return b - b0;
@@ -2594,97 +2479,6 @@ my_wildcmp_utf32_bin(CHARSET_INFO *cs,
}
-static int
-my_strnncoll_utf32_bin(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- my_wc_t UNINIT_VAR(s_wc), UNINIT_VAR(t_wc);
- const uchar *se= s + slen;
- const uchar *te= t + tlen;
-
- while (s < se && t < te)
- {
- int s_res= my_utf32_uni(cs, &s_wc, s, se);
- int t_res= my_utf32_uni(cs, &t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare by char value */
- return my_bincmp(s, se, t, te);
- }
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t-te) : ((se - s) - (te - t)));
-}
-
-
-static inline my_wc_t
-my_utf32_get(const uchar *s)
-{
- return
- ((my_wc_t) s[0] << 24) +
- ((my_wc_t) s[1] << 16) +
- ((my_wc_t) s[2] << 8) +
- s[3];
-}
-
-
-static int
-my_strnncollsp_utf32_bin(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference
- __attribute__((unused)))
-{
- const uchar *se, *te;
- size_t minlen;
-
- DBUG_ASSERT((slen % 4) == 0);
- DBUG_ASSERT((tlen % 4) == 0);
-
- se= s + slen;
- te= t + tlen;
-
- for (minlen= MY_MIN(slen, tlen); minlen; minlen-= 4)
- {
- my_wc_t s_wc= my_utf32_get(s);
- my_wc_t t_wc= my_utf32_get(t);
- if (s_wc != t_wc)
- return s_wc > t_wc ? 1 : -1;
-
- s+= 4;
- t+= 4;
- }
-
- if (slen != tlen)
- {
- int swap= 1;
- if (slen < tlen)
- {
- s= t;
- se= te;
- swap= -1;
- }
-
- for ( ; s < se ; s+= 4)
- {
- my_wc_t s_wc= my_utf32_get(s);
- if (s_wc != ' ')
- return (s_wc < ' ') ? -swap : swap;
- }
- }
- return 0;
-}
-
-
static size_t
my_scan_utf32(CHARSET_INFO *cs,
const char *str, const char *end, int sequence_type)
@@ -2712,8 +2506,8 @@ my_scan_utf32(CHARSET_INFO *cs,
static MY_COLLATION_HANDLER my_collation_utf32_general_ci_handler =
{
NULL, /* init */
- my_strnncoll_utf32,
- my_strnncollsp_utf32,
+ my_strnncoll_utf32_general_ci,
+ my_strnncollsp_utf32_general_ci,
my_strnxfrm_unicode,
my_strnxfrmlen_unicode,
my_like_range_generic,
@@ -2769,7 +2563,11 @@ MY_CHARSET_HANDLER my_charset_utf32_handler=
my_strntod_mb2_or_mb4,
my_strtoll10_utf32,
my_strntoull10rnd_mb2_or_mb4,
- my_scan_utf32
+ my_scan_utf32,
+ my_charlen_utf32,
+ my_well_formed_char_length_utf32,
+ my_copy_fix_mb2_or_mb4,
+ my_uni_utf32,
};
@@ -2903,6 +2701,39 @@ static const uchar to_upper_ucs2[] = {
};
+/* Definitions for strcoll.ic */
+#define IS_MB2_CHAR(x,y) (1)
+#define UCS2_CODE(b0,b1) (((uchar) b0) << 8 | ((uchar) b1))
+
+
+static inline int my_weight_mb2_ucs2_general_ci(uchar b0, uchar b1)
+{
+ my_wc_t wc= UCS2_CODE(b0, b1);
+ MY_UNICASE_CHARACTER *page= my_unicase_default.page[wc >> 8];
+ return (int) (page ? page[wc & 0xFF].sort : wc);
+}
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _ucs2_general_ci
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB2(b0,b1) my_weight_mb2_ucs2_general_ci(b0,b1)
+#include "strcoll.ic"
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _ucs2_bin
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB2(b0,b1) UCS2_CODE(b0,b1)
+#include "strcoll.ic"
+
+
+static int
+my_charlen_ucs2(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar *s, const uchar *e)
+{
+ return s + 2 > e ? MY_CS_TOOSMALLN(2) : 2;
+}
+
+
static int my_ucs2_uni(CHARSET_INFO *cs __attribute__((unused)),
my_wc_t * pwc, const uchar *s, const uchar *e)
{
@@ -3047,120 +2878,6 @@ my_fill_ucs2(CHARSET_INFO *cs __attribute__((unused)),
}
-static int my_strnncoll_ucs2(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- int s_res,t_res;
- my_wc_t UNINIT_VAR(s_wc),UNINIT_VAR(t_wc);
- const uchar *se=s+slen;
- const uchar *te=t+tlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
-
- while ( s < se && t < te )
- {
- s_res=my_ucs2_uni(cs,&s_wc, s, se);
- t_res=my_ucs2_uni(cs,&t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare by char value */
- return ((int)s[0]-(int)t[0]);
- }
-
- my_tosort_ucs2(uni_plane, &s_wc);
- my_tosort_ucs2(uni_plane, &t_wc);
-
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+=s_res;
- t+=t_res;
- }
- return (int) (t_is_prefix ? t-te : ((se-s) - (te-t)));
-}
-
-/*
- Compare strings, discarding end space
-
- SYNOPSIS
- my_strnncollsp_ucs2()
- cs character set handler
- a First string to compare
- a_length Length of 'a'
- b Second string to compare
- b_length Length of 'b'
-
- IMPLEMENTATION
- If one string is shorter as the other, then we space extend the other
- so that the strings have equal length.
-
- This will ensure that the following things hold:
-
- "a" == "a "
- "a\0" < "a"
- "a\0" < "a "
-
- RETURN
- < 0 a < b
- = 0 a == b
- > 0 a > b
-*/
-
-static int my_strnncollsp_ucs2(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference
- __attribute__((unused)))
-{
- const uchar *se, *te;
- size_t minlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
-
- /* extra safety to make sure the lengths are even numbers */
- slen&= ~1;
- tlen&= ~1;
-
- se= s + slen;
- te= t + tlen;
-
- for (minlen= MY_MIN(slen, tlen); minlen; minlen-= 2)
- {
- int s_wc = uni_plane->page[s[0]] ? (int) uni_plane->page[s[0]][s[1]].sort :
- (((int) s[0]) << 8) + (int) s[1];
-
- int t_wc = uni_plane->page[t[0]] ? (int) uni_plane->page[t[0]][t[1]].sort :
- (((int) t[0]) << 8) + (int) t[1];
- if ( s_wc != t_wc )
- return s_wc > t_wc ? 1 : -1;
-
- s+= 2;
- t+= 2;
- }
-
- if (slen != tlen)
- {
- int swap= 1;
- if (slen < tlen)
- {
- s= t;
- se= te;
- swap= -1;
- }
-
- for ( ; s < se ; s+= 2)
- {
- if (s[0] || s[1] != ' ')
- return (s[0] == 0 && s[1] < ' ') ? -swap : swap;
- }
- }
- return 0;
-}
-
-
static uint my_ismbchar_ucs2(CHARSET_INFO *cs __attribute__((unused)),
const char *b,
const char *e)
@@ -3208,6 +2925,31 @@ size_t my_well_formed_len_ucs2(CHARSET_INFO *cs __attribute__((unused)),
}
+static size_t
+my_well_formed_char_length_ucs2(CHARSET_INFO *cs __attribute__((unused)),
+ const char *b, const char *e,
+ size_t nchars, MY_STRCOPY_STATUS *status)
+{
+ size_t length= e - b;
+ if (nchars * 2 <= length)
+ {
+ status->m_well_formed_error_pos= NULL;
+ status->m_source_end_pos= b + (nchars * 2);
+ return nchars;
+ }
+ if (length % 2)
+ {
+ status->m_well_formed_error_pos= status->m_source_end_pos= e - 1;
+ }
+ else
+ {
+ status->m_well_formed_error_pos= NULL;
+ status->m_source_end_pos= e;
+ }
+ return length / 2;
+}
+
+
static
int my_wildcmp_ucs2_ci(CHARSET_INFO *cs,
const char *str,const char *str_end,
@@ -3232,85 +2974,6 @@ int my_wildcmp_ucs2_bin(CHARSET_INFO *cs,
static
-int my_strnncoll_ucs2_bin(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- int s_res,t_res;
- my_wc_t UNINIT_VAR(s_wc),UNINIT_VAR(t_wc);
- const uchar *se=s+slen;
- const uchar *te=t+tlen;
-
- while ( s < se && t < te )
- {
- s_res=my_ucs2_uni(cs,&s_wc, s, se);
- t_res=my_ucs2_uni(cs,&t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare by char value */
- return ((int)s[0]-(int)t[0]);
- }
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+=s_res;
- t+=t_res;
- }
- return (int) (t_is_prefix ? t-te : ((se-s) - (te-t)));
-}
-
-static int my_strnncollsp_ucs2_bin(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference
- __attribute__((unused)))
-{
- const uchar *se, *te;
- size_t minlen;
-
- /* extra safety to make sure the lengths are even numbers */
- slen= (slen >> 1) << 1;
- tlen= (tlen >> 1) << 1;
-
- se= s + slen;
- te= t + tlen;
-
- for (minlen= MY_MIN(slen, tlen); minlen; minlen-= 2)
- {
- int s_wc= s[0] * 256 + s[1];
- int t_wc= t[0] * 256 + t[1];
- if ( s_wc != t_wc )
- return s_wc > t_wc ? 1 : -1;
-
- s+= 2;
- t+= 2;
- }
-
- if (slen != tlen)
- {
- int swap= 1;
- if (slen < tlen)
- {
- s= t;
- se= te;
- swap= -1;
- }
-
- for ( ; s < se ; s+= 2)
- {
- if (s[0] || s[1] != ' ')
- return (s[0] == 0 && s[1] < ' ') ? -swap : swap;
- }
- }
- return 0;
-}
-
-
-static
void my_hash_sort_ucs2_bin(CHARSET_INFO *cs __attribute__((unused)),
const uchar *key, size_t len,ulong *nr1, ulong *nr2)
{
@@ -3332,8 +2995,8 @@ void my_hash_sort_ucs2_bin(CHARSET_INFO *cs __attribute__((unused)),
static MY_COLLATION_HANDLER my_collation_ucs2_general_ci_handler =
{
NULL, /* init */
- my_strnncoll_ucs2,
- my_strnncollsp_ucs2,
+ my_strnncoll_ucs2_general_ci,
+ my_strnncollsp_ucs2_general_ci,
my_strnxfrm_unicode,
my_strnxfrmlen_unicode,
my_like_range_generic,
@@ -3389,7 +3052,11 @@ MY_CHARSET_HANDLER my_charset_ucs2_handler=
my_strntod_mb2_or_mb4,
my_strtoll10_mb2,
my_strntoull10rnd_mb2_or_mb4,
- my_scan_mb2
+ my_scan_mb2,
+ my_charlen_ucs2,
+ my_well_formed_char_length_ucs2,
+ my_copy_fix_mb2_or_mb4,
+ my_uni_ucs2,
};
diff --git a/strings/ctype-ujis.c b/strings/ctype-ujis.c
index 25f8881d819..5f8088847b6 100644
--- a/strings/ctype-ujis.c
+++ b/strings/ctype-ujis.c
@@ -179,10 +179,44 @@ static const uchar sort_order_ujis[]=
};
-#define isujis(c) ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xfe))
-#define iskata(c) ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xdf))
-#define isujis_ss2(c) (((c)&0xff) == 0x8e)
-#define isujis_ss3(c) (((c)&0xff) == 0x8f)
+/*
+ EUC-JP encoding subcomponents:
+ [x00-x7F] # ASCII/JIS-Roman (one-byte/character)
+ [x8E][xA1-xDF] # half-width katakana (two bytes/char)
+ [x8F][xA1-xFE][xA1-xFE] # JIS X 0212-1990 (three bytes/char)
+ [xA1-xFE][xA1-xFE] # JIS X 0208:1997 (two bytes/char)
+*/
+
+#define isujis(c) (0xa1 <= (uchar) (c) && (uchar) (c) <= 0xfe)
+#define iskata(c) (0xa1 <= (uchar) (c) && (uchar) (c) <= 0xdf)
+#define isujis_ss2(c) ((uchar) (c) == 0x8e)
+#define isujis_ss3(c) ((uchar) (c) == 0x8f)
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _ujis
+#define IS_MB1_CHAR(x) ((uchar) (x) < 0x80)
+#define IS_MB2_JIS(x,y) (isujis(x) && isujis(y))
+#define IS_MB2_KATA(x,y) (isujis_ss2(x) && iskata(y))
+#define IS_MB2_CHAR(x, y) (IS_MB2_KATA(x,y) || IS_MB2_JIS(x,y))
+#define IS_MB3_CHAR(x, y, z) (isujis_ss3(x) && IS_MB2_JIS(y,z))
+#define DEFINE_ASIAN_ROUTINES
+#include "ctype-mb.ic"
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _ujis_japanese_ci
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB1(x) ((int) sort_order_ujis[(uchar) (x)])
+#define WEIGHT_MB2(x,y) ((((uint) (uchar)(x)) << 16) | \
+ (((uint) (uchar) (y)) << 8))
+#define WEIGHT_MB3(x,y,z) (WEIGHT_MB2(x,y) | ((uint) (uchar) z))
+#include "strcoll.ic"
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _ujis_bin
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB1(x) ((int) (uchar) (x))
+#define WEIGHT_MB2(x,y) ((((uint) (uchar)(x)) << 16) | \
+ (((uint) (uchar) (y)) << 8))
+#define WEIGHT_MB3(x,y,z) (WEIGHT_MB2(x,y) | ((uint) (uchar) z))
+#include "strcoll.ic"
static uint ismbchar_ujis(CHARSET_INFO *cs __attribute__((unused)),
@@ -201,63 +235,6 @@ static uint mbcharlen_ujis(CHARSET_INFO *cs __attribute__((unused)),uint c)
}
-/*
- EUC-JP encoding subcomponents:
- [x00-x7F] # ASCII/JIS-Roman (one-byte/character)
- [x8E][xA1-xDF] # half-width katakana (two bytes/char)
- [x8F][xA1-xFE][xA1-xFE] # JIS X 0212-1990 (three bytes/char)
- [xA1-xFE][xA1-xFE] # JIS X 0208:1997 (two bytes/char)
-*/
-
-static
-size_t my_well_formed_len_ujis(CHARSET_INFO *cs __attribute__((unused)),
- const char *beg, const char *end,
- size_t pos, int *error)
-{
- const uchar *b= (uchar *) beg;
-
- for ( *error= 0 ; pos && b < (uchar*) end; pos--, b++)
- {
- char *chbeg;
- uint ch= *b;
-
- if (ch <= 0x7F) /* one byte */
- continue;
-
- chbeg= (char *) b++;
- if (b >= (uchar *) end) /* need more bytes */
- {
- *error= 1;
- return (size_t) (chbeg - beg); /* unexpected EOL */
- }
-
- if (isujis_ss2(ch)) /* [x8E][xA1-xDF] */
- {
- if (iskata(*b))
- continue;
- *error= 1;
- return (size_t) (chbeg - beg); /* invalid sequence */
- }
-
- if (isujis_ss3(ch)) /* [x8F][xA1-xFE][xA1-xFE] */
- {
- ch= *b++;
- if (b >= (uchar*) end)
- {
- *error= 1;
- return (size_t) (chbeg - beg); /* unexpected EOL */
- }
- }
-
- if (isujis(ch) && isujis(*b)) /* [xA1-xFE][xA1-xFE] */
- continue;
- *error= 1;
- return (size_t) (chbeg - beg); /* invalid sequence */
- }
- return (size_t) (b - (uchar *) beg);
-}
-
-
static
size_t my_numcells_eucjp(CHARSET_INFO *cs __attribute__((unused)),
const char *str, const char *str_end)
@@ -67252,11 +67229,11 @@ my_caseup_ujis(CHARSET_INFO * cs, const char *src, size_t srclen,
#ifdef HAVE_CHARSET_ujis
-static MY_COLLATION_HANDLER my_collation_ci_handler =
+static MY_COLLATION_HANDLER my_collation_ujis_japanese_ci_handler =
{
NULL, /* init */
- my_strnncoll_simple,/* strnncoll */
- my_strnncollsp_simple,
+ my_strnncoll_ujis_japanese_ci,
+ my_strnncollsp_ujis_japanese_ci,
my_strnxfrm_mb, /* strnxfrm */
my_strnxfrmlen_simple,
my_like_range_mb, /* like_range */
@@ -67267,6 +67244,23 @@ static MY_COLLATION_HANDLER my_collation_ci_handler =
my_propagate_simple
};
+
+static MY_COLLATION_HANDLER my_collation_ujis_bin_handler =
+{
+ NULL, /* init */
+ my_strnncoll_ujis_bin,
+ my_strnncollsp_ujis_bin,
+ my_strnxfrm_mb,
+ my_strnxfrmlen_simple,
+ my_like_range_mb,
+ my_wildcmp_mb_bin,
+ my_strcasecmp_mb_bin,
+ my_instr_mb,
+ my_hash_sort_mb_bin,
+ my_propagate_simple
+};
+
+
static MY_CHARSET_HANDLER my_charset_handler=
{
NULL, /* init */
@@ -67295,7 +67289,11 @@ static MY_CHARSET_HANDLER my_charset_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_ujis,
+ my_well_formed_char_length_ujis,
+ my_copy_fix_mb,
+ my_native_to_mb_ujis,
};
@@ -67329,7 +67327,7 @@ struct charset_info_st my_charset_ujis_japanese_ci=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_ci_handler
+ &my_collation_ujis_japanese_ci_handler
};
@@ -67362,7 +67360,7 @@ struct charset_info_st my_charset_ujis_bin=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_handler,
- &my_collation_mb_bin_handler
+ &my_collation_ujis_bin_handler
};
diff --git a/strings/ctype-utf8.c b/strings/ctype-utf8.c
index 3cb832c5414..efd862f5a1c 100644
--- a/strings/ctype-utf8.c
+++ b/strings/ctype-utf8.c
@@ -26,8 +26,86 @@
#define EILSEQ ENOENT
#endif
-#define IS_CONTINUATION_BYTE(c) (((c) ^ 0x80) < 0x40)
+/* Detect special bytes and sequences */
+#define IS_CONTINUATION_BYTE(c) (((uchar) (c) ^ 0x80) < 0x40)
+/*
+ Check MB2 character assuming that b0 is alredy known to be >= 0xC2.
+ Use this macro if the caller already checked b0 for:
+ - an MB1 character
+ - an unused gap between MB1 and MB2HEAD
+*/
+#define IS_UTF8MB2_STEP2(b0,b1) (((uchar) (b0) < 0xE0) && \
+ IS_CONTINUATION_BYTE((uchar) b1))
+
+/*
+ Check MB3 character assuming that b0 is already known to be
+ in the valid MB3HEAD range [0xE0..0xEF].
+*/
+#define IS_UTF8MB3_STEP2(b0,b1,b2) (IS_CONTINUATION_BYTE(b1) && \
+ IS_CONTINUATION_BYTE(b2) && \
+ ((uchar) b0 >= 0xe1 || (uchar) b1 >= 0xa0))
+
+/*
+ Check MB3 character assuming that b0 is already known to be >= 0xE0,
+ but is not checked for the high end 0xF0 yet.
+ Use this macro if the caller already checked b0 for:
+ - an MB1 character
+ - an unused gap between MB1 and MB2HEAD
+ - an MB2HEAD
+*/
+#define IS_UTF8MB3_STEP3(b0,b1,b2) (((uchar) (b0) < 0xF0) && \
+ IS_UTF8MB3_STEP2(b0,b1,b2))
+
+/*
+ UTF-8 quick four-byte mask:
+ 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+ Encoding allows to encode U+00010000..U+001FFFFF
+
+ The maximum character defined in the Unicode standard is U+0010FFFF.
+ Higher characters U+00110000..U+001FFFFF are not used.
+
+ 11110000.10010000.10xxxxxx.10xxxxxx == F0.90.80.80 == U+00010000 (min)
+ 11110100.10001111.10111111.10111111 == F4.8F.BF.BF == U+0010FFFF (max)
+
+ Valid codes:
+ [F0][90..BF][80..BF][80..BF]
+ [F1][80..BF][80..BF][80..BF]
+ [F2][80..BF][80..BF][80..BF]
+ [F3][80..BF][80..BF][80..BF]
+ [F4][80..8F][80..BF][80..BF]
+*/
+
+/*
+ Check MB4 character assuming that b0 is already
+ known to be in the range [0xF0..0xF4]
+*/
+#define IS_UTF8MB4_STEP2(b0,b1,b2,b3) (IS_CONTINUATION_BYTE(b1) && \
+ IS_CONTINUATION_BYTE(b2) && \
+ IS_CONTINUATION_BYTE(b3) && \
+ (b0 >= 0xf1 || b1 >= 0x90) && \
+ (b0 <= 0xf3 || b1 <= 0x8F))
+#define IS_UTF8MB4_STEP3(b0,b1,b2,b3) (((uchar) (b0) < 0xF5) && \
+ IS_UTF8MB4_STEP2(b0,b1,b2,b3))
+
+/* Convert individual bytes to Unicode code points */
+#define UTF8MB2_CODE(b0,b1) (((my_wc_t) ((uchar) b0 & 0x1f) << 6) |\
+ ((my_wc_t) ((uchar) b1 ^ 0x80)))
+#define UTF8MB3_CODE(b0,b1,b2) (((my_wc_t) ((uchar) b0 & 0x0f) << 12) |\
+ ((my_wc_t) ((uchar) b1 ^ 0x80) << 6) |\
+ ((my_wc_t) ((uchar) b2 ^ 0x80)))
+#define UTF8MB4_CODE(b0,b1,b2,b3) (((my_wc_t) ((uchar) b0 & 0x07) << 18) |\
+ ((my_wc_t) ((uchar) b1 ^ 0x80) << 12) |\
+ ((my_wc_t) ((uchar) b2 ^ 0x80) << 6) |\
+ (my_wc_t) ((uchar) b3 ^ 0x80))
+
+/* Definitions for strcoll.ic */
+#define IS_MB1_CHAR(x) ((uchar) (x) < 0x80)
+#define IS_MB1_MBHEAD_UNUSED_GAP(x) ((uchar) (x) < 0xC2)
+#define IS_MB2_CHAR(x,y) IS_UTF8MB2_STEP2(x,y)
+#define IS_MB3_CHAR(x,y,z) IS_UTF8MB3_STEP3(x,y,z)
+
+/* Collation names */
#define MY_UTF8MB3_GENERAL_CI MY_UTF8MB3 "_general_ci"
#define MY_UTF8MB3_GENERAL_CS MY_UTF8MB3 "_general_cs"
#define MY_UTF8MB3_BIN MY_UTF8MB3 "_bin"
@@ -88,8 +166,7 @@ int my_valid_mbcharlen_utf8mb3(const uchar *s, const uchar *e)
if (s+3 > e) /* We need 3 characters */
return MY_CS_TOOSMALL3;
- if (!(IS_CONTINUATION_BYTE(s[1]) && IS_CONTINUATION_BYTE(s[2]) &&
- (c >= 0xe1 || s[1] >= 0xa0)))
+ if (!IS_UTF8MB3_STEP2(c, s[1], s[2]))
return MY_CS_ILSEQ;
return 3;
@@ -4625,14 +4702,13 @@ my_strnxfrm_unicode(CHARSET_INFO *cs,
uchar *dst, size_t dstlen, uint nweights,
const uchar *src, size_t srclen, uint flags)
{
- my_wc_t wc;
+ my_wc_t UNINIT_VAR(wc);
int res;
uchar *dst0= dst;
uchar *de= dst + dstlen;
const uchar *se= src + srclen;
MY_UNICASE_INFO *uni_plane= (cs->state & MY_CS_BINSORT) ?
NULL : cs->caseinfo;
- LINT_INIT(wc);
DBUG_ASSERT(!srclen || src);
for (; dst < de && nweights; nweights--)
@@ -4679,12 +4755,11 @@ my_strnxfrm_unicode_full_bin(CHARSET_INFO *cs,
uchar *dst, size_t dstlen, uint nweights,
const uchar *src, size_t srclen, uint flags)
{
- my_wc_t wc;
+ my_wc_t UNINIT_VAR(wc);
uchar *dst0= dst;
uchar *de= dst + dstlen;
const uchar *se = src + srclen;
- LINT_INIT(wc);
DBUG_ASSERT(!srclen || src);
DBUG_ASSERT(cs->state & MY_CS_BINSORT);
@@ -4846,7 +4921,7 @@ static int my_utf8_uni(CHARSET_INFO *cs __attribute__((unused)),
if (!(IS_CONTINUATION_BYTE(s[1])))
return MY_CS_ILSEQ;
- *pwc = ((my_wc_t) (c & 0x1f) << 6) | (my_wc_t) (s[1] ^ 0x80);
+ *pwc= UTF8MB2_CODE(c, s[1]);
return 2;
}
else if (c < 0xf0)
@@ -4854,76 +4929,12 @@ static int my_utf8_uni(CHARSET_INFO *cs __attribute__((unused)),
if (s+3 > e) /* We need 3 characters */
return MY_CS_TOOSMALL3;
- if (!(IS_CONTINUATION_BYTE(s[1]) && IS_CONTINUATION_BYTE(s[2]) &&
- (c >= 0xe1 || s[1] >= 0xa0)))
+ if (!IS_UTF8MB3_STEP2(c, s[1], s[2]))
return MY_CS_ILSEQ;
- *pwc = ((my_wc_t) (c & 0x0f) << 12) |
- ((my_wc_t) (s[1] ^ 0x80) << 6) |
- (my_wc_t) (s[2] ^ 0x80);
-
+ *pwc= UTF8MB3_CODE(c, s[1], s[2]);
return 3;
}
-#ifdef UNICODE_32BIT
- else if (c < 0xf8 && sizeof(my_wc_t)*8 >= 32)
- {
- if (s+4 > e) /* We need 4 characters */
- return MY_CS_TOOSMALL4;
-
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- IS_CONTINUATION_BYTE(s[3]) &&
- (c >= 0xf1 || s[1] >= 0x90)))
- return MY_CS_ILSEQ;
-
- *pwc = ((my_wc_t) (c & 0x07) << 18) |
- ((my_wc_t) (s[1] ^ 0x80) << 12) |
- ((my_wc_t) (s[2] ^ 0x80) << 6) |
- (my_wc_t) (s[3] ^ 0x80);
-
- return 4;
- }
- else if (c < 0xfc && sizeof(my_wc_t)*8 >= 32)
- {
- if (s+5 >e) /* We need 5 characters */
- return MY_CS_TOOSMALL5;
-
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- IS_CONTINUATION_BYTE(s[3]) &&
- IS_CONTINUATION_BYTE(s[4]) &&
- (c >= 0xf9 || s[1] >= 0x88)))
- return MY_CS_ILSEQ;
-
- *pwc = ((my_wc_t) (c & 0x03) << 24) |
- ((my_wc_t) (s[1] ^ 0x80) << 18) |
- ((my_wc_t) (s[2] ^ 0x80) << 12) |
- ((my_wc_t) (s[3] ^ 0x80) << 6) |
- (my_wc_t) (s[4] ^ 0x80);
- return 5;
- }
- else if (c < 0xfe && sizeof(my_wc_t)*8 >= 32)
- {
- if ( s+6 >e ) /* We need 6 characters */
- return MY_CS_TOOSMALL6;
-
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- IS_CONTINUATION_BYTE(s[3]) &&
- IS_CONTINUATION_BYTE(s[4]) &&
- IS_CONTINUATION_BYTE(s[5]) &&
- (c >= 0xfd || s[1] >= 0x84)))
- return MY_CS_ILSEQ;
-
- *pwc = ((my_wc_t) (c & 0x01) << 30)
- | ((my_wc_t) (s[1] ^ 0x80) << 24)
- | ((my_wc_t) (s[2] ^ 0x80) << 18)
- | ((my_wc_t) (s[3] ^ 0x80) << 12)
- | ((my_wc_t) (s[4] ^ 0x80) << 6)
- | (my_wc_t) (s[5] ^ 0x80);
- return 6;
- }
-#endif
return MY_CS_ILSEQ;
}
@@ -4952,21 +4963,16 @@ static int my_utf8_uni_no_range(CHARSET_INFO *cs __attribute__((unused)),
if (!((s[1] ^ 0x80) < 0x40))
return MY_CS_ILSEQ;
- *pwc = ((my_wc_t) (c & 0x1f) << 6) | (my_wc_t) (s[1] ^ 0x80);
+ *pwc= UTF8MB2_CODE(c, s[1]);
return 2;
}
if (c < 0xf0)
{
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- (c >= 0xe1 || s[1] >= 0xa0)))
+ if (!IS_UTF8MB3_STEP2(c, s[1], s[2]))
return MY_CS_ILSEQ;
- *pwc= ((my_wc_t) (c & 0x0f) << 12) |
- ((my_wc_t) (s[1] ^ 0x80) << 6) |
- (my_wc_t) (s[2] ^ 0x80);
-
+ *pwc= UTF8MB3_CODE(c, s[1], s[2]);
return 3;
}
return MY_CS_ILSEQ;
@@ -5194,148 +5200,6 @@ static size_t my_casedn_str_utf8(CHARSET_INFO *cs, char *src)
}
-static int my_strnncoll_utf8(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- int s_res,t_res;
- my_wc_t UNINIT_VAR(s_wc), UNINIT_VAR(t_wc);
- const uchar *se=s+slen;
- const uchar *te=t+tlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
-
- while ( s < se && t < te )
- {
- s_res=my_utf8_uni(cs,&s_wc, s, se);
- t_res=my_utf8_uni(cs,&t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare byte by byte value */
- return bincmp(s, se, t, te);
- }
-
- my_tosort_unicode(uni_plane, &s_wc, cs->state);
- my_tosort_unicode(uni_plane, &t_wc, cs->state);
-
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+=s_res;
- t+=t_res;
- }
- return (int) (t_is_prefix ? t-te : ((se-s) - (te-t)));
-}
-
-
-
-/*
- Compare strings, discarding end space
-
- SYNOPSIS
- my_strnncollsp_utf8()
- cs character set handler
- a First string to compare
- a_length Length of 'a'
- b Second string to compare
- b_length Length of 'b'
- diff_if_only_endspace_difference
- Set to 1 if the strings should be regarded as different
- if they only difference in end space
-
- IMPLEMENTATION
- If one string is shorter as the other, then we space extend the other
- so that the strings have equal length.
-
- This will ensure that the following things hold:
-
- "a" == "a "
- "a\0" < "a"
- "a\0" < "a "
-
- RETURN
- < 0 a < b
- = 0 a == b
- > 0 a > b
-*/
-
-static int my_strnncollsp_utf8(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
-{
- int s_res, t_res, res;
- my_wc_t UNINIT_VAR(s_wc), UNINIT_VAR(t_wc);
- const uchar *se= s+slen, *te= t+tlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= 0;
-#endif
-
- while ( s < se && t < te )
- {
- s_res=my_utf8_uni(cs,&s_wc, s, se);
- t_res=my_utf8_uni(cs,&t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare byte by byte value */
- return bincmp(s, se, t, te);
- }
-
- my_tosort_unicode(uni_plane, &s_wc, cs->state);
- my_tosort_unicode(uni_plane, &t_wc, cs->state);
-
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+=s_res;
- t+=t_res;
- }
-
- slen= (size_t) (se-s);
- tlen= (size_t) (te-t);
- res= 0;
-
- if (slen != tlen)
- {
- int swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 'a' is bigger */
- if (slen < tlen)
- {
- slen= tlen;
- s= t;
- se= te;
- swap= -1;
- res= -res;
- }
- /*
- This following loop uses the fact that in UTF-8
- all multibyte characters are greater than space,
- and all multibyte head characters are greater than
- space. It means if we meet a character greater
- than space, it always means that the longer string
- is greater. So we can reuse the same loop from the
- 8bit version, without having to process full multibute
- sequences.
- */
- for ( ; s < se; s++)
- {
- if (*s != ' ')
- return (*s < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
/*
Compare 0-terminated UTF8 strings.
@@ -5445,8 +5309,8 @@ int my_wildcmp_utf8(CHARSET_INFO *cs,
static
-int my_valid_mbcharlen_utf8(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *s, const uchar *e)
+int my_charlen_utf8(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar *s, const uchar *e)
{
uchar c;
@@ -5457,50 +5321,6 @@ int my_valid_mbcharlen_utf8(CHARSET_INFO *cs __attribute__((unused)),
if (c < 0xf0)
return my_valid_mbcharlen_utf8mb3(s, e);
-#ifdef UNICODE_32BIT
- if (c < 0xf8 && sizeof(my_wc_t)*8 >= 32)
- {
- if (s+4 > e) /* We need 4 characters */
- return MY_CS_TOOSMALL4;
-
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- IS_CONTINUATION_BYTE(s[3]) &&
- (c >= 0xf1 || s[1] >= 0x90)))
- return MY_CS_ILSEQ;
-
- return 4;
- }
- if (c < 0xfc && sizeof(my_wc_t)*8 >= 32)
- {
- if (s+5 >e) /* We need 5 characters */
- return MY_CS_TOOSMALL5;
-
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- IS_CONTINUATION_BYTE(s[3]) &&
- IS_CONTINUATION_BYTE(s[4]) &&
- (c >= 0xf9 || s[1] >= 0x88)))
- return MY_CS_ILSEQ;
-
- return 5;
- }
- if (c < 0xfe && sizeof(my_wc_t)*8 >= 32)
- {
- if ( s+6 >e ) /* We need 6 characters */
- return MY_CS_TOOSMALL6;
-
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- IS_CONTINUATION_BYTE(s[3]) &&
- IS_CONTINUATION_BYTE(s[4]) &&
- IS_CONTINUATION_BYTE(s[5]) &&
- (c >= 0xfd || s[1] >= 0x84)))
- return MY_CS_ILSEQ;
-
- return 6;
- }
-#endif
return MY_CS_ILSEQ;
}
@@ -5514,7 +5334,7 @@ my_well_formed_len_utf8(CHARSET_INFO *cs, const char *b, const char *e,
{
int mb_len;
- if ((mb_len= my_valid_mbcharlen_utf8(cs, (uchar*) b, (uchar*) e)) <= 0)
+ if ((mb_len= my_charlen_utf8(cs, (uchar*) b, (uchar*) e)) <= 0)
{
*error= b < e ? 1 : 0;
break;
@@ -5525,9 +5345,89 @@ my_well_formed_len_utf8(CHARSET_INFO *cs, const char *b, const char *e,
return (size_t) (b - b_start);
}
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf8
+#define CHARLEN(cs,str,end) my_charlen_utf8(cs,str,end)
+#define DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+#include "ctype-mb.ic"
+#undef MY_FUNCTION_NAME
+#undef CHARLEN
+#undef DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+/* my_well_formed_char_length_utf8 */
+
+
+static inline int my_weight_mb1_utf8_general_ci(uchar b)
+{
+ return (int) plane00[b & 0xFF].sort;
+}
+
+
+static inline int my_weight_mb2_utf8_general_ci(uchar b0, uchar b1)
+{
+ my_wc_t wc= UTF8MB2_CODE(b0, b1);
+ MY_UNICASE_CHARACTER *page= my_unicase_pages_default[wc >> 8];
+ return (int) (page ? page[wc & 0xFF].sort : wc);
+}
+
+
+static inline int my_weight_mb3_utf8_general_ci(uchar b0, uchar b1, uchar b2)
+{
+ my_wc_t wc= UTF8MB3_CODE(b0, b1, b2);
+ MY_UNICASE_CHARACTER *page= my_unicase_pages_default[wc >> 8];
+ return (int) (page ? page[wc & 0xFF].sort : wc);
+}
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf8_general_ci
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB1(x) my_weight_mb1_utf8_general_ci(x)
+#define WEIGHT_MB2(x,y) my_weight_mb2_utf8_general_ci(x,y)
+#define WEIGHT_MB3(x,y,z) my_weight_mb3_utf8_general_ci(x,y,z)
+#include "strcoll.ic"
+
+
+static inline int my_weight_mb1_utf8_general_mysql500_ci(uchar b)
+{
+ return (int) plane00_mysql500[b & 0xFF].sort;
+}
+
+
+static inline int my_weight_mb2_utf8_general_mysql500_ci(uchar b0, uchar b1)
+{
+ my_wc_t wc= UTF8MB2_CODE(b0, b1);
+ MY_UNICASE_CHARACTER *page= my_unicase_pages_mysql500[wc >> 8];
+ return (int) (page ? page[wc & 0xFF].sort : wc);
+}
+
+
+static inline int
+my_weight_mb3_utf8_general_mysql500_ci(uchar b0, uchar b1, uchar b2)
+{
+ my_wc_t wc= UTF8MB3_CODE(b0, b1, b2);
+ MY_UNICASE_CHARACTER *page= my_unicase_pages_mysql500[wc >> 8];
+ return (int) (page ? page[wc & 0xFF].sort : wc);
+}
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf8_general_mysql500_ci
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB1(x) my_weight_mb1_utf8_general_mysql500_ci(x)
+#define WEIGHT_MB2(x,y) my_weight_mb2_utf8_general_mysql500_ci(x,y)
+#define WEIGHT_MB3(x,y,z) my_weight_mb3_utf8_general_mysql500_ci(x,y,z)
+#include "strcoll.ic"
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf8_bin
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB1(x) ((int) (uchar) (x))
+#define WEIGHT_MB2(x,y) ((int) UTF8MB2_CODE(x,y))
+#define WEIGHT_MB3(x,y,z) ((int) UTF8MB3_CODE(x,y,z))
+#include "strcoll.ic"
+
+
static uint my_ismbchar_utf8(CHARSET_INFO *cs,const char *b, const char *e)
{
- int res= my_valid_mbcharlen_utf8(cs, (const uchar*)b, (const uchar*)e);
+ int res= my_charlen_utf8(cs, (const uchar*) b, (const uchar*) e);
return (res>1) ? res : 0;
}
@@ -5542,23 +5442,63 @@ static uint my_mbcharlen_utf8(CHARSET_INFO *cs __attribute__((unused)),
return 2;
else if (c < 0xf0)
return 3;
-#ifdef UNICODE_32BIT
- else if (c < 0xf8)
- return 4;
- else if (c < 0xfc)
- return 5;
- else if (c < 0xfe)
- return 6;
-#endif
return 0; /* Illegal mb head */;
}
+/*
+ TODO-10.2: join this with pad_max_char() in ctype-mb.c
+*/
+static void
+my_fill_utf8_mb(CHARSET_INFO *cs, char *str, size_t length, int fill)
+{
+ char *end= str + length;
+ char buf[10];
+ char buflen= cs->cset->native_to_mb(cs, (my_wc_t) fill, (uchar*) buf,
+ (uchar*) buf + sizeof(buf));
+ DBUG_ASSERT(buflen > 0);
+ for ( ; str + buflen <= end ; )
+ {
+ memcpy(str, buf, buflen);
+ str+= buflen;
+ }
+
+ for ( ; str < end; )
+ *str++= ' ';
+}
+
+
+static void
+my_fill_utf8(CHARSET_INFO *cs, char *str, size_t length, int fill)
+{
+ if (fill < 0x80)
+ my_fill_8bit(cs, str, length, fill);
+ else
+ my_fill_utf8_mb(cs, str, length, fill);
+}
+
+
static MY_COLLATION_HANDLER my_collation_utf8_general_ci_handler =
{
NULL, /* init */
- my_strnncoll_utf8,
- my_strnncollsp_utf8,
+ my_strnncoll_utf8_general_ci,
+ my_strnncollsp_utf8_general_ci,
+ my_strnxfrm_unicode,
+ my_strnxfrmlen_unicode,
+ my_like_range_mb,
+ my_wildcmp_utf8,
+ my_strcasecmp_utf8,
+ my_instr_mb,
+ my_hash_sort_utf8,
+ my_propagate_complex
+};
+
+
+static MY_COLLATION_HANDLER my_collation_utf8_general_mysql500_ci_handler =
+{
+ NULL, /* init */
+ my_strnncoll_utf8_general_mysql500_ci,
+ my_strnncollsp_utf8_general_mysql500_ci,
my_strnxfrm_unicode,
my_strnxfrmlen_unicode,
my_like_range_mb,
@@ -5573,8 +5513,8 @@ static MY_COLLATION_HANDLER my_collation_utf8_general_ci_handler =
static MY_COLLATION_HANDLER my_collation_utf8_bin_handler =
{
NULL, /* init */
- my_strnncoll_mb_bin,
- my_strnncollsp_mb_bin,
+ my_strnncoll_utf8_bin,
+ my_strnncollsp_utf8_bin,
my_strnxfrm_unicode,
my_strnxfrmlen_unicode,
my_like_range_mb,
@@ -5605,7 +5545,7 @@ MY_CHARSET_HANDLER my_charset_utf8_handler=
my_snprintf_8bit,
my_long10_to_str_8bit,
my_longlong10_to_str_8bit,
- my_fill_8bit,
+ my_fill_utf8,
my_strntol_8bit,
my_strntoul_8bit,
my_strntoll_8bit,
@@ -5613,7 +5553,11 @@ MY_CHARSET_HANDLER my_charset_utf8_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_utf8,
+ my_well_formed_char_length_utf8,
+ my_copy_fix_mb,
+ my_uni_utf8,
};
@@ -5680,7 +5624,7 @@ struct charset_info_st my_charset_utf8_general_mysql500_ci=
0, /* escape_with_backslash_is_dangerous */
1, /* levels_for_order */
&my_charset_utf8_handler,
- &my_collation_utf8_general_ci_handler
+ &my_collation_utf8_general_mysql500_ci_handler
};
@@ -7085,7 +7029,7 @@ my_wc_mb_filename(CHARSET_INFO *cs __attribute__((unused)),
my_wc_t wc, uchar *s, uchar *e)
{
int code;
- char hex[]= "0123456789abcdef";
+ static const char hex[]= "0123456789abcdef";
if (s >= e)
return MY_CS_TOOSMALL;
@@ -7123,11 +7067,38 @@ my_wc_mb_filename(CHARSET_INFO *cs __attribute__((unused)),
}
+static int
+my_charlen_filename(CHARSET_INFO *cs, const uchar *str, const uchar *end)
+{
+ my_wc_t wc;
+ return cs->cset->mb_wc(cs, &wc, str, end);
+}
+
+
+static uint
+my_ismbchar_filename(CHARSET_INFO *cs, const char *str, const char *end)
+{
+ my_wc_t wc;
+ int rc= my_mb_wc_filename(cs, &wc, (const uchar *) str, (const uchar *) end);
+ return rc > 1 ? rc : 0;
+}
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _filename
+#define CHARLEN(cs,str,end) my_charlen_filename(cs,str,end)
+#define DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+#include "ctype-mb.ic"
+#undef MY_FUNCTION_NAME
+#undef CHARLEN
+#undef DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+/* my_well_formed_char_length_filename */
+
+
static MY_COLLATION_HANDLER my_collation_filename_handler =
{
NULL, /* init */
- my_strnncoll_utf8,
- my_strnncollsp_utf8,
+ my_strnncoll_simple,
+ my_strnncollsp_simple,
my_strnxfrm_unicode,
my_strnxfrmlen_unicode,
my_like_range_mb,
@@ -7141,7 +7112,7 @@ static MY_COLLATION_HANDLER my_collation_filename_handler =
static MY_CHARSET_HANDLER my_charset_filename_handler=
{
NULL, /* init */
- my_ismbchar_utf8,
+ my_ismbchar_filename,
my_mbcharlen_utf8,
my_numchars_mb,
my_charpos_mb,
@@ -7166,7 +7137,11 @@ static MY_CHARSET_HANDLER my_charset_filename_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_filename,
+ my_well_formed_char_length_filename,
+ my_copy_fix_mb,
+ my_wc_mb_filename,
};
@@ -7367,7 +7342,7 @@ my_mb_wc_utf8mb4(CHARSET_INFO *cs __attribute__((unused)),
if (!(IS_CONTINUATION_BYTE(s[1])))
return MY_CS_ILSEQ;
- *pwc= ((my_wc_t) (c & 0x1f) << 6) | (my_wc_t) (s[1] ^ 0x80);
+ *pwc= UTF8MB2_CODE(c, s[1]);
return 2;
}
else if (c < 0xf0)
@@ -7375,13 +7350,10 @@ my_mb_wc_utf8mb4(CHARSET_INFO *cs __attribute__((unused)),
if (s + 3 > e) /* We need 3 characters */
return MY_CS_TOOSMALL3;
- if (!(IS_CONTINUATION_BYTE(s[1]) && IS_CONTINUATION_BYTE(s[2]) &&
- (c >= 0xe1 || s[1] >= 0xa0)))
+ if (!IS_UTF8MB3_STEP2(c, s[1], s[2]))
return MY_CS_ILSEQ;
- *pwc= ((my_wc_t) (c & 0x0f) << 12) |
- ((my_wc_t) (s[1] ^ 0x80) << 6) |
- (my_wc_t) (s[2] ^ 0x80);
+ *pwc= UTF8MB3_CODE(c, s[1], s[2]);
return 3;
}
else if (c < 0xf5)
@@ -7389,35 +7361,9 @@ my_mb_wc_utf8mb4(CHARSET_INFO *cs __attribute__((unused)),
if (s + 4 > e) /* We need 4 characters */
return MY_CS_TOOSMALL4;
- /*
- UTF-8 quick four-byte mask:
- 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
- Encoding allows to encode U+00010000..U+001FFFFF
-
- The maximum character defined in the Unicode standard is U+0010FFFF.
- Higher characters U+00110000..U+001FFFFF are not used.
-
- 11110000.10010000.10xxxxxx.10xxxxxx == F0.90.80.80 == U+00010000 (min)
- 11110100.10001111.10111111.10111111 == F4.8F.BF.BF == U+0010FFFF (max)
-
- Valid codes:
- [F0][90..BF][80..BF][80..BF]
- [F1][80..BF][80..BF][80..BF]
- [F2][80..BF][80..BF][80..BF]
- [F3][80..BF][80..BF][80..BF]
- [F4][80..8F][80..BF][80..BF]
- */
-
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- IS_CONTINUATION_BYTE(s[3]) &&
- (c >= 0xf1 || s[1] >= 0x90) &&
- (c <= 0xf3 || s[1] <= 0x8F)))
+ if (!IS_UTF8MB4_STEP2(c, s[1], s[2], s[3]))
return MY_CS_ILSEQ;
- *pwc = ((my_wc_t) (c & 0x07) << 18) |
- ((my_wc_t) (s[1] ^ 0x80) << 12) |
- ((my_wc_t) (s[2] ^ 0x80) << 6) |
- (my_wc_t) (s[3] ^ 0x80);
+ *pwc= UTF8MB4_CODE(c, s[1], s[2], s[3]);
return 4;
}
return MY_CS_ILSEQ;
@@ -7449,34 +7395,22 @@ my_mb_wc_utf8mb4_no_range(CHARSET_INFO *cs __attribute__((unused)),
if (!IS_CONTINUATION_BYTE(s[1]))
return MY_CS_ILSEQ;
- *pwc = ((my_wc_t) (c & 0x1f) << 6) | (my_wc_t) (s[1] ^ 0x80);
+ *pwc= UTF8MB2_CODE(c, s[1]);
return 2;
}
if (c < 0xf0)
{
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- (c >= 0xe1 || s[1] >= 0xa0)))
+ if (!IS_UTF8MB3_STEP2(c, s[1], s[2]))
return MY_CS_ILSEQ;
- *pwc= ((my_wc_t) (c & 0x0f) << 12) |
- ((my_wc_t) (s[1] ^ 0x80) << 6) |
- (my_wc_t) (s[2] ^ 0x80);
-
+ *pwc= UTF8MB3_CODE(c, s[1], s[2]);
return 3;
}
else if (c < 0xf5)
{
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- IS_CONTINUATION_BYTE(s[3]) &&
- (c >= 0xf1 || s[1] >= 0x90) &&
- (c <= 0xf3 || s[1] <= 0x8F)))
+ if (!IS_UTF8MB4_STEP2(c, s[1], s[2], s[3]))
return MY_CS_ILSEQ;
- *pwc = ((my_wc_t) (c & 0x07) << 18) |
- ((my_wc_t) (s[1] ^ 0x80) << 12) |
- ((my_wc_t) (s[2] ^ 0x80) << 6) |
- (my_wc_t) (s[3] ^ 0x80);
+ *pwc= UTF8MB4_CODE(c, s[1], s[2], s[3]);
return 4;
}
return MY_CS_ILSEQ;
@@ -7728,150 +7662,6 @@ my_casedn_str_utf8mb4(CHARSET_INFO *cs, char *src)
}
-static int
-my_strnncoll_utf8mb4(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- my_wc_t s_wc,t_wc;
- const uchar *se= s + slen;
- const uchar *te= t + tlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
- while ( s < se && t < te )
- {
- int s_res= my_mb_wc_utf8mb4(cs, &s_wc, s, se);
- int t_res= my_mb_wc_utf8mb4(cs, &t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare bytewise */
- return bincmp_utf8mb4(s, se, t, te);
- }
-
- my_tosort_unicode(uni_plane, &s_wc, cs->state);
- my_tosort_unicode(uni_plane, &t_wc, cs->state);
-
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t - te) : ((se - s) - (te - t)));
-}
-
-
-/**
-
- Compare strings, discarding end space
-
- If one string is shorter as the other, then we space extend the other
- so that the strings have equal length.
-
- This will ensure that the following things hold:
-
- "a" == "a "
- "a\0" < "a"
- "a\0" < "a "
-
- @param cs Character set pinter.
- @param a First string to compare.
- @param a_length Length of 'a'.
- @param b Second string to compare.
- @param b_length Length of 'b'.
- @param diff_if_only_endspace_difference
- Set to 1 if the strings should be regarded as different
- if they only difference in end space
-
- @return Comparison result.
- @retval Negative number, if a less than b.
- @retval 0, if a is equal to b
- @retval Positive number, if a > b
-*/
-
-static int
-my_strnncollsp_utf8mb4(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
-{
- int res;
- my_wc_t s_wc, t_wc;
- const uchar *se= s + slen, *te= t + tlen;
- MY_UNICASE_INFO *uni_plane= cs->caseinfo;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= FALSE;
-#endif
-
- while ( s < se && t < te )
- {
- int s_res= my_mb_wc_utf8mb4(cs, &s_wc, s, se);
- int t_res= my_mb_wc_utf8mb4(cs, &t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare bytewise */
- return bincmp_utf8mb4(s, se, t, te);
- }
-
- my_tosort_unicode(uni_plane, &s_wc, cs->state);
- my_tosort_unicode(uni_plane, &t_wc, cs->state);
-
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+=s_res;
- t+=t_res;
- }
-
- slen= (size_t) (se-s);
- tlen= (size_t) (te-t);
- res= 0;
-
- if (slen != tlen)
- {
- int swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 'a' is bigger */
- if (slen < tlen)
- {
- slen= tlen;
- s= t;
- se= te;
- swap= -1;
- res= -res;
- }
- /*
- This following loop uses the fact that in UTF-8
- all multibyte characters are greater than space,
- and all multibyte head characters are greater than
- space. It means if we meet a character greater
- than space, it always means that the longer string
- is greater. So we can reuse the same loop from the
- 8bit version, without having to process full multibute
- sequences.
- */
- for ( ; s < se; s++)
- {
- if (*s != ' ')
- return (*s < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
/**
Compare 0-terminated UTF8 strings.
@@ -7957,8 +7747,8 @@ my_wildcmp_utf8mb4(CHARSET_INFO *cs,
static int
-my_valid_mbcharlen_utf8mb4(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *s, const uchar *e)
+my_charlen_utf8mb4(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar *s, const uchar *e)
{
uchar c;
@@ -7974,30 +7764,7 @@ my_valid_mbcharlen_utf8mb4(CHARSET_INFO *cs __attribute__((unused)),
if (s + 4 > e) /* We need 4 characters */
return MY_CS_TOOSMALL4;
- /*
- UTF-8 quick four-byte mask:
- 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
- Encoding allows to encode U+00010000..U+001FFFFF
-
- The maximum character defined in the Unicode standard is U+0010FFFF.
- Higher characters U+00110000..U+001FFFFF are not used.
-
- 11110000.10010000.10xxxxxx.10xxxxxx == F0.90.80.80 == U+00010000 (min)
- 11110100.10001111.10111111.10111111 == F4.8F.BF.BF == U+0010FFFF (max)
-
- Valid codes:
- [F0][90..BF][80..BF][80..BF]
- [F1][80..BF][80..BF][80..BF]
- [F2][80..BF][80..BF][80..BF]
- [F3][80..BF][80..BF][80..BF]
- [F4][80..8F][80..BF][80..BF]
- */
-
- if (!(IS_CONTINUATION_BYTE(s[1]) &&
- IS_CONTINUATION_BYTE(s[2]) &&
- IS_CONTINUATION_BYTE(s[3]) &&
- (c >= 0xf1 || s[1] >= 0x90) &&
- (c <= 0xf3 || s[1] <= 0x8F)))
+ if (!IS_UTF8MB4_STEP2(c, s[1], s[2], s[3]))
return MY_CS_ILSEQ;
return 4;
@@ -8018,7 +7785,7 @@ size_t my_well_formed_len_utf8mb4(CHARSET_INFO *cs,
{
int mb_len;
- if ((mb_len= my_valid_mbcharlen_utf8mb4(cs, (uchar*) b, (uchar*) e)) <= 0)
+ if ((mb_len= my_charlen_utf8mb4(cs, (uchar*) b, (uchar*) e)) <= 0)
{
*error= b < e ? 1 : 0;
break;
@@ -8030,10 +7797,42 @@ size_t my_well_formed_len_utf8mb4(CHARSET_INFO *cs,
}
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf8mb4
+#define CHARLEN(cs,str,end) my_charlen_utf8mb4(cs,str,end)
+#define DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+#include "ctype-mb.ic"
+#undef MY_FUNCTION_NAME
+#undef CHARLEN
+#undef DEFINE_WELL_FORMED_CHAR_LENGTH_USING_CHARLEN
+/* my_well_formed_char_length_utf8mb4 */
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf8mb4_general_ci
+#define IS_MB4_CHAR(b0,b1,b2,b3) IS_UTF8MB4_STEP3(b0,b1,b2,b3)
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB1(b0) my_weight_mb1_utf8_general_ci(b0)
+#define WEIGHT_MB2(b0,b1) my_weight_mb2_utf8_general_ci(b0,b1)
+#define WEIGHT_MB3(b0,b1,b2) my_weight_mb3_utf8_general_ci(b0,b1,b2)
+/*
+ All non-BMP characters have the same weight.
+*/
+#define WEIGHT_MB4(b0,b1,b2,b3) MY_CS_REPLACEMENT_CHARACTER
+#include "strcoll.ic"
+
+
+#define MY_FUNCTION_NAME(x) my_ ## x ## _utf8mb4_bin
+#define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x))
+#define WEIGHT_MB1(b0) ((int) (uchar) (b0))
+#define WEIGHT_MB2(b0,b1) ((int) UTF8MB2_CODE(b0,b1))
+#define WEIGHT_MB3(b0,b1,b2) ((int) UTF8MB3_CODE(b0,b1,b2))
+#define WEIGHT_MB4(b0,b1,b2,b3) ((int) UTF8MB4_CODE(b0,b1,b2,b3))
+#include "strcoll.ic"
+
+
static uint
my_ismbchar_utf8mb4(CHARSET_INFO *cs, const char *b, const char *e)
{
- int res= my_valid_mbcharlen_utf8mb4(cs, (const uchar*)b, (const uchar*)e);
+ int res= my_charlen_utf8mb4(cs, (const uchar*) b, (const uchar*) e);
return (res > 1) ? res : 0;
}
@@ -8058,8 +7857,8 @@ my_mbcharlen_utf8mb4(CHARSET_INFO *cs __attribute__((unused)), uint c)
static MY_COLLATION_HANDLER my_collation_utf8mb4_general_ci_handler=
{
NULL, /* init */
- my_strnncoll_utf8mb4,
- my_strnncollsp_utf8mb4,
+ my_strnncoll_utf8mb4_general_ci,
+ my_strnncollsp_utf8mb4_general_ci,
my_strnxfrm_unicode,
my_strnxfrmlen_unicode,
my_like_range_mb,
@@ -8074,8 +7873,8 @@ static MY_COLLATION_HANDLER my_collation_utf8mb4_general_ci_handler=
static MY_COLLATION_HANDLER my_collation_utf8mb4_bin_handler =
{
NULL, /* init */
- my_strnncoll_mb_bin,
- my_strnncollsp_mb_bin,
+ my_strnncoll_utf8mb4_bin,
+ my_strnncollsp_utf8mb4_bin,
my_strnxfrm_unicode_full_bin,
my_strnxfrmlen_unicode_full_bin,
my_like_range_mb,
@@ -8107,7 +7906,7 @@ MY_CHARSET_HANDLER my_charset_utf8mb4_handler=
my_snprintf_8bit,
my_long10_to_str_8bit,
my_longlong10_to_str_8bit,
- my_fill_8bit,
+ my_fill_utf8,
my_strntol_8bit,
my_strntoul_8bit,
my_strntoll_8bit,
@@ -8115,7 +7914,11 @@ MY_CHARSET_HANDLER my_charset_utf8mb4_handler=
my_strntod_8bit,
my_strtoll10_8bit,
my_strntoull10rnd_8bit,
- my_scan_8bit
+ my_scan_8bit,
+ my_charlen_utf8mb4,
+ my_well_formed_char_length_utf8mb4,
+ my_copy_fix_mb,
+ my_wc_mb_utf8mb4,
};
diff --git a/strings/ctype-win1250ch.c b/strings/ctype-win1250ch.c
index 27e6a94f67b..8e3527f9ff1 100644
--- a/strings/ctype-win1250ch.c
+++ b/strings/ctype-win1250ch.c
@@ -690,7 +690,8 @@ static MY_COLLATION_HANDLER my_collation_czech_ci_handler =
struct charset_info_st my_charset_cp1250_czech_ci =
{
34,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_CSSORT|MY_CS_STRNXFRM_BAD_NWEIGHTS, /* state */
+ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_CSSORT|
+ MY_CS_STRNXFRM_BAD_NWEIGHTS|MY_CS_NON1TO1, /* state */
"cp1250", /* cs name */
"cp1250_czech_cs", /* name */
"", /* comment */
diff --git a/strings/ctype.c b/strings/ctype.c
index 25fc2e29877..4af60d16d29 100644
--- a/strings/ctype.c
+++ b/strings/ctype.c
@@ -1030,19 +1030,18 @@ my_charset_is_ascii_compatible(CHARSET_INFO *cs)
@return Number of bytes copied to 'to' string
*/
-static uint32
-my_convert_internal(char *to, uint32 to_length,
- CHARSET_INFO *to_cs,
- const char *from, uint32 from_length,
- CHARSET_INFO *from_cs, uint *errors)
+uint32
+my_convert_using_func(char *to, uint32 to_length,
+ CHARSET_INFO *to_cs, my_charset_conv_wc_mb wc_mb,
+ const char *from, uint32 from_length,
+ CHARSET_INFO *from_cs, my_charset_conv_mb_wc mb_wc,
+ uint *errors)
{
int cnvres;
my_wc_t wc;
const uchar *from_end= (const uchar*) from + from_length;
char *to_start= to;
uchar *to_end= (uchar*) to + to_length;
- my_charset_conv_mb_wc mb_wc= from_cs->cset->mb_wc;
- my_charset_conv_wc_mb wc_mb= to_cs->cset->wc_mb;
uint error_count= 0;
while (1)
@@ -1119,8 +1118,11 @@ my_convert(char *to, uint32 to_length, CHARSET_INFO *to_cs,
immediately switch to slow mb_wc->wc_mb method.
*/
if ((to_cs->state | from_cs->state) & MY_CS_NONASCII)
- return my_convert_internal(to, to_length, to_cs,
- from, from_length, from_cs, errors);
+ return my_convert_using_func(to, to_length,
+ to_cs, to_cs->cset->wc_mb,
+ from, from_length,
+ from_cs, from_cs->cset->mb_wc,
+ errors);
length= length2= MY_MIN(to_length, from_length);
@@ -1152,12 +1154,87 @@ my_convert(char *to, uint32 to_length, CHARSET_INFO *to_cs,
uint32 copied_length= length2 - length;
to_length-= copied_length;
from_length-= copied_length;
- return copied_length + my_convert_internal(to, to_length, to_cs,
- from, from_length, from_cs,
- errors);
+ return copied_length + my_convert_using_func(to, to_length, to_cs,
+ to_cs->cset->wc_mb,
+ from, from_length, from_cs,
+ from_cs->cset->mb_wc,
+ errors);
}
}
DBUG_ASSERT(FALSE); // Should never get to here
return 0; // Make compiler happy
}
+
+
+size_t
+my_convert_fix(CHARSET_INFO *to_cs, char *to, size_t to_length,
+ CHARSET_INFO *from_cs, const char *from, size_t from_length,
+ size_t nchars, MY_STRCONV_STATUS *status)
+{
+ int cnvres;
+ my_wc_t wc;
+ my_charset_conv_mb_wc mb_wc= from_cs->cset->mb_wc;
+ my_charset_conv_wc_mb wc_mb= to_cs->cset->wc_mb;
+ const uchar *from_end= (const uchar*) from + from_length;
+ uchar *to_end= (uchar*) to + to_length;
+ char *to_start= to;
+
+ DBUG_ASSERT(to_cs != &my_charset_bin);
+ DBUG_ASSERT(from_cs != &my_charset_bin);
+
+ status->m_native_copy_status.m_well_formed_error_pos= NULL;
+ status->m_cannot_convert_error_pos= NULL;
+
+ for ( ; nchars; nchars--)
+ {
+ const char *from_prev= from;
+ if ((cnvres= (*mb_wc)(from_cs, &wc, (uchar*) from, from_end)) > 0)
+ from+= cnvres;
+ else if (cnvres == MY_CS_ILSEQ)
+ {
+ if (!status->m_native_copy_status.m_well_formed_error_pos)
+ status->m_native_copy_status.m_well_formed_error_pos= from;
+ from++;
+ wc= '?';
+ }
+ else if (cnvres > MY_CS_TOOSMALL)
+ {
+ /*
+ A correct multibyte sequence detected
+ But it doesn't have Unicode mapping.
+ */
+ if (!status->m_cannot_convert_error_pos)
+ status->m_cannot_convert_error_pos= from;
+ from+= (-cnvres);
+ wc= '?';
+ }
+ else
+ {
+ if ((uchar *) from >= from_end)
+ break; // End of line
+ // Incomplete byte sequence
+ if (!status->m_native_copy_status.m_well_formed_error_pos)
+ status->m_native_copy_status.m_well_formed_error_pos= from;
+ from++;
+ wc= '?';
+ }
+outp:
+ if ((cnvres= (*wc_mb)(to_cs, wc, (uchar*) to, to_end)) > 0)
+ to+= cnvres;
+ else if (cnvres == MY_CS_ILUNI && wc != '?')
+ {
+ if (!status->m_cannot_convert_error_pos)
+ status->m_cannot_convert_error_pos= from_prev;
+ wc= '?';
+ goto outp;
+ }
+ else
+ {
+ from= from_prev;
+ break;
+ }
+ }
+ status->m_native_copy_status.m_source_end_pos= from;
+ return to - to_start;
+}
diff --git a/strings/my_vsnprintf.c b/strings/my_vsnprintf.c
index 1584a9e2cef..134fdfc57b8 100644
--- a/strings/my_vsnprintf.c
+++ b/strings/my_vsnprintf.c
@@ -755,14 +755,14 @@ int my_vfprintf(FILE *stream, const char* format, va_list args)
and try again.
*/
if (alloc)
- (*my_str_free)(p);
+ my_free(p);
else
alloc= 1;
new_len= cur_len*2;
if (new_len < cur_len)
return 0; /* Overflow */
cur_len= new_len;
- p= (*my_str_malloc)(cur_len);
+ p= my_malloc(cur_len, MYF(MY_FAE));
if (!p)
return 0;
}
@@ -770,7 +770,7 @@ int my_vfprintf(FILE *stream, const char* format, va_list args)
if (fputs(p, stream) < 0)
ret= -1;
if (alloc)
- (*my_str_free)(p);
+ my_free(p);
return ret;
}
@@ -831,7 +831,7 @@ void my_strerror(char *buf, size_t len, int nr)
(defined _XOPEN_SOURCE && (_XOPEN_SOURCE >= 600))) && \
! defined _GNU_SOURCE
strerror_r(nr, buf, len); /* I can build with or without GNU */
-#elif defined _GNU_SOURCE
+#elif defined(__GLIBC__) && defined (_GNU_SOURCE)
char *r= strerror_r(nr, buf, len);
if (r != buf) /* Want to help, GNU? */
strmake(buf, r, len - 1); /* Then don't. */
diff --git a/strings/str_alloc.c b/strings/str_alloc.c
deleted file mode 100644
index 91246603f2e..00000000000
--- a/strings/str_alloc.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (c) 2005, 2006 MySQL AB
- Copyright (c) 2009-2011, Monty Program Ab
- Use is subject to license terms.
- Copyright (c) 2009-2011, Monty Program Ab
-
- 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; version 2 of the License.
-
- 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, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-
-#include "strings_def.h"
-
-static void *my_str_malloc_default(size_t size)
-{
- void *ret= malloc(size);
- if (!ret)
- exit(1);
- return ret;
-}
-
-static void my_str_free_default(void *ptr)
-{
- free(ptr);
-}
-
-void *my_str_realloc_default(void *ptr, size_t size)
-{
- return realloc(ptr, size);
-}
-
-void *(*my_str_malloc)(size_t)= &my_str_malloc_default;
-void (*my_str_free)(void *)= &my_str_free_default;
-void *(*my_str_realloc)(void *, size_t)= &my_str_realloc_default;
diff --git a/strings/strcoll.ic b/strings/strcoll.ic
new file mode 100644
index 00000000000..4bced593a23
--- /dev/null
+++ b/strings/strcoll.ic
@@ -0,0 +1,275 @@
+/*
+ Copyright (c) 2015, MariaDB Foundation
+
+ 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; version 2 of the License.
+
+ 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, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+
+#ifndef MY_FUNCTION_NAME
+#error MY_FUNCTION_NAME is not defined
+#endif
+
+
+/*
+ The weight for automatically padded spaces when comparing strings with
+ the PAD SPACE property.
+ Should normally be equal to the weight of a regular space.
+*/
+#ifndef WEIGHT_PAD_SPACE
+#define WEIGHT_PAD_SPACE (' ')
+#endif
+
+
+/*
+ Weight of an illegal byte, must follow these rules:
+ 1. Must be greater than weight of any normal character in the collation.
+ 2. Two different bad bytes must have different weights and must be
+ compared in their binary order.
+
+ Depends on mbmaxlen of the character set, as well as how the collation
+ sorts various single-byte and multi-byte character blocks.
+
+ The macro below is the default definition, it is suitable for mbmaxlen=2
+ character sets that sort all multi-byte characters after all single-byte
+ characters: big5, euckr, gb2312, gbk.
+
+ All mbmaxlen>2 character sets must provide their own definitions.
+ All collations that have a more complex order (than just MB1 followed by MB2)
+ must also provide their own definitions (see definitions for
+ cp932_japanese_ci and sjis_japanese_ci as examples of a more complex order).
+*/
+#ifndef WEIGHT_ILSEQ
+#define WEIGHT_ILSEQ(x) (0xFF00 + (x))
+#endif
+
+
+/**
+ Scan a valid character, or a bad byte, or an auto-padded space
+ from a string and calculate the weight of the scanned sequence.
+
+ @param [OUT] weight - the weight is returned here
+ @param str - the string
+ @param end - the end of the string
+ @return - the number of bytes scanned
+
+ The including source file must define the following macros:
+ IS_MB1_CHAR(b0) - for character sets that have MB1 characters
+ IS_MB1_MB2HEAD_GAP(b0) - optional, for better performance
+ IS_MB2_CHAR(b0,b1) - for character sets that have MB2 characters
+ IS_MB3_CHAR(b0,b1,b2) - for character sets that have MB3 characters
+ IS_MB4_CHAR(b0,b1,b2,b3) - for character sets with have MB4 characters
+ WEIGHT_PAD_SPACE
+ WEIGHT_MB1(b0) - for character sets that have MB1 characters
+ WEIGHT_MB2(b0,b1) - for character sets that have MB2 characters
+ WEIGHT_MB3(b0,b1,b2) - for character sets that have MB3 characters
+ WEIGHT_MB4(b0,b1,b2,b3) - for character sets that have MB4 characters
+ WEIGHT_ILSEQ(x)
+*/
+static inline uint
+MY_FUNCTION_NAME(scan_weight)(int *weight, const uchar *str, const uchar *end)
+{
+ if (str >= end)
+ {
+ *weight= WEIGHT_PAD_SPACE;
+ return 0;
+ }
+
+#ifdef IS_MB1_CHAR
+ if (IS_MB1_CHAR(*str))
+ {
+ *weight= WEIGHT_MB1(*str); /* A valid single byte character*/
+ return 1;
+ }
+#endif
+
+#ifdef IS_MB1_MBHEAD_UNUSED_GAP
+ /*
+ Quickly filter out unused bytes that are neither MB1 nor MBHEAD.
+ E.g. [0x80..0xC1] in utf8. This allows using simplified conditions
+ in IS_MB2_CHAR(), IS_MB3_CHAR(), etc.
+ */
+ if (IS_MB1_MBHEAD_UNUSED_GAP(*str))
+ goto bad;
+#endif
+
+#ifdef IS_MB2_CHAR
+ if (str + 2 > end) /* The string ended unexpectedly */
+ goto bad; /* Treat as a bad byte */
+
+ if (IS_MB2_CHAR(str[0], str[1]))
+ {
+ *weight= WEIGHT_MB2(str[0], str[1]);
+ return 2; /* A valid two-byte character */
+ }
+#endif
+
+#ifdef IS_MB3_CHAR
+ if (str + 3 > end) /* Incomplete three-byte character */
+ goto bad;
+
+ if (IS_MB3_CHAR(str[0], str[1], str[2]))
+ {
+ *weight= WEIGHT_MB3(str[0], str[1], str[2]);
+ return 3; /* A valid three-byte character */
+ }
+#endif
+
+#ifdef IS_MB4_CHAR
+ if (str + 4 > end) /* Incomplete four-byte character */
+ goto bad;
+
+ if (IS_MB4_CHAR(str[0], str[1], str[2], str[3]))
+ {
+ *weight= WEIGHT_MB4(str[0], str[1], str[2], str[3]);
+ return 4; /* A valid four-byte character */
+ }
+
+#endif
+
+bad:
+ *weight= WEIGHT_ILSEQ(str[0]); /* Bad byte */
+ return 1;
+}
+
+
+/**
+ Compare two strings according to the collation,
+ without handling the PAD SPACE property.
+
+ Note, cs->coll->strnncoll() is usually used to compare identifiers.
+ Perhaps we should eventually (in 10.2?) create a new collation
+ my_charset_utf8_general_ci_no_pad and have only one comparison function
+ in MY_COLLATION_HANDLER.
+
+ @param cs - the character set and collation
+ @param a - the left string
+ @param a_length - the length of the left string
+ @param b - the right string
+ @param b_length - the length of the right string
+ @param b_is_prefix - if the caller wants to check if "b" is a prefix of "a"
+ @return - the comparison result
+*/
+static int
+MY_FUNCTION_NAME(strnncoll)(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar *a, size_t a_length,
+ const uchar *b, size_t b_length,
+ my_bool b_is_prefix)
+{
+ const uchar *a_end= a + a_length;
+ const uchar *b_end= b + b_length;
+ for ( ; ; )
+ {
+ int a_weight, b_weight, res;
+ uint a_wlen= MY_FUNCTION_NAME(scan_weight)(&a_weight, a, a_end);
+ uint b_wlen= MY_FUNCTION_NAME(scan_weight)(&b_weight, b, b_end);
+ /*
+ a_wlen b_wlen Comment
+ ------ ------ -------
+ 0 0 Strings ended simultaneously, "a" and "b" are equal.
+ 0 >0 "a" is a prefix of "b", so "a" is smaller.
+ >0 0 "b" is a prefix of "a", check b_is_prefix.
+ >0 >0 Two weights were scanned, check weight difference.
+ */
+ if (!a_wlen)
+ return b_wlen ? -b_weight : 0;
+
+ if (!b_wlen)
+ return b_is_prefix ? 0 : a_weight;
+
+ if ((res= (a_weight - b_weight)))
+ return res;
+ /*
+ None of the strings has ended yet.
+ */
+ DBUG_ASSERT(a < a_end);
+ DBUG_ASSERT(b < b_end);
+ a+= a_wlen;
+ b+= b_wlen;
+ }
+ DBUG_ASSERT(0);
+ return 0;
+}
+
+
+/**
+ Compare two strings according to the collation, with PAD SPACE handling.
+
+ @param cs - the character set and collation
+ @param a - the left string
+ @param a_length - the length of the left string
+ @param b - the right string
+ @param b_length - the length of the right string
+ @param diff_if_only_endspace_difference - not used in the code.
+ TODO: this should be eventually removed (in 10.2?)
+ @return - the comparison result
+*/
+
+static int
+MY_FUNCTION_NAME(strnncollsp)(CHARSET_INFO *cs __attribute__((unused)),
+ const uchar *a, size_t a_length,
+ const uchar *b, size_t b_length,
+ my_bool diff_if_only_endspace_difference
+ __attribute__((unused)))
+{
+ const uchar *a_end= a + a_length;
+ const uchar *b_end= b + b_length;
+ for ( ; ; )
+ {
+ int a_weight, b_weight, res;
+ uint a_wlen= MY_FUNCTION_NAME(scan_weight)(&a_weight, a, a_end);
+ uint b_wlen= MY_FUNCTION_NAME(scan_weight)(&b_weight, b, b_end);
+ if ((res= (a_weight - b_weight)))
+ {
+ /*
+ Got two different weights. Each weight can be generated by either of:
+ - a real character
+ - a bad byte sequence or an incomplete byte sequence
+ - an auto-generated trailing space (PAD SPACE)
+ It does not matter how exactly each weight was generated.
+ Just return the weight difference.
+ */
+ return res;
+ }
+ if (!a_wlen && !b_wlen)
+ {
+ /*
+ Got two auto-generated trailing spaces, i.e.
+ both strings have now ended, so they are equal.
+ */
+ DBUG_ASSERT(a == a_end);
+ DBUG_ASSERT(b == b_end);
+ return 0;
+ }
+ /*
+ At least one of the strings has not ended yet, continue comparison.
+ */
+ DBUG_ASSERT(a < a_end || b < b_end);
+ a+= a_wlen;
+ b+= b_wlen;
+ }
+ DBUG_ASSERT(0);
+ return 0;
+}
+
+/*
+ We usually include this file at least two times from the same source file,
+ for the _ci and the _bin collations. Prepare for the second inclusion.
+*/
+#undef MY_FUNCTION_NAME
+#undef WEIGHT_ILSEQ
+#undef WEIGHT_MB1
+#undef WEIGHT_MB2
+#undef WEIGHT_MB3
+#undef WEIGHT_MB4
+#undef WEIGHT_PAD_SPACE
diff --git a/strings/strings_def.h b/strings/strings_def.h
index fb280b6bb6b..80397d510d2 100644
--- a/strings/strings_def.h
+++ b/strings/strings_def.h
@@ -13,7 +13,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
/* This file is to be include first in all files in the string directory */
diff --git a/strings/strmov.c b/strings/strmov.c
index b38d5db5d6e..0f594185688 100644
--- a/strings/strmov.c
+++ b/strings/strmov.c
@@ -40,6 +40,7 @@
char *strmov(register char *dst, register const char *src)
{
+ DBUG_ASSERT(src + strlen(src) < dst || dst + strlen(src) < src);
while ((*dst++ = *src++)) ;
return dst-1;
}
diff --git a/strings/strmov_overlapp.c b/strings/strmov_overlapp.c
index 59d980fc7c4..2a162c39903 100644
--- a/strings/strmov_overlapp.c
+++ b/strings/strmov_overlapp.c
@@ -11,7 +11,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */
#include "strings_def.h"
diff --git a/strings/uca-dump.c b/strings/uca-dump.c
index d5c20854636..5d183608826 100644
--- a/strings/uca-dump.c
+++ b/strings/uca-dump.c
@@ -35,19 +35,29 @@ struct uca_item_st
#define MY_UCA_CMASK 63
#define MY_UCA_PSHIFT 6
#else
-#define MY_UCA_NPAGES 256
+#define MY_UCA_NPAGES 4352 /* 0x110000 characters / 0x100 chars per page */
#define MY_UCA_NCHARS 256
#define MY_UCA_CMASK 255
#define MY_UCA_PSHIFT 8
#endif
-static char *pname[]= {"", "2", "3"};
+#define MAX_ALLOWED_CODE 0x10FFFF
+
+/* Name that goes into all array names */
+static const char *global_name_prefix= "uca520";
+
+/* Name prefix that goes into page weight array names after global_name_prefix */
+static char *pname_prefix[]= {"_p", "_p", "_p"};
+
+/* Name suffix that goes into page weight array names after page number */
+static char *pname_suffix[]= {"", "_w2", "_w3"};
+
int main(int ac, char **av)
{
char str[256];
char *weights[64];
- struct uca_item_st uca[64*1024];
+ static struct uca_item_st uca[MAX_ALLOWED_CODE+1];
size_t code, w;
int pageloaded[MY_UCA_NPAGES];
@@ -63,7 +73,7 @@ int main(int ac, char **av)
code= strtol(str,NULL,16);
- if (str[0]=='#' || (code > 0xFFFF))
+ if (str[0]=='#' || (code > MAX_ALLOWED_CODE))
continue;
if ((comment=strchr(str,'#')))
{
@@ -129,7 +139,7 @@ int main(int ac, char **av)
/* Now set implicit weights */
- for (code=0; code <= 0xFFFF; code++)
+ for (code=0; code <= MAX_ALLOWED_CODE; code++)
{
size_t base, aaaa, bbbb;
@@ -173,7 +183,7 @@ int main(int ac, char **av)
printf("#define MY_UCA_NCHARS %d\n",MY_UCA_NCHARS);
printf("#define MY_UCA_CMASK %d\n",MY_UCA_CMASK);
printf("#define MY_UCA_PSHIFT %d\n",MY_UCA_PSHIFT);
-
+
for (w=0; w<3; w++)
{
size_t page;
@@ -186,6 +196,7 @@ int main(int ac, char **av)
size_t nchars= 0;
size_t mchars;
size_t ndefs= 0;
+ size_t code_line_start= page * MY_UCA_NCHARS;
pagemaxlen[page]= 0;
@@ -256,8 +267,9 @@ int main(int ac, char **av)
*/
- printf("uint16 page%03Xdata%s[]= { /* %04X (%d weights per char) */\n",
- page, pname[w], page*MY_UCA_NCHARS, maxnum);
+ printf("static const uint16 %s%s%03X%s[]= { /* %04X (%d weights per char) */\n",
+ global_name_prefix, pname_prefix[w], (int) page, pname_suffix[w],
+ (int) page*MY_UCA_NCHARS, (int) maxnum);
for (offs=0; offs < MY_UCA_NCHARS; offs++)
{
@@ -293,11 +305,14 @@ int main(int ac, char **av)
printf("0x%04X", tmp);
if ((offs+1 != MY_UCA_NCHARS) || (i+1!=maxnum))
printf(",");
+ else
+ printf(" ");
nchars++;
}
if (nchars >=mchars)
{
- printf("\n");
+ printf(" /* %04X */\n", (int) code_line_start);
+ code_line_start= code + 1;
nchars=0;
}
else
@@ -308,7 +323,8 @@ int main(int ac, char **av)
printf("};\n\n");
}
- printf("uchar uca_length%s[%d]={\n", pname[w], MY_UCA_NPAGES);
+ printf("const uchar %s_length%s[%d]={\n",
+ global_name_prefix, pname_suffix[w], MY_UCA_NPAGES);
for (page=0; page < MY_UCA_NPAGES; page++)
{
printf("%d%s%s",pagemaxlen[page],page<MY_UCA_NPAGES-1?",":"",(page+1) % 16 ? "":"\n");
@@ -316,7 +332,8 @@ int main(int ac, char **av)
printf("};\n");
- printf("uint16 *uca_weight%s[%d]={\n", pname[w], MY_UCA_NPAGES);
+ printf("static const uint16 *%s_weight%s[%d]={\n",
+ global_name_prefix, pname_suffix[w], MY_UCA_NPAGES);
for (page=0; page < MY_UCA_NPAGES; page++)
{
const char *comma= page < MY_UCA_NPAGES-1 ? "," : "";
@@ -324,7 +341,9 @@ int main(int ac, char **av)
if (!pagemaxlen[page])
printf("NULL %s%s%s", w ? " ": "", comma , nline);
else
- printf("page%03Xdata%s%s%s", page, pname[w], comma, nline);
+ printf("%s%s%03X%s%s%s",
+ global_name_prefix, pname_prefix[w], (int) page, pname_suffix[w],
+ comma, nline);
}
printf("};\n");
}
diff --git a/strings/xml.c b/strings/xml.c
index 4685a04faec..b5fed6a6760 100644
--- a/strings/xml.c
+++ b/strings/xml.c
@@ -17,6 +17,7 @@
#include "strings_def.h"
#include "m_string.h"
#include "my_xml.h"
+#include "my_sys.h"
#define MY_XML_UNKNOWN 'U'
@@ -231,13 +232,13 @@ static int my_xml_attr_ensure_space(MY_XML_PARSER *st, size_t len)
if (!st->attr.buffer)
{
- st->attr.buffer= (char *) my_str_malloc(st->attr.buffer_size);
+ st->attr.buffer= (char *) my_malloc(st->attr.buffer_size, MYF(0));
if (st->attr.buffer)
memcpy(st->attr.buffer, st->attr.static_buffer, ofs + 1 /*term. zero */);
}
else
- st->attr.buffer= (char *) my_str_realloc(st->attr.buffer,
- st->attr.buffer_size);
+ st->attr.buffer= (char *) my_realloc(st->attr.buffer,
+ st->attr.buffer_size, MYF(0));
st->attr.start= st->attr.buffer;
st->attr.end= st->attr.start + ofs;
@@ -507,7 +508,7 @@ void my_xml_parser_free(MY_XML_PARSER *p)
{
if (p->attr.buffer)
{
- my_str_free(p->attr.buffer);
+ my_free(p->attr.buffer);
p->attr.buffer= NULL;
}
}