diff options
Diffstat (limited to 'strings')
-rw-r--r-- | strings/CMakeLists.txt | 5 | ||||
-rw-r--r-- | strings/ctype-big5.c | 169 | ||||
-rw-r--r-- | strings/ctype-bin.c | 14 | ||||
-rw-r--r-- | strings/ctype-cp932.c | 194 | ||||
-rw-r--r-- | strings/ctype-czech.c | 3 | ||||
-rw-r--r-- | strings/ctype-euc_kr.c | 93 | ||||
-rw-r--r-- | strings/ctype-eucjpms.c | 130 | ||||
-rw-r--r-- | strings/ctype-gb2312.c | 91 | ||||
-rw-r--r-- | strings/ctype-gbk.c | 168 | ||||
-rw-r--r-- | strings/ctype-latin1.c | 8 | ||||
-rw-r--r-- | strings/ctype-mb.c | 132 | ||||
-rw-r--r-- | strings/ctype-mb.ic | 324 | ||||
-rw-r--r-- | strings/ctype-simple.c | 73 | ||||
-rw-r--r-- | strings/ctype-sjis.c | 191 | ||||
-rw-r--r-- | strings/ctype-tis620.c | 19 | ||||
-rw-r--r-- | strings/ctype-uca.c | 11938 | ||||
-rw-r--r-- | strings/ctype-ucs2.c | 1071 | ||||
-rw-r--r-- | strings/ctype-ujis.c | 132 | ||||
-rw-r--r-- | strings/ctype-utf8.c | 845 | ||||
-rw-r--r-- | strings/ctype-win1250ch.c | 3 | ||||
-rw-r--r-- | strings/ctype.c | 101 | ||||
-rw-r--r-- | strings/my_vsnprintf.c | 8 | ||||
-rw-r--r-- | strings/str_alloc.c | 41 | ||||
-rw-r--r-- | strings/strcoll.ic | 275 | ||||
-rw-r--r-- | strings/strings_def.h | 2 | ||||
-rw-r--r-- | strings/strmov.c | 1 | ||||
-rw-r--r-- | strings/strmov_overlapp.c | 2 | ||||
-rw-r--r-- | strings/uca-dump.c | 43 | ||||
-rw-r--r-- | strings/xml.c | 9 |
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; } } |