Unicode character classification functions.
authorBruno Haible <bruno@clisp.org>
Mon, 12 Nov 2007 23:15:53 +0000 (00:15 +0100)
committerBruno Haible <bruno@clisp.org>
Mon, 12 Nov 2007 23:15:53 +0000 (00:15 +0100)
467 files changed:
ChangeLog
lib/unictype.h [new file with mode: 0644]
lib/unictype/3level.h [new file with mode: 0644]
lib/unictype/3levelbit.h [new file with mode: 0644]
lib/unictype/Makefile [new file with mode: 0644]
lib/unictype/bidi_byname.c [new file with mode: 0644]
lib/unictype/bidi_name.c [new file with mode: 0644]
lib/unictype/bidi_of.c [new file with mode: 0644]
lib/unictype/bidi_of.h [new file with mode: 0644]
lib/unictype/bidi_test.c [new file with mode: 0644]
lib/unictype/bitmap.h [new file with mode: 0644]
lib/unictype/block_test.c [new file with mode: 0644]
lib/unictype/blocks.c [new file with mode: 0644]
lib/unictype/blocks.h [new file with mode: 0644]
lib/unictype/categ_C.c [new file with mode: 0644]
lib/unictype/categ_C.h [new file with mode: 0644]
lib/unictype/categ_Cc.c [new file with mode: 0644]
lib/unictype/categ_Cc.h [new file with mode: 0644]
lib/unictype/categ_Cf.c [new file with mode: 0644]
lib/unictype/categ_Cf.h [new file with mode: 0644]
lib/unictype/categ_Cn.c [new file with mode: 0644]
lib/unictype/categ_Cn.h [new file with mode: 0644]
lib/unictype/categ_Co.c [new file with mode: 0644]
lib/unictype/categ_Co.h [new file with mode: 0644]
lib/unictype/categ_Cs.c [new file with mode: 0644]
lib/unictype/categ_Cs.h [new file with mode: 0644]
lib/unictype/categ_L.c [new file with mode: 0644]
lib/unictype/categ_L.h [new file with mode: 0644]
lib/unictype/categ_Ll.c [new file with mode: 0644]
lib/unictype/categ_Ll.h [new file with mode: 0644]
lib/unictype/categ_Lm.c [new file with mode: 0644]
lib/unictype/categ_Lm.h [new file with mode: 0644]
lib/unictype/categ_Lo.c [new file with mode: 0644]
lib/unictype/categ_Lo.h [new file with mode: 0644]
lib/unictype/categ_Lt.c [new file with mode: 0644]
lib/unictype/categ_Lt.h [new file with mode: 0644]
lib/unictype/categ_Lu.c [new file with mode: 0644]
lib/unictype/categ_Lu.h [new file with mode: 0644]
lib/unictype/categ_M.c [new file with mode: 0644]
lib/unictype/categ_M.h [new file with mode: 0644]
lib/unictype/categ_Mc.c [new file with mode: 0644]
lib/unictype/categ_Mc.h [new file with mode: 0644]
lib/unictype/categ_Me.c [new file with mode: 0644]
lib/unictype/categ_Me.h [new file with mode: 0644]
lib/unictype/categ_Mn.c [new file with mode: 0644]
lib/unictype/categ_Mn.h [new file with mode: 0644]
lib/unictype/categ_N.c [new file with mode: 0644]
lib/unictype/categ_N.h [new file with mode: 0644]
lib/unictype/categ_Nd.c [new file with mode: 0644]
lib/unictype/categ_Nd.h [new file with mode: 0644]
lib/unictype/categ_Nl.c [new file with mode: 0644]
lib/unictype/categ_Nl.h [new file with mode: 0644]
lib/unictype/categ_No.c [new file with mode: 0644]
lib/unictype/categ_No.h [new file with mode: 0644]
lib/unictype/categ_P.c [new file with mode: 0644]
lib/unictype/categ_P.h [new file with mode: 0644]
lib/unictype/categ_Pc.c [new file with mode: 0644]
lib/unictype/categ_Pc.h [new file with mode: 0644]
lib/unictype/categ_Pd.c [new file with mode: 0644]
lib/unictype/categ_Pd.h [new file with mode: 0644]
lib/unictype/categ_Pe.c [new file with mode: 0644]
lib/unictype/categ_Pe.h [new file with mode: 0644]
lib/unictype/categ_Pf.c [new file with mode: 0644]
lib/unictype/categ_Pf.h [new file with mode: 0644]
lib/unictype/categ_Pi.c [new file with mode: 0644]
lib/unictype/categ_Pi.h [new file with mode: 0644]
lib/unictype/categ_Po.c [new file with mode: 0644]
lib/unictype/categ_Po.h [new file with mode: 0644]
lib/unictype/categ_Ps.c [new file with mode: 0644]
lib/unictype/categ_Ps.h [new file with mode: 0644]
lib/unictype/categ_S.c [new file with mode: 0644]
lib/unictype/categ_S.h [new file with mode: 0644]
lib/unictype/categ_Sc.c [new file with mode: 0644]
lib/unictype/categ_Sc.h [new file with mode: 0644]
lib/unictype/categ_Sk.c [new file with mode: 0644]
lib/unictype/categ_Sk.h [new file with mode: 0644]
lib/unictype/categ_Sm.c [new file with mode: 0644]
lib/unictype/categ_Sm.h [new file with mode: 0644]
lib/unictype/categ_So.c [new file with mode: 0644]
lib/unictype/categ_So.h [new file with mode: 0644]
lib/unictype/categ_Z.c [new file with mode: 0644]
lib/unictype/categ_Z.h [new file with mode: 0644]
lib/unictype/categ_Zl.c [new file with mode: 0644]
lib/unictype/categ_Zl.h [new file with mode: 0644]
lib/unictype/categ_Zp.c [new file with mode: 0644]
lib/unictype/categ_Zp.h [new file with mode: 0644]
lib/unictype/categ_Zs.c [new file with mode: 0644]
lib/unictype/categ_Zs.h [new file with mode: 0644]
lib/unictype/categ_and.c [new file with mode: 0644]
lib/unictype/categ_and_not.c [new file with mode: 0644]
lib/unictype/categ_byname.c [new file with mode: 0644]
lib/unictype/categ_name.c [new file with mode: 0644]
lib/unictype/categ_none.c [new file with mode: 0644]
lib/unictype/categ_of.c [new file with mode: 0644]
lib/unictype/categ_of.h [new file with mode: 0644]
lib/unictype/categ_or.c [new file with mode: 0644]
lib/unictype/categ_test.c [new file with mode: 0644]
lib/unictype/combining.c [new file with mode: 0644]
lib/unictype/combining.h [new file with mode: 0644]
lib/unictype/ctype_alnum.c [new file with mode: 0644]
lib/unictype/ctype_alnum.h [new file with mode: 0644]
lib/unictype/ctype_alpha.c [new file with mode: 0644]
lib/unictype/ctype_alpha.h [new file with mode: 0644]
lib/unictype/ctype_blank.c [new file with mode: 0644]
lib/unictype/ctype_blank.h [new file with mode: 0644]
lib/unictype/ctype_cntrl.c [new file with mode: 0644]
lib/unictype/ctype_cntrl.h [new file with mode: 0644]
lib/unictype/ctype_digit.c [new file with mode: 0644]
lib/unictype/ctype_digit.h [new file with mode: 0644]
lib/unictype/ctype_graph.c [new file with mode: 0644]
lib/unictype/ctype_graph.h [new file with mode: 0644]
lib/unictype/ctype_lower.c [new file with mode: 0644]
lib/unictype/ctype_lower.h [new file with mode: 0644]
lib/unictype/ctype_print.c [new file with mode: 0644]
lib/unictype/ctype_print.h [new file with mode: 0644]
lib/unictype/ctype_punct.c [new file with mode: 0644]
lib/unictype/ctype_punct.h [new file with mode: 0644]
lib/unictype/ctype_space.c [new file with mode: 0644]
lib/unictype/ctype_space.h [new file with mode: 0644]
lib/unictype/ctype_upper.c [new file with mode: 0644]
lib/unictype/ctype_upper.h [new file with mode: 0644]
lib/unictype/ctype_xdigit.c [new file with mode: 0644]
lib/unictype/ctype_xdigit.h [new file with mode: 0644]
lib/unictype/decdigit.c [new file with mode: 0644]
lib/unictype/decdigit.h [new file with mode: 0644]
lib/unictype/digit.c [new file with mode: 0644]
lib/unictype/digit.h [new file with mode: 0644]
lib/unictype/gen-ctype.c [new file with mode: 0644]
lib/unictype/identsyntaxmap.h [new file with mode: 0644]
lib/unictype/mirror.c [new file with mode: 0644]
lib/unictype/mirror.h [new file with mode: 0644]
lib/unictype/numeric.c [new file with mode: 0644]
lib/unictype/numeric.h [new file with mode: 0644]
lib/unictype/pr_alphabetic.c [new file with mode: 0644]
lib/unictype/pr_alphabetic.h [new file with mode: 0644]
lib/unictype/pr_ascii_hex_digit.c [new file with mode: 0644]
lib/unictype/pr_ascii_hex_digit.h [new file with mode: 0644]
lib/unictype/pr_bidi_arabic_digit.c [new file with mode: 0644]
lib/unictype/pr_bidi_arabic_digit.h [new file with mode: 0644]
lib/unictype/pr_bidi_arabic_right_to_left.c [new file with mode: 0644]
lib/unictype/pr_bidi_arabic_right_to_left.h [new file with mode: 0644]
lib/unictype/pr_bidi_block_separator.c [new file with mode: 0644]
lib/unictype/pr_bidi_block_separator.h [new file with mode: 0644]
lib/unictype/pr_bidi_boundary_neutral.c [new file with mode: 0644]
lib/unictype/pr_bidi_boundary_neutral.h [new file with mode: 0644]
lib/unictype/pr_bidi_common_separator.c [new file with mode: 0644]
lib/unictype/pr_bidi_common_separator.h [new file with mode: 0644]
lib/unictype/pr_bidi_control.c [new file with mode: 0644]
lib/unictype/pr_bidi_control.h [new file with mode: 0644]
lib/unictype/pr_bidi_embedding_or_override.c [new file with mode: 0644]
lib/unictype/pr_bidi_embedding_or_override.h [new file with mode: 0644]
lib/unictype/pr_bidi_eur_num_separator.c [new file with mode: 0644]
lib/unictype/pr_bidi_eur_num_separator.h [new file with mode: 0644]
lib/unictype/pr_bidi_eur_num_terminator.c [new file with mode: 0644]
lib/unictype/pr_bidi_eur_num_terminator.h [new file with mode: 0644]
lib/unictype/pr_bidi_european_digit.c [new file with mode: 0644]
lib/unictype/pr_bidi_european_digit.h [new file with mode: 0644]
lib/unictype/pr_bidi_hebrew_right_to_left.c [new file with mode: 0644]
lib/unictype/pr_bidi_hebrew_right_to_left.h [new file with mode: 0644]
lib/unictype/pr_bidi_left_to_right.c [new file with mode: 0644]
lib/unictype/pr_bidi_left_to_right.h [new file with mode: 0644]
lib/unictype/pr_bidi_non_spacing_mark.c [new file with mode: 0644]
lib/unictype/pr_bidi_non_spacing_mark.h [new file with mode: 0644]
lib/unictype/pr_bidi_other_neutral.c [new file with mode: 0644]
lib/unictype/pr_bidi_other_neutral.h [new file with mode: 0644]
lib/unictype/pr_bidi_pdf.c [new file with mode: 0644]
lib/unictype/pr_bidi_pdf.h [new file with mode: 0644]
lib/unictype/pr_bidi_segment_separator.c [new file with mode: 0644]
lib/unictype/pr_bidi_segment_separator.h [new file with mode: 0644]
lib/unictype/pr_bidi_whitespace.c [new file with mode: 0644]
lib/unictype/pr_bidi_whitespace.h [new file with mode: 0644]
lib/unictype/pr_byname.c [new file with mode: 0644]
lib/unictype/pr_byname.gperf [new file with mode: 0644]
lib/unictype/pr_combining.c [new file with mode: 0644]
lib/unictype/pr_combining.h [new file with mode: 0644]
lib/unictype/pr_composite.c [new file with mode: 0644]
lib/unictype/pr_composite.h [new file with mode: 0644]
lib/unictype/pr_currency_symbol.c [new file with mode: 0644]
lib/unictype/pr_currency_symbol.h [new file with mode: 0644]
lib/unictype/pr_dash.c [new file with mode: 0644]
lib/unictype/pr_dash.h [new file with mode: 0644]
lib/unictype/pr_decimal_digit.c [new file with mode: 0644]
lib/unictype/pr_decimal_digit.h [new file with mode: 0644]
lib/unictype/pr_default_ignorable_code_point.c [new file with mode: 0644]
lib/unictype/pr_default_ignorable_code_point.h [new file with mode: 0644]
lib/unictype/pr_deprecated.c [new file with mode: 0644]
lib/unictype/pr_deprecated.h [new file with mode: 0644]
lib/unictype/pr_diacritic.c [new file with mode: 0644]
lib/unictype/pr_diacritic.h [new file with mode: 0644]
lib/unictype/pr_extender.c [new file with mode: 0644]
lib/unictype/pr_extender.h [new file with mode: 0644]
lib/unictype/pr_format_control.c [new file with mode: 0644]
lib/unictype/pr_format_control.h [new file with mode: 0644]
lib/unictype/pr_grapheme_base.c [new file with mode: 0644]
lib/unictype/pr_grapheme_base.h [new file with mode: 0644]
lib/unictype/pr_grapheme_extend.c [new file with mode: 0644]
lib/unictype/pr_grapheme_extend.h [new file with mode: 0644]
lib/unictype/pr_grapheme_link.c [new file with mode: 0644]
lib/unictype/pr_grapheme_link.h [new file with mode: 0644]
lib/unictype/pr_hex_digit.c [new file with mode: 0644]
lib/unictype/pr_hex_digit.h [new file with mode: 0644]
lib/unictype/pr_hyphen.c [new file with mode: 0644]
lib/unictype/pr_hyphen.h [new file with mode: 0644]
lib/unictype/pr_id_continue.c [new file with mode: 0644]
lib/unictype/pr_id_continue.h [new file with mode: 0644]
lib/unictype/pr_id_start.c [new file with mode: 0644]
lib/unictype/pr_id_start.h [new file with mode: 0644]
lib/unictype/pr_ideographic.c [new file with mode: 0644]
lib/unictype/pr_ideographic.h [new file with mode: 0644]
lib/unictype/pr_ids_binary_operator.c [new file with mode: 0644]
lib/unictype/pr_ids_binary_operator.h [new file with mode: 0644]
lib/unictype/pr_ids_trinary_operator.c [new file with mode: 0644]
lib/unictype/pr_ids_trinary_operator.h [new file with mode: 0644]
lib/unictype/pr_ignorable_control.c [new file with mode: 0644]
lib/unictype/pr_ignorable_control.h [new file with mode: 0644]
lib/unictype/pr_iso_control.c [new file with mode: 0644]
lib/unictype/pr_iso_control.h [new file with mode: 0644]
lib/unictype/pr_join_control.c [new file with mode: 0644]
lib/unictype/pr_join_control.h [new file with mode: 0644]
lib/unictype/pr_left_of_pair.c [new file with mode: 0644]
lib/unictype/pr_left_of_pair.h [new file with mode: 0644]
lib/unictype/pr_line_separator.c [new file with mode: 0644]
lib/unictype/pr_line_separator.h [new file with mode: 0644]
lib/unictype/pr_logical_order_exception.c [new file with mode: 0644]
lib/unictype/pr_logical_order_exception.h [new file with mode: 0644]
lib/unictype/pr_lowercase.c [new file with mode: 0644]
lib/unictype/pr_lowercase.h [new file with mode: 0644]
lib/unictype/pr_math.c [new file with mode: 0644]
lib/unictype/pr_math.h [new file with mode: 0644]
lib/unictype/pr_non_break.c [new file with mode: 0644]
lib/unictype/pr_non_break.h [new file with mode: 0644]
lib/unictype/pr_not_a_character.c [new file with mode: 0644]
lib/unictype/pr_not_a_character.h [new file with mode: 0644]
lib/unictype/pr_numeric.c [new file with mode: 0644]
lib/unictype/pr_numeric.h [new file with mode: 0644]
lib/unictype/pr_other_alphabetic.c [new file with mode: 0644]
lib/unictype/pr_other_alphabetic.h [new file with mode: 0644]
lib/unictype/pr_other_default_ignorable_code_point.c [new file with mode: 0644]
lib/unictype/pr_other_default_ignorable_code_point.h [new file with mode: 0644]
lib/unictype/pr_other_grapheme_extend.c [new file with mode: 0644]
lib/unictype/pr_other_grapheme_extend.h [new file with mode: 0644]
lib/unictype/pr_other_id_continue.c [new file with mode: 0644]
lib/unictype/pr_other_id_continue.h [new file with mode: 0644]
lib/unictype/pr_other_id_start.c [new file with mode: 0644]
lib/unictype/pr_other_id_start.h [new file with mode: 0644]
lib/unictype/pr_other_lowercase.c [new file with mode: 0644]
lib/unictype/pr_other_lowercase.h [new file with mode: 0644]
lib/unictype/pr_other_math.c [new file with mode: 0644]
lib/unictype/pr_other_math.h [new file with mode: 0644]
lib/unictype/pr_other_uppercase.c [new file with mode: 0644]
lib/unictype/pr_other_uppercase.h [new file with mode: 0644]
lib/unictype/pr_paired_punctuation.c [new file with mode: 0644]
lib/unictype/pr_paired_punctuation.h [new file with mode: 0644]
lib/unictype/pr_paragraph_separator.c [new file with mode: 0644]
lib/unictype/pr_paragraph_separator.h [new file with mode: 0644]
lib/unictype/pr_pattern_syntax.c [new file with mode: 0644]
lib/unictype/pr_pattern_syntax.h [new file with mode: 0644]
lib/unictype/pr_pattern_white_space.c [new file with mode: 0644]
lib/unictype/pr_pattern_white_space.h [new file with mode: 0644]
lib/unictype/pr_private_use.c [new file with mode: 0644]
lib/unictype/pr_private_use.h [new file with mode: 0644]
lib/unictype/pr_punctuation.c [new file with mode: 0644]
lib/unictype/pr_punctuation.h [new file with mode: 0644]
lib/unictype/pr_quotation_mark.c [new file with mode: 0644]
lib/unictype/pr_quotation_mark.h [new file with mode: 0644]
lib/unictype/pr_radical.c [new file with mode: 0644]
lib/unictype/pr_radical.h [new file with mode: 0644]
lib/unictype/pr_sentence_terminal.c [new file with mode: 0644]
lib/unictype/pr_sentence_terminal.h [new file with mode: 0644]
lib/unictype/pr_soft_dotted.c [new file with mode: 0644]
lib/unictype/pr_soft_dotted.h [new file with mode: 0644]
lib/unictype/pr_space.c [new file with mode: 0644]
lib/unictype/pr_space.h [new file with mode: 0644]
lib/unictype/pr_terminal_punctuation.c [new file with mode: 0644]
lib/unictype/pr_terminal_punctuation.h [new file with mode: 0644]
lib/unictype/pr_test.c [new file with mode: 0644]
lib/unictype/pr_titlecase.c [new file with mode: 0644]
lib/unictype/pr_titlecase.h [new file with mode: 0644]
lib/unictype/pr_unassigned_code_value.c [new file with mode: 0644]
lib/unictype/pr_unassigned_code_value.h [new file with mode: 0644]
lib/unictype/pr_unified_ideograph.c [new file with mode: 0644]
lib/unictype/pr_unified_ideograph.h [new file with mode: 0644]
lib/unictype/pr_uppercase.c [new file with mode: 0644]
lib/unictype/pr_uppercase.h [new file with mode: 0644]
lib/unictype/pr_variation_selector.c [new file with mode: 0644]
lib/unictype/pr_variation_selector.h [new file with mode: 0644]
lib/unictype/pr_white_space.c [new file with mode: 0644]
lib/unictype/pr_white_space.h [new file with mode: 0644]
lib/unictype/pr_xid_continue.c [new file with mode: 0644]
lib/unictype/pr_xid_continue.h [new file with mode: 0644]
lib/unictype/pr_xid_start.c [new file with mode: 0644]
lib/unictype/pr_xid_start.h [new file with mode: 0644]
lib/unictype/pr_zero_width.c [new file with mode: 0644]
lib/unictype/pr_zero_width.h [new file with mode: 0644]
lib/unictype/scripts.c [new file with mode: 0644]
lib/unictype/scripts.h [new file with mode: 0644]
lib/unictype/scripts_byname.gperf [new file with mode: 0644]
lib/unictype/sy_c_ident.c [new file with mode: 0644]
lib/unictype/sy_c_ident.h [new file with mode: 0644]
lib/unictype/sy_c_whitespace.c [new file with mode: 0644]
lib/unictype/sy_c_whitespace.h [new file with mode: 0644]
lib/unictype/sy_java_ident.c [new file with mode: 0644]
lib/unictype/sy_java_ident.h [new file with mode: 0644]
lib/unictype/sy_java_whitespace.c [new file with mode: 0644]
lib/unictype/sy_java_whitespace.h [new file with mode: 0644]
modules/unictype/base [new file with mode: 0644]
modules/unictype/bidicategory-all [new file with mode: 0644]
modules/unictype/bidicategory-byname [new file with mode: 0644]
modules/unictype/bidicategory-name [new file with mode: 0644]
modules/unictype/bidicategory-of [new file with mode: 0644]
modules/unictype/bidicategory-test [new file with mode: 0644]
modules/unictype/block-all [new file with mode: 0644]
modules/unictype/block-list [new file with mode: 0644]
modules/unictype/block-of [new file with mode: 0644]
modules/unictype/block-test [new file with mode: 0644]
modules/unictype/category-C [new file with mode: 0644]
modules/unictype/category-Cc [new file with mode: 0644]
modules/unictype/category-Cf [new file with mode: 0644]
modules/unictype/category-Cn [new file with mode: 0644]
modules/unictype/category-Co [new file with mode: 0644]
modules/unictype/category-Cs [new file with mode: 0644]
modules/unictype/category-L [new file with mode: 0644]
modules/unictype/category-Ll [new file with mode: 0644]
modules/unictype/category-Lm [new file with mode: 0644]
modules/unictype/category-Lo [new file with mode: 0644]
modules/unictype/category-Lt [new file with mode: 0644]
modules/unictype/category-Lu [new file with mode: 0644]
modules/unictype/category-M [new file with mode: 0644]
modules/unictype/category-Mc [new file with mode: 0644]
modules/unictype/category-Me [new file with mode: 0644]
modules/unictype/category-Mn [new file with mode: 0644]
modules/unictype/category-N [new file with mode: 0644]
modules/unictype/category-Nd [new file with mode: 0644]
modules/unictype/category-Nl [new file with mode: 0644]
modules/unictype/category-No [new file with mode: 0644]
modules/unictype/category-P [new file with mode: 0644]
modules/unictype/category-Pc [new file with mode: 0644]
modules/unictype/category-Pd [new file with mode: 0644]
modules/unictype/category-Pe [new file with mode: 0644]
modules/unictype/category-Pf [new file with mode: 0644]
modules/unictype/category-Pi [new file with mode: 0644]
modules/unictype/category-Po [new file with mode: 0644]
modules/unictype/category-Ps [new file with mode: 0644]
modules/unictype/category-S [new file with mode: 0644]
modules/unictype/category-Sc [new file with mode: 0644]
modules/unictype/category-Sk [new file with mode: 0644]
modules/unictype/category-Sm [new file with mode: 0644]
modules/unictype/category-So [new file with mode: 0644]
modules/unictype/category-Z [new file with mode: 0644]
modules/unictype/category-Zl [new file with mode: 0644]
modules/unictype/category-Zp [new file with mode: 0644]
modules/unictype/category-Zs [new file with mode: 0644]
modules/unictype/category-all [new file with mode: 0644]
modules/unictype/category-and [new file with mode: 0644]
modules/unictype/category-and-not [new file with mode: 0644]
modules/unictype/category-byname [new file with mode: 0644]
modules/unictype/category-name [new file with mode: 0644]
modules/unictype/category-none [new file with mode: 0644]
modules/unictype/category-of [new file with mode: 0644]
modules/unictype/category-or [new file with mode: 0644]
modules/unictype/category-test [new file with mode: 0644]
modules/unictype/category-test-withtable [new file with mode: 0644]
modules/unictype/combining-class [new file with mode: 0644]
modules/unictype/ctype-alnum [new file with mode: 0644]
modules/unictype/ctype-alpha [new file with mode: 0644]
modules/unictype/ctype-blank [new file with mode: 0644]
modules/unictype/ctype-cntrl [new file with mode: 0644]
modules/unictype/ctype-digit [new file with mode: 0644]
modules/unictype/ctype-graph [new file with mode: 0644]
modules/unictype/ctype-lower [new file with mode: 0644]
modules/unictype/ctype-print [new file with mode: 0644]
modules/unictype/ctype-punct [new file with mode: 0644]
modules/unictype/ctype-space [new file with mode: 0644]
modules/unictype/ctype-upper [new file with mode: 0644]
modules/unictype/ctype-xdigit [new file with mode: 0644]
modules/unictype/decimal-digit [new file with mode: 0644]
modules/unictype/digit [new file with mode: 0644]
modules/unictype/mirror [new file with mode: 0644]
modules/unictype/numeric [new file with mode: 0644]
modules/unictype/property-all [new file with mode: 0644]
modules/unictype/property-alphabetic [new file with mode: 0644]
modules/unictype/property-ascii-hex-digit [new file with mode: 0644]
modules/unictype/property-bidi-arabic-digit [new file with mode: 0644]
modules/unictype/property-bidi-arabic-right-to-left [new file with mode: 0644]
modules/unictype/property-bidi-block-separator [new file with mode: 0644]
modules/unictype/property-bidi-boundary-neutral [new file with mode: 0644]
modules/unictype/property-bidi-common-separator [new file with mode: 0644]
modules/unictype/property-bidi-control [new file with mode: 0644]
modules/unictype/property-bidi-embedding-or-override [new file with mode: 0644]
modules/unictype/property-bidi-eur-num-separator [new file with mode: 0644]
modules/unictype/property-bidi-eur-num-terminator [new file with mode: 0644]
modules/unictype/property-bidi-european-digit [new file with mode: 0644]
modules/unictype/property-bidi-hebrew-right-to-left [new file with mode: 0644]
modules/unictype/property-bidi-left-to-right [new file with mode: 0644]
modules/unictype/property-bidi-non-spacing-mark [new file with mode: 0644]
modules/unictype/property-bidi-other-neutral [new file with mode: 0644]
modules/unictype/property-bidi-pdf [new file with mode: 0644]
modules/unictype/property-bidi-segment-separator [new file with mode: 0644]
modules/unictype/property-bidi-whitespace [new file with mode: 0644]
modules/unictype/property-byname [new file with mode: 0644]
modules/unictype/property-combining [new file with mode: 0644]
modules/unictype/property-composite [new file with mode: 0644]
modules/unictype/property-currency-symbol [new file with mode: 0644]
modules/unictype/property-dash [new file with mode: 0644]
modules/unictype/property-decimal-digit [new file with mode: 0644]
modules/unictype/property-default-ignorable-code-point [new file with mode: 0644]
modules/unictype/property-deprecated [new file with mode: 0644]
modules/unictype/property-diacritic [new file with mode: 0644]
modules/unictype/property-extender [new file with mode: 0644]
modules/unictype/property-format-control [new file with mode: 0644]
modules/unictype/property-grapheme-base [new file with mode: 0644]
modules/unictype/property-grapheme-extend [new file with mode: 0644]
modules/unictype/property-grapheme-link [new file with mode: 0644]
modules/unictype/property-hex-digit [new file with mode: 0644]
modules/unictype/property-hyphen [new file with mode: 0644]
modules/unictype/property-id-continue [new file with mode: 0644]
modules/unictype/property-id-start [new file with mode: 0644]
modules/unictype/property-ideographic [new file with mode: 0644]
modules/unictype/property-ids-binary-operator [new file with mode: 0644]
modules/unictype/property-ids-trinary-operator [new file with mode: 0644]
modules/unictype/property-ignorable-control [new file with mode: 0644]
modules/unictype/property-iso-control [new file with mode: 0644]
modules/unictype/property-join-control [new file with mode: 0644]
modules/unictype/property-left-of-pair [new file with mode: 0644]
modules/unictype/property-line-separator [new file with mode: 0644]
modules/unictype/property-logical-order-exception [new file with mode: 0644]
modules/unictype/property-lowercase [new file with mode: 0644]
modules/unictype/property-math [new file with mode: 0644]
modules/unictype/property-non-break [new file with mode: 0644]
modules/unictype/property-not-a-character [new file with mode: 0644]
modules/unictype/property-numeric [new file with mode: 0644]
modules/unictype/property-other-alphabetic [new file with mode: 0644]
modules/unictype/property-other-default-ignorable-code-point [new file with mode: 0644]
modules/unictype/property-other-grapheme-extend [new file with mode: 0644]
modules/unictype/property-other-id-continue [new file with mode: 0644]
modules/unictype/property-other-id-start [new file with mode: 0644]
modules/unictype/property-other-lowercase [new file with mode: 0644]
modules/unictype/property-other-math [new file with mode: 0644]
modules/unictype/property-other-uppercase [new file with mode: 0644]
modules/unictype/property-paired-punctuation [new file with mode: 0644]
modules/unictype/property-paragraph-separator [new file with mode: 0644]
modules/unictype/property-pattern-syntax [new file with mode: 0644]
modules/unictype/property-pattern-white-space [new file with mode: 0644]
modules/unictype/property-private-use [new file with mode: 0644]
modules/unictype/property-punctuation [new file with mode: 0644]
modules/unictype/property-quotation-mark [new file with mode: 0644]
modules/unictype/property-radical [new file with mode: 0644]
modules/unictype/property-sentence-terminal [new file with mode: 0644]
modules/unictype/property-soft-dotted [new file with mode: 0644]
modules/unictype/property-space [new file with mode: 0644]
modules/unictype/property-terminal-punctuation [new file with mode: 0644]
modules/unictype/property-test [new file with mode: 0644]
modules/unictype/property-titlecase [new file with mode: 0644]
modules/unictype/property-unassigned-code-value [new file with mode: 0644]
modules/unictype/property-unified-ideograph [new file with mode: 0644]
modules/unictype/property-uppercase [new file with mode: 0644]
modules/unictype/property-variation-selector [new file with mode: 0644]
modules/unictype/property-white-space [new file with mode: 0644]
modules/unictype/property-xid-continue [new file with mode: 0644]
modules/unictype/property-xid-start [new file with mode: 0644]
modules/unictype/property-zero-width [new file with mode: 0644]
modules/unictype/scripts [new file with mode: 0644]
modules/unictype/scripts-all [new file with mode: 0644]
modules/unictype/syntax-c-ident [new file with mode: 0644]
modules/unictype/syntax-c-whitespace [new file with mode: 0644]
modules/unictype/syntax-java-ident [new file with mode: 0644]
modules/unictype/syntax-java-whitespace [new file with mode: 0644]

index 4d3ed92..1df3cf6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,478 @@
+2007-11-12  Bruno Haible  <bruno@clisp.org>
+
+       Unicode character classification functions.
+       * lib/unictype.h: New file.
+       * modules/unictype/base: New file.
+       * modules/unictype/category-L: New file.
+       * modules/unictype/category-Lu: New file.
+       * modules/unictype/category-Ll: New file.
+       * modules/unictype/category-Lt: New file.
+       * modules/unictype/category-Lm: New file.
+       * modules/unictype/category-Lo: New file.
+       * modules/unictype/category-M: New file.
+       * modules/unictype/category-Mn: New file.
+       * modules/unictype/category-Mc: New file.
+       * modules/unictype/category-Me: New file.
+       * modules/unictype/category-N: New file.
+       * modules/unictype/category-Nd: New file.
+       * modules/unictype/category-Nl: New file.
+       * modules/unictype/category-No: New file.
+       * modules/unictype/category-P: New file.
+       * modules/unictype/category-Pc: New file.
+       * modules/unictype/category-Pd: New file.
+       * modules/unictype/category-Ps: New file.
+       * modules/unictype/category-Pe: New file.
+       * modules/unictype/category-Pi: New file.
+       * modules/unictype/category-Pf: New file.
+       * modules/unictype/category-Po: New file.
+       * modules/unictype/category-S: New file.
+       * modules/unictype/category-Sm: New file.
+       * modules/unictype/category-Sc: New file.
+       * modules/unictype/category-Sk: New file.
+       * modules/unictype/category-So: New file.
+       * modules/unictype/category-Z: New file.
+       * modules/unictype/category-Zs: New file.
+       * modules/unictype/category-Zl: New file.
+       * modules/unictype/category-Zp: New file.
+       * modules/unictype/category-C: New file.
+       * modules/unictype/category-Cc: New file.
+       * modules/unictype/category-Cf: New file.
+       * modules/unictype/category-Cs: New file.
+       * modules/unictype/category-Co: New file.
+       * modules/unictype/category-Cn: New file.
+       * modules/unictype/category-or: New file.
+       * modules/unictype/category-of: New file.
+       * modules/unictype/category-test: New file.
+       * modules/unictype/category-test-withtable: New file.
+       * modules/unictype/category-byname: New file.
+       * modules/unictype/category-none: New file.
+       * modules/unictype/category-and: New file.
+       * modules/unictype/category-and-not: New file.
+       * modules/unictype/category-name: New file.
+       * modules/unictype/combining-class: New file.
+       * modules/unictype/category-all: New file.
+       * modules/unictype/bidicategory-all: New file.
+       * modules/unictype/bidicategory-byname: New file.
+       * modules/unictype/bidicategory-name: New file.
+       * modules/unictype/bidicategory-of: New file.
+       * modules/unictype/bidicategory-test: New file.
+       * modules/unictype/decimal-digit: New file.
+       * modules/unictype/digit: New file.
+       * modules/unictype/numeric: New file.
+       * modules/unictype/mirror: New file.
+       * modules/unictype/property-white-space: New file.
+       * modules/unictype/property-alphabetic: New file.
+       * modules/unictype/property-other-alphabetic: New file.
+       * modules/unictype/property-not-a-character: New file.
+       * modules/unictype/property-default-ignorable-code-point: New file.
+       * modules/unictype/property-other-default-ignorable-code-point: New
+       file.
+       * modules/unictype/property-deprecated: New file.
+       * modules/unictype/property-logical-order-exception: New file.
+       * modules/unictype/property-variation-selector: New file.
+       * modules/unictype/property-private-use: New file.
+       * modules/unictype/property-unassigned-code-value: New file.
+       * modules/unictype/property-uppercase: New file.
+       * modules/unictype/property-other-uppercase: New file.
+       * modules/unictype/property-lowercase: New file.
+       * modules/unictype/property-other-lowercase: New file.
+       * modules/unictype/property-titlecase: New file.
+       * modules/unictype/property-soft-dotted: New file.
+       * modules/unictype/property-id-start: New file.
+       * modules/unictype/property-other-id-start: New file.
+       * modules/unictype/property-id-continue: New file.
+       * modules/unictype/property-other-id-continue: New file.
+       * modules/unictype/property-xid-start: New file.
+       * modules/unictype/property-xid-continue: New file.
+       * modules/unictype/property-pattern-white-space: New file.
+       * modules/unictype/property-pattern-syntax: New file.
+       * modules/unictype/property-join-control: New file.
+       * modules/unictype/property-grapheme-base: New file.
+       * modules/unictype/property-grapheme-extend: New file.
+       * modules/unictype/property-other-grapheme-extend: New file.
+       * modules/unictype/property-grapheme-link: New file.
+       * modules/unictype/property-bidi-control: New file.
+       * modules/unictype/property-bidi-left-to-right: New file.
+       * modules/unictype/property-bidi-hebrew-right-to-left: New file.
+       * modules/unictype/property-bidi-arabic-right-to-left: New file.
+       * modules/unictype/property-bidi-european-digit: New file.
+       * modules/unictype/property-bidi-eur-num-separator: New file.
+       * modules/unictype/property-bidi-eur-num-terminator: New file.
+       * modules/unictype/property-bidi-arabic-digit: New file.
+       * modules/unictype/property-bidi-common-separator: New file.
+       * modules/unictype/property-bidi-block-separator: New file.
+       * modules/unictype/property-bidi-segment-separator: New file.
+       * modules/unictype/property-bidi-whitespace: New file.
+       * modules/unictype/property-bidi-non-spacing-mark: New file.
+       * modules/unictype/property-bidi-boundary-neutral: New file.
+       * modules/unictype/property-bidi-pdf: New file.
+       * modules/unictype/property-bidi-embedding-or-override: New file.
+       * modules/unictype/property-bidi-other-neutral: New file.
+       * modules/unictype/property-hex-digit: New file.
+       * modules/unictype/property-ascii-hex-digit: New file.
+       * modules/unictype/property-ideographic: New file.
+       * modules/unictype/property-unified-ideograph: New file.
+       * modules/unictype/property-radical: New file.
+       * modules/unictype/property-ids-binary-operator: New file.
+       * modules/unictype/property-ids-trinary-operator: New file.
+       * modules/unictype/property-zero-width: New file.
+       * modules/unictype/property-space: New file.
+       * modules/unictype/property-non-break: New file.
+       * modules/unictype/property-iso-control: New file.
+       * modules/unictype/property-format-control: New file.
+       * modules/unictype/property-dash: New file.
+       * modules/unictype/property-hyphen: New file.
+       * modules/unictype/property-punctuation: New file.
+       * modules/unictype/property-line-separator: New file.
+       * modules/unictype/property-paragraph-separator: New file.
+       * modules/unictype/property-quotation-mark: New file.
+       * modules/unictype/property-sentence-terminal: New file.
+       * modules/unictype/property-terminal-punctuation: New file.
+       * modules/unictype/property-currency-symbol: New file.
+       * modules/unictype/property-math: New file.
+       * modules/unictype/property-other-math: New file.
+       * modules/unictype/property-paired-punctuation: New file.
+       * modules/unictype/property-left-of-pair: New file.
+       * modules/unictype/property-combining: New file.
+       * modules/unictype/property-composite: New file.
+       * modules/unictype/property-decimal-digit: New file.
+       * modules/unictype/property-numeric: New file.
+       * modules/unictype/property-diacritic: New file.
+       * modules/unictype/property-extender: New file.
+       * modules/unictype/property-ignorable-control: New file.
+       * modules/unictype/property-test: New file.
+       * modules/unictype/property-byname: New file.
+       * modules/unictype/property-all: New file.
+       * modules/unictype/scripts: New file.
+       * modules/unictype/scripts-all: New file.
+       * modules/unictype/block-of: New file.
+       * modules/unictype/block-test: New file.
+       * modules/unictype/block-list: New file.
+       * modules/unictype/block-all: New file.
+       * modules/unictype/syntax-c-whitespace: New file.
+       * modules/unictype/syntax-java-whitespace: New file.
+       * modules/unictype/syntax-c-ident: New file.
+       * modules/unictype/syntax-java-ident: New file.
+       * modules/unictype/ctype-alnum: New file.
+       * modules/unictype/ctype-alpha: New file.
+       * modules/unictype/ctype-cntrl: New file.
+       * modules/unictype/ctype-digit: New file.
+       * modules/unictype/ctype-graph: New file.
+       * modules/unictype/ctype-lower: New file.
+       * modules/unictype/ctype-print: New file.
+       * modules/unictype/ctype-punct: New file.
+       * modules/unictype/ctype-space: New file.
+       * modules/unictype/ctype-upper: New file.
+       * modules/unictype/ctype-xdigit: New file.
+       * modules/unictype/ctype-blank: New file.
+       * lib/unictype/bidi_byname.c: New file.
+       * lib/unictype/bidi_name.c: New file.
+       * lib/unictype/bidi_of.c: New file.
+       * lib/unictype/bidi_test.c: New file.
+       * lib/unictype/bitmap.h: New file.
+       * lib/unictype/block_test.c: New file.
+       * lib/unictype/blocks.c: New file.
+       * lib/unictype/categ_C.c: New file.
+       * lib/unictype/categ_Cc.c: New file.
+       * lib/unictype/categ_Cf.c: New file.
+       * lib/unictype/categ_Cn.c: New file.
+       * lib/unictype/categ_Co.c: New file.
+       * lib/unictype/categ_Cs.c: New file.
+       * lib/unictype/categ_L.c: New file.
+       * lib/unictype/categ_Ll.c: New file.
+       * lib/unictype/categ_Lm.c: New file.
+       * lib/unictype/categ_Lo.c: New file.
+       * lib/unictype/categ_Lt.c: New file.
+       * lib/unictype/categ_Lu.c: New file.
+       * lib/unictype/categ_M.c: New file.
+       * lib/unictype/categ_Mc.c: New file.
+       * lib/unictype/categ_Me.c: New file.
+       * lib/unictype/categ_Mn.c: New file.
+       * lib/unictype/categ_N.c: New file.
+       * lib/unictype/categ_Nd.c: New file.
+       * lib/unictype/categ_Nl.c: New file.
+       * lib/unictype/categ_No.c: New file.
+       * lib/unictype/categ_P.c: New file.
+       * lib/unictype/categ_Pc.c: New file.
+       * lib/unictype/categ_Pd.c: New file.
+       * lib/unictype/categ_Pe.c: New file.
+       * lib/unictype/categ_Pf.c: New file.
+       * lib/unictype/categ_Pi.c: New file.
+       * lib/unictype/categ_Po.c: New file.
+       * lib/unictype/categ_Ps.c: New file.
+       * lib/unictype/categ_S.c: New file.
+       * lib/unictype/categ_Sc.c: New file.
+       * lib/unictype/categ_Sk.c: New file.
+       * lib/unictype/categ_Sm.c: New file.
+       * lib/unictype/categ_So.c: New file.
+       * lib/unictype/categ_Z.c: New file.
+       * lib/unictype/categ_Zl.c: New file.
+       * lib/unictype/categ_Zp.c: New file.
+       * lib/unictype/categ_Zs.c: New file.
+       * lib/unictype/categ_and.c: New file.
+       * lib/unictype/categ_and_not.c: New file.
+       * lib/unictype/categ_byname.c: New file.
+       * lib/unictype/categ_name.c: New file.
+       * lib/unictype/categ_none.c: New file.
+       * lib/unictype/categ_of.c: New file.
+       * lib/unictype/categ_or.c: New file.
+       * lib/unictype/categ_test.c: New file.
+       * lib/unictype/combining.c: New file.
+       * lib/unictype/ctype_alnum.c: New file.
+       * lib/unictype/ctype_alpha.c: New file.
+       * lib/unictype/ctype_blank.c: New file.
+       * lib/unictype/ctype_cntrl.c: New file.
+       * lib/unictype/ctype_digit.c: New file.
+       * lib/unictype/ctype_graph.c: New file.
+       * lib/unictype/ctype_lower.c: New file.
+       * lib/unictype/ctype_print.c: New file.
+       * lib/unictype/ctype_punct.c: New file.
+       * lib/unictype/ctype_space.c: New file.
+       * lib/unictype/ctype_upper.c: New file.
+       * lib/unictype/ctype_xdigit.c: New file.
+       * lib/unictype/decdigit.c: New file.
+       * lib/unictype/digit.c: New file.
+       * lib/unictype/identsyntaxmap.h: New file.
+       * lib/unictype/mirror.c: New file.
+       * lib/unictype/numeric.c: New file.
+       * lib/unictype/pr_alphabetic.c: New file.
+       * lib/unictype/pr_ascii_hex_digit.c: New file.
+       * lib/unictype/pr_bidi_arabic_digit.c: New file.
+       * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
+       * lib/unictype/pr_bidi_block_separator.c: New file.
+       * lib/unictype/pr_bidi_boundary_neutral.c: New file.
+       * lib/unictype/pr_bidi_common_separator.c: New file.
+       * lib/unictype/pr_bidi_control.c: New file.
+       * lib/unictype/pr_bidi_embedding_or_override.c: New file.
+       * lib/unictype/pr_bidi_eur_num_separator.c: New file.
+       * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
+       * lib/unictype/pr_bidi_european_digit.c: New file.
+       * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
+       * lib/unictype/pr_bidi_left_to_right.c: New file.
+       * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
+       * lib/unictype/pr_bidi_other_neutral.c: New file.
+       * lib/unictype/pr_bidi_pdf.c: New file.
+       * lib/unictype/pr_bidi_segment_separator.c: New file.
+       * lib/unictype/pr_bidi_whitespace.c: New file.
+       * lib/unictype/pr_byname.c: New file.
+       * lib/unictype/pr_byname.gperf: New file.
+       * lib/unictype/pr_combining.c: New file.
+       * lib/unictype/pr_composite.c: New file.
+       * lib/unictype/pr_currency_symbol.c: New file.
+       * lib/unictype/pr_dash.c: New file.
+       * lib/unictype/pr_decimal_digit.c: New file.
+       * lib/unictype/pr_default_ignorable_code_point.c: New file.
+       * lib/unictype/pr_deprecated.c: New file.
+       * lib/unictype/pr_diacritic.c: New file.
+       * lib/unictype/pr_extender.c: New file.
+       * lib/unictype/pr_format_control.c: New file.
+       * lib/unictype/pr_grapheme_base.c: New file.
+       * lib/unictype/pr_grapheme_extend.c: New file.
+       * lib/unictype/pr_grapheme_link.c: New file.
+       * lib/unictype/pr_hex_digit.c: New file.
+       * lib/unictype/pr_hyphen.c: New file.
+       * lib/unictype/pr_id_continue.c: New file.
+       * lib/unictype/pr_id_start.c: New file.
+       * lib/unictype/pr_ideographic.c: New file.
+       * lib/unictype/pr_ids_binary_operator.c: New file.
+       * lib/unictype/pr_ids_trinary_operator.c: New file.
+       * lib/unictype/pr_ignorable_control.c: New file.
+       * lib/unictype/pr_iso_control.c: New file.
+       * lib/unictype/pr_join_control.c: New file.
+       * lib/unictype/pr_left_of_pair.c: New file.
+       * lib/unictype/pr_line_separator.c: New file.
+       * lib/unictype/pr_logical_order_exception.c: New file.
+       * lib/unictype/pr_lowercase.c: New file.
+       * lib/unictype/pr_math.c: New file.
+       * lib/unictype/pr_non_break.c: New file.
+       * lib/unictype/pr_not_a_character.c: New file.
+       * lib/unictype/pr_numeric.c: New file.
+       * lib/unictype/pr_other_alphabetic.c: New file.
+       * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
+       * lib/unictype/pr_other_grapheme_extend.c: New file.
+       * lib/unictype/pr_other_id_continue.c: New file.
+       * lib/unictype/pr_other_id_start.c: New file.
+       * lib/unictype/pr_other_lowercase.c: New file.
+       * lib/unictype/pr_other_math.c: New file.
+       * lib/unictype/pr_other_uppercase.c: New file.
+       * lib/unictype/pr_paired_punctuation.c: New file.
+       * lib/unictype/pr_paragraph_separator.c: New file.
+       * lib/unictype/pr_pattern_syntax.c: New file.
+       * lib/unictype/pr_pattern_white_space.c: New file.
+       * lib/unictype/pr_private_use.c: New file.
+       * lib/unictype/pr_punctuation.c: New file.
+       * lib/unictype/pr_quotation_mark.c: New file.
+       * lib/unictype/pr_radical.c: New file.
+       * lib/unictype/pr_sentence_terminal.c: New file.
+       * lib/unictype/pr_soft_dotted.c: New file.
+       * lib/unictype/pr_space.c: New file.
+       * lib/unictype/pr_terminal_punctuation.c: New file.
+       * lib/unictype/pr_test.c: New file.
+       * lib/unictype/pr_titlecase.c: New file.
+       * lib/unictype/pr_unassigned_code_value.c: New file.
+       * lib/unictype/pr_unified_ideograph.c: New file.
+       * lib/unictype/pr_uppercase.c: New file.
+       * lib/unictype/pr_variation_selector.c: New file.
+       * lib/unictype/pr_white_space.c: New file.
+       * lib/unictype/pr_xid_continue.c: New file.
+       * lib/unictype/pr_xid_start.c: New file.
+       * lib/unictype/pr_zero_width.c: New file.
+       * lib/unictype/scripts.c: New file.
+       * lib/unictype/sy_c_ident.c: New file.
+       * lib/unictype/sy_c_whitespace.c: New file.
+       * lib/unictype/sy_java_ident.c: New file.
+       * lib/unictype/sy_java_whitespace.c: New file.
+
+       * lib/unictype/bidi_of.h: New file, generated from gen-ctype.c for
+       Unicode 5.0.0.
+       * lib/unictype/blocks.h: Likewise.
+       * lib/unictype/categ_C.h: Likewise.
+       * lib/unictype/categ_Cc.h: Likewise.
+       * lib/unictype/categ_Cf.h: Likewise.
+       * lib/unictype/categ_Cn.h: Likewise.
+       * lib/unictype/categ_Co.h: Likewise.
+       * lib/unictype/categ_Cs.h: Likewise.
+       * lib/unictype/categ_L.h: Likewise.
+       * lib/unictype/categ_Ll.h: Likewise.
+       * lib/unictype/categ_Lm.h: Likewise.
+       * lib/unictype/categ_Lo.h: Likewise.
+       * lib/unictype/categ_Lt.h: Likewise.
+       * lib/unictype/categ_Lu.h: Likewise.
+       * lib/unictype/categ_M.h: Likewise.
+       * lib/unictype/categ_Mc.h: Likewise.
+       * lib/unictype/categ_Me.h: Likewise.
+       * lib/unictype/categ_Mn.h: Likewise.
+       * lib/unictype/categ_N.h: Likewise.
+       * lib/unictype/categ_Nd.h: Likewise.
+       * lib/unictype/categ_Nl.h: Likewise.
+       * lib/unictype/categ_No.h: Likewise.
+       * lib/unictype/categ_P.h: Likewise.
+       * lib/unictype/categ_Pc.h: Likewise.
+       * lib/unictype/categ_Pd.h: Likewise.
+       * lib/unictype/categ_Pe.h: Likewise.
+       * lib/unictype/categ_Pf.h: Likewise.
+       * lib/unictype/categ_Pi.h: Likewise.
+       * lib/unictype/categ_Po.h: Likewise.
+       * lib/unictype/categ_Ps.h: Likewise.
+       * lib/unictype/categ_S.h: Likewise.
+       * lib/unictype/categ_Sc.h: Likewise.
+       * lib/unictype/categ_Sk.h: Likewise.
+       * lib/unictype/categ_Sm.h: Likewise.
+       * lib/unictype/categ_So.h: Likewise.
+       * lib/unictype/categ_Z.h: Likewise.
+       * lib/unictype/categ_Zl.h: Likewise.
+       * lib/unictype/categ_Zp.h: Likewise.
+       * lib/unictype/categ_Zs.h: Likewise.
+       * lib/unictype/categ_of.h: Likewise.
+       * lib/unictype/combining.h: Likewise.
+       * lib/unictype/ctype_alnum.h: Likewise.
+       * lib/unictype/ctype_alpha.h: Likewise.
+       * lib/unictype/ctype_blank.h: Likewise.
+       * lib/unictype/ctype_cntrl.h: Likewise.
+       * lib/unictype/ctype_digit.h: Likewise.
+       * lib/unictype/ctype_graph.h: Likewise.
+       * lib/unictype/ctype_lower.h: Likewise.
+       * lib/unictype/ctype_print.h: Likewise.
+       * lib/unictype/ctype_punct.h: Likewise.
+       * lib/unictype/ctype_space.h: Likewise.
+       * lib/unictype/ctype_upper.h: Likewise.
+       * lib/unictype/ctype_xdigit.h: Likewise.
+       * lib/unictype/decdigit.h: Likewise.
+       * lib/unictype/digit.h: Likewise.
+       * lib/unictype/mirror.h: Likewise.
+       * lib/unictype/numeric.h: Likewise.
+       * lib/unictype/pr_alphabetic.h: Likewise.
+       * lib/unictype/pr_ascii_hex_digit.h: Likewise.
+       * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
+       * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
+       * lib/unictype/pr_bidi_block_separator.h: Likewise.
+       * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
+       * lib/unictype/pr_bidi_common_separator.h: Likewise.
+       * lib/unictype/pr_bidi_control.h: Likewise.
+       * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
+       * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
+       * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
+       * lib/unictype/pr_bidi_european_digit.h: Likewise.
+       * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
+       * lib/unictype/pr_bidi_left_to_right.h: Likewise.
+       * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
+       * lib/unictype/pr_bidi_other_neutral.h: Likewise.
+       * lib/unictype/pr_bidi_pdf.h: Likewise.
+       * lib/unictype/pr_bidi_segment_separator.h: Likewise.
+       * lib/unictype/pr_bidi_whitespace.h: Likewise.
+       * lib/unictype/pr_combining.h: Likewise.
+       * lib/unictype/pr_composite.h: Likewise.
+       * lib/unictype/pr_currency_symbol.h: Likewise.
+       * lib/unictype/pr_dash.h: Likewise.
+       * lib/unictype/pr_decimal_digit.h: Likewise.
+       * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
+       * lib/unictype/pr_deprecated.h: Likewise.
+       * lib/unictype/pr_diacritic.h: Likewise.
+       * lib/unictype/pr_extender.h: Likewise.
+       * lib/unictype/pr_format_control.h: Likewise.
+       * lib/unictype/pr_grapheme_base.h: Likewise.
+       * lib/unictype/pr_grapheme_extend.h: Likewise.
+       * lib/unictype/pr_grapheme_link.h: Likewise.
+       * lib/unictype/pr_hex_digit.h: Likewise.
+       * lib/unictype/pr_hyphen.h: Likewise.
+       * lib/unictype/pr_id_continue.h: Likewise.
+       * lib/unictype/pr_id_start.h: Likewise.
+       * lib/unictype/pr_ideographic.h: Likewise.
+       * lib/unictype/pr_ids_binary_operator.h: Likewise.
+       * lib/unictype/pr_ids_trinary_operator.h: Likewise.
+       * lib/unictype/pr_ignorable_control.h: Likewise.
+       * lib/unictype/pr_iso_control.h: Likewise.
+       * lib/unictype/pr_join_control.h: Likewise.
+       * lib/unictype/pr_left_of_pair.h: Likewise.
+       * lib/unictype/pr_line_separator.h: Likewise.
+       * lib/unictype/pr_logical_order_exception.h: Likewise.
+       * lib/unictype/pr_lowercase.h: Likewise.
+       * lib/unictype/pr_math.h: Likewise.
+       * lib/unictype/pr_non_break.h: Likewise.
+       * lib/unictype/pr_not_a_character.h: Likewise.
+       * lib/unictype/pr_numeric.h: Likewise.
+       * lib/unictype/pr_other_alphabetic.h: Likewise.
+       * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
+       * lib/unictype/pr_other_grapheme_extend.h: Likewise.
+       * lib/unictype/pr_other_id_continue.h: Likewise.
+       * lib/unictype/pr_other_id_start.h: Likewise.
+       * lib/unictype/pr_other_lowercase.h: Likewise.
+       * lib/unictype/pr_other_math.h: Likewise.
+       * lib/unictype/pr_other_uppercase.h: Likewise.
+       * lib/unictype/pr_paired_punctuation.h: Likewise.
+       * lib/unictype/pr_paragraph_separator.h: Likewise.
+       * lib/unictype/pr_pattern_syntax.h: Likewise.
+       * lib/unictype/pr_pattern_white_space.h: Likewise.
+       * lib/unictype/pr_private_use.h: Likewise.
+       * lib/unictype/pr_punctuation.h: Likewise.
+       * lib/unictype/pr_quotation_mark.h: Likewise.
+       * lib/unictype/pr_radical.h: Likewise.
+       * lib/unictype/pr_sentence_terminal.h: Likewise.
+       * lib/unictype/pr_soft_dotted.h: Likewise.
+       * lib/unictype/pr_space.h: Likewise.
+       * lib/unictype/pr_terminal_punctuation.h: Likewise.
+       * lib/unictype/pr_titlecase.h: Likewise.
+       * lib/unictype/pr_unassigned_code_value.h: Likewise.
+       * lib/unictype/pr_unified_ideograph.h: Likewise.
+       * lib/unictype/pr_uppercase.h: Likewise.
+       * lib/unictype/pr_variation_selector.h: Likewise.
+       * lib/unictype/pr_white_space.h: Likewise.
+       * lib/unictype/pr_xid_continue.h: Likewise.
+       * lib/unictype/pr_xid_start.h: Likewise.
+       * lib/unictype/pr_zero_width.h: Likewise.
+       * lib/unictype/scripts.h: Likewise.
+       * lib/unictype/scripts_byname.gperf: Likewise.
+       * lib/unictype/sy_c_ident.h: Likewise.
+       * lib/unictype/sy_c_whitespace.h: Likewise.
+       * lib/unictype/sy_java_ident.h: Likewise.
+       * lib/unictype/sy_java_whitespace.h: Likewise.
+
+       * lib/unictype/Makefile: New file.
+       * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
+       glibc.
+       * lib/unictype/3level.h: New file, copied from glibc.
+       * lib/unictype/3levelbit.h: New file.
+
 2007-11-11  Bruno Haible  <bruno@clisp.org>
 
        * modules/gperf: New file.
diff --git a/lib/unictype.h b/lib/unictype.h
new file mode 100644 (file)
index 0000000..b4cee65
--- /dev/null
@@ -0,0 +1,714 @@
+/* Unicode character classification and properties.
+   Copyright (C) 2002, 2005-2007 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _UNICTYPE_H
+#define _UNICTYPE_H
+
+#include "unitypes.h"
+
+/* Get bool.  */
+#include <stdbool.h>
+
+/* Get size_t.  */
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ========================================================================= */
+
+/* Field 1 of Unicode Character Database: Character name.
+   See "uniname.h".  */
+
+/* ========================================================================= */
+
+/* Field 2 of Unicode Character Database: General category.  */
+
+/* Data type denoting a General category value.  This is not just a bitmask,
+   but rather a bitmask and a pointer to the lookup table, so that programs
+   that use only the predefined bitmasks (i.e. don't combine bitmasks with &
+   and |) don't have a link-time dependency towards the big general table.  */
+typedef struct
+{
+  uint32_t bitmask : 31;
+  /*bool*/ unsigned int generic : 1;
+  union
+  {
+    const void *table;                               /* when generic is 0 */
+    bool (*lookup_fn) (ucs4_t uc, uint32_t bitmask); /* when generic is 1 */
+  } lookup;
+}
+uc_general_category_t;
+
+/* Bits and bit masks denoting General category values.  UnicodeData-3.2.0.html
+   says a 32-bit integer will always suffice to represent them.
+   These bit masks are just informative; you cannot use them in any API.  */
+enum
+{
+  UC_CATEGORY_MASK_L  = 0x0000001f,
+  UC_CATEGORY_MASK_Lu = 0x00000001,
+  UC_CATEGORY_MASK_Ll = 0x00000002,
+  UC_CATEGORY_MASK_Lt = 0x00000004,
+  UC_CATEGORY_MASK_Lm = 0x00000008,
+  UC_CATEGORY_MASK_Lo = 0x00000010,
+  UC_CATEGORY_MASK_M  = 0x000000e0,
+  UC_CATEGORY_MASK_Mn = 0x00000020,
+  UC_CATEGORY_MASK_Mc = 0x00000040,
+  UC_CATEGORY_MASK_Me = 0x00000080,
+  UC_CATEGORY_MASK_N  = 0x00000700,
+  UC_CATEGORY_MASK_Nd = 0x00000100,
+  UC_CATEGORY_MASK_Nl = 0x00000200,
+  UC_CATEGORY_MASK_No = 0x00000400,
+  UC_CATEGORY_MASK_P  = 0x0003f800,
+  UC_CATEGORY_MASK_Pc = 0x00000800,
+  UC_CATEGORY_MASK_Pd = 0x00001000,
+  UC_CATEGORY_MASK_Ps = 0x00002000,
+  UC_CATEGORY_MASK_Pe = 0x00004000,
+  UC_CATEGORY_MASK_Pi = 0x00008000,
+  UC_CATEGORY_MASK_Pf = 0x00010000,
+  UC_CATEGORY_MASK_Po = 0x00020000,
+  UC_CATEGORY_MASK_S  = 0x003c0000,
+  UC_CATEGORY_MASK_Sm = 0x00040000,
+  UC_CATEGORY_MASK_Sc = 0x00080000,
+  UC_CATEGORY_MASK_Sk = 0x00100000,
+  UC_CATEGORY_MASK_So = 0x00200000,
+  UC_CATEGORY_MASK_Z  = 0x01c00000,
+  UC_CATEGORY_MASK_Zs = 0x00400000,
+  UC_CATEGORY_MASK_Zl = 0x00800000,
+  UC_CATEGORY_MASK_Zp = 0x01000000,
+  UC_CATEGORY_MASK_C  = 0x3e000000,
+  UC_CATEGORY_MASK_Cc = 0x02000000,
+  UC_CATEGORY_MASK_Cf = 0x04000000,
+  UC_CATEGORY_MASK_Cs = 0x08000000,
+  UC_CATEGORY_MASK_Co = 0x10000000,
+  UC_CATEGORY_MASK_Cn = 0x20000000
+};
+
+/* Predefined General category values.  */
+extern const uc_general_category_t UC_CATEGORY_L;
+extern const uc_general_category_t UC_CATEGORY_Lu;
+extern const uc_general_category_t UC_CATEGORY_Ll;
+extern const uc_general_category_t UC_CATEGORY_Lt;
+extern const uc_general_category_t UC_CATEGORY_Lm;
+extern const uc_general_category_t UC_CATEGORY_Lo;
+extern const uc_general_category_t UC_CATEGORY_M;
+extern const uc_general_category_t UC_CATEGORY_Mn;
+extern const uc_general_category_t UC_CATEGORY_Mc;
+extern const uc_general_category_t UC_CATEGORY_Me;
+extern const uc_general_category_t UC_CATEGORY_N;
+extern const uc_general_category_t UC_CATEGORY_Nd;
+extern const uc_general_category_t UC_CATEGORY_Nl;
+extern const uc_general_category_t UC_CATEGORY_No;
+extern const uc_general_category_t UC_CATEGORY_P;
+extern const uc_general_category_t UC_CATEGORY_Pc;
+extern const uc_general_category_t UC_CATEGORY_Pd;
+extern const uc_general_category_t UC_CATEGORY_Ps;
+extern const uc_general_category_t UC_CATEGORY_Pe;
+extern const uc_general_category_t UC_CATEGORY_Pi;
+extern const uc_general_category_t UC_CATEGORY_Pf;
+extern const uc_general_category_t UC_CATEGORY_Po;
+extern const uc_general_category_t UC_CATEGORY_S;
+extern const uc_general_category_t UC_CATEGORY_Sm;
+extern const uc_general_category_t UC_CATEGORY_Sc;
+extern const uc_general_category_t UC_CATEGORY_Sk;
+extern const uc_general_category_t UC_CATEGORY_So;
+extern const uc_general_category_t UC_CATEGORY_Z;
+extern const uc_general_category_t UC_CATEGORY_Zs;
+extern const uc_general_category_t UC_CATEGORY_Zl;
+extern const uc_general_category_t UC_CATEGORY_Zp;
+extern const uc_general_category_t UC_CATEGORY_C;
+extern const uc_general_category_t UC_CATEGORY_Cc;
+extern const uc_general_category_t UC_CATEGORY_Cf;
+extern const uc_general_category_t UC_CATEGORY_Cs;
+extern const uc_general_category_t UC_CATEGORY_Co;
+extern const uc_general_category_t UC_CATEGORY_Cn;
+/* Non-public.  */
+extern const uc_general_category_t _UC_CATEGORY_NONE;
+
+/* Alias names for predefined General category values.  */
+#define UC_LETTER                    UC_CATEGORY_L
+#define UC_UPPERCASE_LETTER          UC_CATEGORY_Lu
+#define UC_LOWERCASE_LETTER          UC_CATEGORY_Ll
+#define UC_TITLECASE_LETTER          UC_CATEGORY_Lt
+#define UC_MODIFIER_LETTER           UC_CATEGORY_Lm
+#define UC_OTHER_LETTER              UC_CATEGORY_Lo
+#define UC_MARK                      UC_CATEGORY_M
+#define UC_NON_SPACING_MARK          UC_CATEGORY_Mn
+#define UC_COMBINING_SPACING_MARK    UC_CATEGORY_Mc
+#define UC_ENCLOSING_MARK            UC_CATEGORY_Me
+#define UC_NUMBER                    UC_CATEGORY_N
+#define UC_DECIMAL_DIGIT_NUMBER      UC_CATEGORY_Nd
+#define UC_LETTER_NUMBER             UC_CATEGORY_Nl
+#define UC_OTHER_NUMBER              UC_CATEGORY_No
+#define UC_PUNCTUATION               UC_CATEGORY_P
+#define UC_CONNECTOR_PUNCTUATION     UC_CATEGORY_Pc
+#define UC_DASH_PUNCTUATION          UC_CATEGORY_Pd
+#define UC_OPEN_PUNCTUATION          UC_CATEGORY_Ps /* a.k.a. UC_START_PUNCTUATION */
+#define UC_CLOSE_PUNCTUATION         UC_CATEGORY_Pe /* a.k.a. UC_END_PUNCTUATION */
+#define UC_INITIAL_QUOTE_PUNCTUATION UC_CATEGORY_Pi
+#define UC_FINAL_QUOTE_PUNCTUATION   UC_CATEGORY_Pf
+#define UC_OTHER_PUNCTUATION         UC_CATEGORY_Po
+#define UC_SYMBOL                    UC_CATEGORY_S
+#define UC_MATH_SYMBOL               UC_CATEGORY_Sm
+#define UC_CURRENCY_SYMBOL           UC_CATEGORY_Sc
+#define UC_MODIFIER_SYMBOL           UC_CATEGORY_Sk
+#define UC_OTHER_SYMBOL              UC_CATEGORY_So
+#define UC_SEPARATOR                 UC_CATEGORY_Z
+#define UC_SPACE_SEPARATOR           UC_CATEGORY_Zs
+#define UC_LINE_SEPARATOR            UC_CATEGORY_Zl
+#define UC_PARAGRAPH_SEPARATOR       UC_CATEGORY_Zp
+#define UC_OTHER                     UC_CATEGORY_C
+#define UC_CONTROL                   UC_CATEGORY_Cc
+#define UC_FORMAT                    UC_CATEGORY_Cf
+#define UC_SURROGATE                 UC_CATEGORY_Cs /* all of them are invalid characters */
+#define UC_PRIVATE_USE               UC_CATEGORY_Co
+#define UC_UNASSIGNED                UC_CATEGORY_Cn /* some of them are invalid characters */
+
+/* Return the union of two general categories.
+   This corresponds to the unions of the two sets of characters.  */
+extern uc_general_category_t
+       uc_general_category_or (uc_general_category_t category1,
+                              uc_general_category_t category2);
+
+/* Return the intersection of two general categories as bit masks.
+   This *does*not* correspond to the intersection of the two sets of
+   characters.  */
+extern uc_general_category_t
+       uc_general_category_and (uc_general_category_t category1,
+                               uc_general_category_t category2);
+
+/* Return the intersection of a general category with the complement of a
+   second general category, as bit masks.
+   This *does*not* correspond to the intersection with complement, when
+   viewing the categories as sets of characters.  */
+extern uc_general_category_t
+       uc_general_category_and_not (uc_general_category_t category1,
+                                   uc_general_category_t category2);
+
+/* Return the name of a general category.  */
+extern const char *
+       uc_general_category_name (uc_general_category_t category);
+
+/* Return the general category given by name, e.g. "Lu".  */
+extern uc_general_category_t
+       uc_general_category_byname (const char *category_name);
+
+/* Return the general category of a Unicode character.  */
+extern uc_general_category_t
+       uc_general_category (ucs4_t uc);
+
+/* Test whether a Unicode character belongs to a given category.
+   The CATEGORY argument can be the combination of several built-in
+   general categories.  */
+extern bool
+       uc_is_general_category (ucs4_t uc, uc_general_category_t category);
+/* Likewise.  This function uses a big table comprising all categories.  */
+extern bool
+       uc_is_general_category_withtable (ucs4_t uc, uint32_t bitmask);
+
+/* ========================================================================= */
+
+/* Field 3 of Unicode Character Database: Canonical combining class.  */
+
+/* The possible results of uc_combining_class (0..255) are described in
+   UCD.html.  The list here is not definitive; more values can be added
+   in future versions.  */
+enum
+{
+  UC_CCC_NR   =   0, /* Not Reordered */
+  UC_CCC_OV   =   1, /* Overlay */
+  UC_CCC_NK   =   7, /* Nukta */
+  UC_CCC_KV   =   8, /* Kana Voicing */
+  UC_CCC_VR   =   9, /* Virama */
+  UC_CCC_ATBL = 200, /* Attached Below Left */
+  UC_CCC_ATB  = 202, /* Attached Below */
+  UC_CCC_ATAR = 216, /* Attached Above Right */
+  UC_CCC_BL   = 218, /* Below Left */
+  UC_CCC_B    = 220, /* Below */
+  UC_CCC_BR   = 222, /* Below Right */
+  UC_CCC_L    = 224, /* Left */
+  UC_CCC_R    = 226, /* Right */
+  UC_CCC_AL   = 228, /* Above Left */
+  UC_CCC_A    = 230, /* Above */
+  UC_CCC_AR   = 232, /* Above Right */
+  UC_CCC_DB   = 233, /* Double Below */
+  UC_CCC_DA   = 234, /* Double Above */
+  UC_CCC_IS   = 240, /* Iota Subscript */
+};
+
+/* Return the canonical combining class of a Unicode character.  */
+extern int
+       uc_combining_class (ucs4_t uc);
+
+/* ========================================================================= */
+
+/* Field 4 of Unicode Character Database: Bidirectional category.  */
+
+enum
+{
+  UC_BIDI_L,   /* Left-to-Right */
+  UC_BIDI_LRE, /* Left-to-Right Embedding */
+  UC_BIDI_LRO, /* Left-to-Right Override */
+  UC_BIDI_R,   /* Right-to-Left */
+  UC_BIDI_AL,  /* Right-to-Left Arabic */
+  UC_BIDI_RLE, /* Right-to-Left Embedding */
+  UC_BIDI_RLO, /* Right-to-Left Override */
+  UC_BIDI_PDF, /* Pop Directional Format */
+  UC_BIDI_EN,  /* European Number */
+  UC_BIDI_ES,  /* European Number Separator */
+  UC_BIDI_ET,  /* European Number Terminator */
+  UC_BIDI_AN,  /* Arabic Number */
+  UC_BIDI_CS,  /* Common Number Separator */
+  UC_BIDI_NSM, /* Non-Spacing Mark */
+  UC_BIDI_BN,  /* Boundary Neutral */
+  UC_BIDI_B,   /* Paragraph Separator */
+  UC_BIDI_S,   /* Segment Separator */
+  UC_BIDI_WS,  /* Whitespace */
+  UC_BIDI_ON   /* Other Neutral */
+};
+
+/* Return the name of a bidirectional category.  */
+extern const char *
+       uc_bidi_category_name (int category);
+
+/* Return the bidirectional category given by name, e.g. "LRE".  */
+extern int
+       uc_bidi_category_byname (const char *category_name);
+
+/* Return the bidirectional category of a Unicode character.  */
+extern int
+       uc_bidi_category (ucs4_t uc);
+
+/* Test whether a Unicode character belongs to a given bidirectional
+   category.  */
+extern bool
+       uc_is_bidi_category (ucs4_t uc, int category);
+
+/* ========================================================================= */
+
+/* Field 5 of Unicode Character Database: Character decomposition mapping.
+   See "unicomp.h".  */
+
+/* ========================================================================= */
+
+/* Field 6 of Unicode Character Database: Decimal digit value.  */
+
+/* Return the decimal digit value of a Unicode character.  */
+extern int
+       uc_decimal_value (ucs4_t uc);
+
+/* ========================================================================= */
+
+/* Field 7 of Unicode Character Database: Digit value.  */
+
+/* Return the digit value of a Unicode character.  */
+extern int
+       uc_digit_value (ucs4_t uc);
+
+/* ========================================================================= */
+
+/* Field 8 of Unicode Character Database: Numeric value.  */
+
+/* Return the numeric value of a Unicode character.  */
+typedef struct
+{
+  int numerator;
+  int denominator;
+}
+uc_fraction_t;
+extern uc_fraction_t
+       uc_numeric_value (ucs4_t uc);
+
+/* ========================================================================= */
+
+/* Field 9 of Unicode Character Database: Mirrored.  */
+
+/* Return the mirrored character of a Unicode character UC in *PUC.  */
+extern bool
+       uc_mirror_char (ucs4_t uc, ucs4_t *puc);
+
+/* ========================================================================= */
+
+/* Field 10 of Unicode Character Database: Unicode 1.0 Name.
+   Not available in this library.  */
+
+/* ========================================================================= */
+
+/* Field 11 of Unicode Character Database: ISO 10646 comment.
+   Not available in this library.  */
+
+/* ========================================================================= */
+
+/* Field 12, 13, 14 of Unicode Character Database: Uppercase mapping,
+   lowercase mapping, titlecase mapping.  See "unicase.h".  */
+
+/* ========================================================================= */
+
+/* Common API for properties.  */
+
+/* Data type denoting a property.  This is not just a number, but rather a
+   pointer to the test functions, so that programs that use only few of the
+   properties don't have a link-time dependency towards all the tables.  */
+typedef struct
+{
+  bool (*test_fn) (ucs4_t uc);
+}
+uc_property_t;
+
+/* Predefined properties.  */
+/* General.  */
+extern const uc_property_t UC_PROPERTY_WHITE_SPACE;
+extern const uc_property_t UC_PROPERTY_ALPHABETIC;
+extern const uc_property_t UC_PROPERTY_OTHER_ALPHABETIC;
+extern const uc_property_t UC_PROPERTY_NOT_A_CHARACTER;
+extern const uc_property_t UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT;
+extern const uc_property_t UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT;
+extern const uc_property_t UC_PROPERTY_DEPRECATED;
+extern const uc_property_t UC_PROPERTY_LOGICAL_ORDER_EXCEPTION;
+extern const uc_property_t UC_PROPERTY_VARIATION_SELECTOR;
+extern const uc_property_t UC_PROPERTY_PRIVATE_USE;
+extern const uc_property_t UC_PROPERTY_UNASSIGNED_CODE_VALUE;
+/* Case.  */
+extern const uc_property_t UC_PROPERTY_UPPERCASE;
+extern const uc_property_t UC_PROPERTY_OTHER_UPPERCASE;
+extern const uc_property_t UC_PROPERTY_LOWERCASE;
+extern const uc_property_t UC_PROPERTY_OTHER_LOWERCASE;
+extern const uc_property_t UC_PROPERTY_TITLECASE;
+extern const uc_property_t UC_PROPERTY_SOFT_DOTTED;
+/* Identifiers.  */
+extern const uc_property_t UC_PROPERTY_ID_START;
+extern const uc_property_t UC_PROPERTY_OTHER_ID_START;
+extern const uc_property_t UC_PROPERTY_ID_CONTINUE;
+extern const uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE;
+extern const uc_property_t UC_PROPERTY_XID_START;
+extern const uc_property_t UC_PROPERTY_XID_CONTINUE;
+extern const uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE;
+extern const uc_property_t UC_PROPERTY_PATTERN_SYNTAX;
+/* Shaping and rendering.  */
+extern const uc_property_t UC_PROPERTY_JOIN_CONTROL;
+extern const uc_property_t UC_PROPERTY_GRAPHEME_BASE;
+extern const uc_property_t UC_PROPERTY_GRAPHEME_EXTEND;
+extern const uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND;
+extern const uc_property_t UC_PROPERTY_GRAPHEME_LINK;
+/* Bidi.  */
+extern const uc_property_t UC_PROPERTY_BIDI_CONTROL;
+extern const uc_property_t UC_PROPERTY_BIDI_LEFT_TO_RIGHT;
+extern const uc_property_t UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT;
+extern const uc_property_t UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT;
+extern const uc_property_t UC_PROPERTY_BIDI_EUROPEAN_DIGIT;
+extern const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_ARABIC_DIGIT;
+extern const uc_property_t UC_PROPERTY_BIDI_COMMON_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_BLOCK_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_SEGMENT_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_WHITESPACE;
+extern const uc_property_t UC_PROPERTY_BIDI_NON_SPACING_MARK;
+extern const uc_property_t UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL;
+extern const uc_property_t UC_PROPERTY_BIDI_PDF;
+extern const uc_property_t UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE;
+extern const uc_property_t UC_PROPERTY_BIDI_OTHER_NEUTRAL;
+/* Numeric.  */
+extern const uc_property_t UC_PROPERTY_HEX_DIGIT;
+extern const uc_property_t UC_PROPERTY_ASCII_HEX_DIGIT;
+/* CJK.  */
+extern const uc_property_t UC_PROPERTY_IDEOGRAPHIC;
+extern const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH;
+extern const uc_property_t UC_PROPERTY_RADICAL;
+extern const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR;
+extern const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR;
+/* Misc.  */
+extern const uc_property_t UC_PROPERTY_ZERO_WIDTH;
+extern const uc_property_t UC_PROPERTY_SPACE;
+extern const uc_property_t UC_PROPERTY_NON_BREAK;
+extern const uc_property_t UC_PROPERTY_ISO_CONTROL;
+extern const uc_property_t UC_PROPERTY_FORMAT_CONTROL;
+extern const uc_property_t UC_PROPERTY_DASH;
+extern const uc_property_t UC_PROPERTY_HYPHEN;
+extern const uc_property_t UC_PROPERTY_PUNCTUATION;
+extern const uc_property_t UC_PROPERTY_LINE_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_PARAGRAPH_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_QUOTATION_MARK;
+extern const uc_property_t UC_PROPERTY_SENTENCE_TERMINAL;
+extern const uc_property_t UC_PROPERTY_TERMINAL_PUNCTUATION;
+extern const uc_property_t UC_PROPERTY_CURRENCY_SYMBOL;
+extern const uc_property_t UC_PROPERTY_MATH;
+extern const uc_property_t UC_PROPERTY_OTHER_MATH;
+extern const uc_property_t UC_PROPERTY_PAIRED_PUNCTUATION;
+extern const uc_property_t UC_PROPERTY_LEFT_OF_PAIR;
+extern const uc_property_t UC_PROPERTY_COMBINING;
+extern const uc_property_t UC_PROPERTY_COMPOSITE;
+extern const uc_property_t UC_PROPERTY_DECIMAL_DIGIT;
+extern const uc_property_t UC_PROPERTY_NUMERIC;
+extern const uc_property_t UC_PROPERTY_DIACRITIC;
+extern const uc_property_t UC_PROPERTY_EXTENDER;
+extern const uc_property_t UC_PROPERTY_IGNORABLE_CONTROL;
+
+/* Return the property given by name, e.g. "White space".  */
+extern uc_property_t
+       uc_property_byname (const char *property_name);
+
+/* Test whether a Unicode character has a given property.  */
+extern bool
+       uc_is_property (ucs4_t uc, uc_property_t property);
+extern bool uc_is_property_white_space (ucs4_t uc);
+extern bool uc_is_property_alphabetic (ucs4_t uc);
+extern bool uc_is_property_other_alphabetic (ucs4_t uc);
+extern bool uc_is_property_not_a_character (ucs4_t uc);
+extern bool uc_is_property_default_ignorable_code_point (ucs4_t uc);
+extern bool uc_is_property_other_default_ignorable_code_point (ucs4_t uc);
+extern bool uc_is_property_deprecated (ucs4_t uc);
+extern bool uc_is_property_logical_order_exception (ucs4_t uc);
+extern bool uc_is_property_variation_selector (ucs4_t uc);
+extern bool uc_is_property_private_use (ucs4_t uc);
+extern bool uc_is_property_unassigned_code_value (ucs4_t uc);
+extern bool uc_is_property_uppercase (ucs4_t uc);
+extern bool uc_is_property_other_uppercase (ucs4_t uc);
+extern bool uc_is_property_lowercase (ucs4_t uc);
+extern bool uc_is_property_other_lowercase (ucs4_t uc);
+extern bool uc_is_property_titlecase (ucs4_t uc);
+extern bool uc_is_property_soft_dotted (ucs4_t uc);
+extern bool uc_is_property_id_start (ucs4_t uc);
+extern bool uc_is_property_other_id_start (ucs4_t uc);
+extern bool uc_is_property_id_continue (ucs4_t uc);
+extern bool uc_is_property_other_id_continue (ucs4_t uc);
+extern bool uc_is_property_xid_start (ucs4_t uc);
+extern bool uc_is_property_xid_continue (ucs4_t uc);
+extern bool uc_is_property_pattern_white_space (ucs4_t uc);
+extern bool uc_is_property_pattern_syntax (ucs4_t uc);
+extern bool uc_is_property_join_control (ucs4_t uc);
+extern bool uc_is_property_grapheme_base (ucs4_t uc);
+extern bool uc_is_property_grapheme_extend (ucs4_t uc);
+extern bool uc_is_property_other_grapheme_extend (ucs4_t uc);
+extern bool uc_is_property_grapheme_link (ucs4_t uc);
+extern bool uc_is_property_bidi_control (ucs4_t uc);
+extern bool uc_is_property_bidi_left_to_right (ucs4_t uc);
+extern bool uc_is_property_bidi_hebrew_right_to_left (ucs4_t uc);
+extern bool uc_is_property_bidi_arabic_right_to_left (ucs4_t uc);
+extern bool uc_is_property_bidi_european_digit (ucs4_t uc);
+extern bool uc_is_property_bidi_eur_num_separator (ucs4_t uc);
+extern bool uc_is_property_bidi_eur_num_terminator (ucs4_t uc);
+extern bool uc_is_property_bidi_arabic_digit (ucs4_t uc);
+extern bool uc_is_property_bidi_common_separator (ucs4_t uc);
+extern bool uc_is_property_bidi_block_separator (ucs4_t uc);
+extern bool uc_is_property_bidi_segment_separator (ucs4_t uc);
+extern bool uc_is_property_bidi_whitespace (ucs4_t uc);
+extern bool uc_is_property_bidi_non_spacing_mark (ucs4_t uc);
+extern bool uc_is_property_bidi_boundary_neutral (ucs4_t uc);
+extern bool uc_is_property_bidi_pdf (ucs4_t uc);
+extern bool uc_is_property_bidi_embedding_or_override (ucs4_t uc);
+extern bool uc_is_property_bidi_other_neutral (ucs4_t uc);
+extern bool uc_is_property_hex_digit (ucs4_t uc);
+extern bool uc_is_property_ascii_hex_digit (ucs4_t uc);
+extern bool uc_is_property_ideographic (ucs4_t uc);
+extern bool uc_is_property_unified_ideograph (ucs4_t uc);
+extern bool uc_is_property_radical (ucs4_t uc);
+extern bool uc_is_property_ids_binary_operator (ucs4_t uc);
+extern bool uc_is_property_ids_trinary_operator (ucs4_t uc);
+extern bool uc_is_property_zero_width (ucs4_t uc);
+extern bool uc_is_property_space (ucs4_t uc);
+extern bool uc_is_property_non_break (ucs4_t uc);
+extern bool uc_is_property_iso_control (ucs4_t uc);
+extern bool uc_is_property_format_control (ucs4_t uc);
+extern bool uc_is_property_dash (ucs4_t uc);
+extern bool uc_is_property_hyphen (ucs4_t uc);
+extern bool uc_is_property_punctuation (ucs4_t uc);
+extern bool uc_is_property_line_separator (ucs4_t uc);
+extern bool uc_is_property_paragraph_separator (ucs4_t uc);
+extern bool uc_is_property_quotation_mark (ucs4_t uc);
+extern bool uc_is_property_sentence_terminal (ucs4_t uc);
+extern bool uc_is_property_terminal_punctuation (ucs4_t uc);
+extern bool uc_is_property_currency_symbol (ucs4_t uc);
+extern bool uc_is_property_math (ucs4_t uc);
+extern bool uc_is_property_other_math (ucs4_t uc);
+extern bool uc_is_property_paired_punctuation (ucs4_t uc);
+extern bool uc_is_property_left_of_pair (ucs4_t uc);
+extern bool uc_is_property_combining (ucs4_t uc);
+extern bool uc_is_property_composite (ucs4_t uc);
+extern bool uc_is_property_decimal_digit (ucs4_t uc);
+extern bool uc_is_property_numeric (ucs4_t uc);
+extern bool uc_is_property_diacritic (ucs4_t uc);
+extern bool uc_is_property_extender (ucs4_t uc);
+extern bool uc_is_property_ignorable_control (ucs4_t uc);
+
+/* ========================================================================= */
+
+/* Subdivision of the the Unicode characters into scripts.  */
+
+typedef struct
+{
+  unsigned int code : 21;
+  unsigned int start : 1;
+  unsigned int end : 1;
+}
+uc_interval_t;
+typedef struct
+{
+  unsigned int nintervals;
+  const uc_interval_t *intervals;
+  const char *name;
+}
+uc_script_t;
+
+/* Return the script of a Unicode character.  */
+extern const uc_script_t *
+       uc_script (ucs4_t uc);
+
+/* Return the script given by name, e.g. "HAN".  */
+extern const uc_script_t *
+       uc_script_byname (const char *script_name);
+
+/* Test whether a Unicode character belongs to a given script.  */
+extern bool
+       uc_is_script (ucs4_t uc, const uc_script_t *script);
+
+/* Get the list of all scripts.  */
+extern void
+       uc_all_scripts (const uc_script_t **scripts, size_t *count);
+
+/* ========================================================================= */
+
+/* Subdivision of the Unicode character range into blocks.  */
+
+typedef struct
+{
+  ucs4_t start;
+  ucs4_t end;
+  const char *name;
+}
+uc_block_t;
+
+/* Return the block a character belongs to.  */
+extern const uc_block_t *
+       uc_block (ucs4_t uc);
+
+/* Test whether a Unicode character belongs to a given block.  */
+extern bool
+       uc_is_block (ucs4_t uc, const uc_block_t *block);
+
+/* Get the list of all blocks.  */
+extern void
+       uc_all_blocks (const uc_block_t **blocks, size_t *count);
+
+/* ========================================================================= */
+
+/* Properties taken from language standards.  */
+
+/* Test whether a Unicode character is considered whitespace in ISO C 99.  */
+extern bool
+       uc_is_c_whitespace (ucs4_t uc);
+
+/* Test whether a Unicode character is considered whitespace in Java.  */
+extern bool
+       uc_is_java_whitespace (ucs4_t uc);
+
+enum
+{
+  UC_IDENTIFIER_START,    /* valid as first or subsequent character */
+  UC_IDENTIFIER_VALID,    /* valid as subsequent character only */
+  UC_IDENTIFIER_INVALID,  /* not valid */
+  UC_IDENTIFIER_IGNORABLE /* ignorable (Java only) */
+};
+
+/* Return the categorization of a Unicode character w.r.t. the ISO C 99
+   identifier syntax.  */
+extern int
+       uc_c_ident_category (ucs4_t uc);
+
+/* Return the categorization of a Unicode character w.r.t. the Java
+   identifier syntax.  */
+extern int
+       uc_java_ident_category (ucs4_t uc);
+
+/* ========================================================================= */
+
+/* Like ISO C <ctype.h> and <wctype.h>.  These functions are deprecated,
+   because this set of functions was designed with ASCII in mind and cannot
+   reflect the more diverse reality of the Unicode character set.  But they
+   can be a quick-and-dirty porting aid when migrating from wchar_t APIs
+   to Unicode strings.  */
+
+/* Test for any character for which 'uc_is_alpha' or 'uc_is_digit' is true.  */
+extern bool
+       uc_is_alnum (ucs4_t uc);
+
+/* Test for any character for which 'uc_is_upper' or 'uc_is_lower' is true,
+   or any character that is one of a locale-specific set of characters for
+   which none of 'uc_is_cntrl', 'uc_is_digit', 'uc_is_punct', or 'uc_is_space'
+   is true.  */
+extern bool
+       uc_is_alpha (ucs4_t uc);
+
+/* Test for any control character.  */
+extern bool
+       uc_is_cntrl (ucs4_t uc);
+
+/* Test for any character that corresponds to a decimal-digit character.  */
+extern bool
+       uc_is_digit (ucs4_t uc);
+
+/* Test for any character for which 'uc_is_print' is true and 'uc_is_space'
+   is false.  */
+extern bool
+       uc_is_graph (ucs4_t uc);
+
+/* Test for any character that corresponds to a lowercase letter or is one
+   of a locale-specific set of characters for which none of 'uc_is_cntrl',
+   'uc_is_digit', 'uc_is_punct', or 'uc_is_space' is true.  */
+extern bool
+       uc_is_lower (ucs4_t uc);
+
+/* Test for any printing character.  */
+extern bool
+       uc_is_print (ucs4_t uc);
+
+/* Test for any printing character that is one of a locale-specific set of
+   characters for which neither 'uc_is_space' nor 'uc_is_alnum' is true.  */
+extern bool
+       uc_is_punct (ucs4_t uc);
+
+/* Test for any character that corresponds to a locale-specific set of
+   characters for which none of 'uc_is_alnum', 'uc_is_graph', or 'uc_is_punct'
+   is true.  */
+extern bool
+       uc_is_space (ucs4_t uc);
+
+/* Test for any character that corresponds to an uppercase letter or is one
+   of a locale-specific set of character for which none of 'uc_is_cntrl',
+   'uc_is_digit', 'uc_is_punct', or 'uc_is_space' is true.  */
+extern bool
+       uc_is_upper (ucs4_t uc);
+
+/* Test for any character that corresponds to a hexadecimal-digit character
+   equivalent to that performed by the functions described in the previous
+   subclause.  */
+extern bool
+       uc_is_xdigit (ucs4_t uc);
+
+/* GNU extension. */
+/* Test for any character that corresponds to a standard blank character or
+   a locale-specific set of characters for which 'uc_is_alnum' is false.  */
+extern bool
+       uc_is_blank (ucs4_t uc);
+
+/* ========================================================================= */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UNICTYPE_H */
diff --git a/lib/unictype/3level.h b/lib/unictype/3level.h
new file mode 100644 (file)
index 0000000..426ad3b
--- /dev/null
@@ -0,0 +1,327 @@
+/* Copyright (C) 2000-2001 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
+
+
+   NOTE: The canonical source of this file is maintained with the GNU C Library.
+   Bugs can be reported to bug-glibc@gnu.org.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 2, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+   USA.  */
+
+/* Construction of sparse 3-level tables.
+   See wchar-lookup.h or coll-lookup.h for their structure and the
+   meaning of p and q.
+
+   Before including this file, set
+     TABLE        to the name of the structure to be defined
+     ELEMENT      to the type of every entry
+     DEFAULT      to the default value for empty entries
+     ITERATE      if you want the TABLE_iterate function to be defined
+     NO_FINALIZE  if you don't want the TABLE_finalize function to be defined
+
+   This will define
+
+     struct TABLE;
+     void TABLE_init (struct TABLE *t);
+     ELEMENT TABLE_get (struct TABLE *t, uint32_t wc);
+     void TABLE_add (struct TABLE *t, uint32_t wc, ELEMENT value);
+     void TABLE_iterate (struct TABLE *t,
+                        void (*fn) (uint32_t wc, ELEMENT value));
+     void TABLE_finalize (struct TABLE *t);
+*/
+
+#define CONCAT(a,b) CONCAT1(a,b)
+#define CONCAT1(a,b) a##b
+
+struct TABLE
+{
+  /* Parameters.  */
+  unsigned int p;
+  unsigned int q;
+  /* Working representation.  */
+  size_t level1_alloc;
+  size_t level1_size;
+  uint32_t *level1;
+  size_t level2_alloc;
+  size_t level2_size;
+  uint32_t *level2;
+  size_t level3_alloc;
+  size_t level3_size;
+  ELEMENT *level3;
+  /* Compressed representation.  */
+  size_t result_size;
+  char *result;
+};
+
+/* Initialize.  Assumes t->p and t->q have already been set.  */
+static inline void
+CONCAT(TABLE,_init) (struct TABLE *t)
+{
+  t->level1 = NULL;
+  t->level1_alloc = t->level1_size = 0;
+  t->level2 = NULL;
+  t->level2_alloc = t->level2_size = 0;
+  t->level3 = NULL;
+  t->level3_alloc = t->level3_size = 0;
+}
+
+/* Marker for an empty slot.  This has the value 0xFFFFFFFF, regardless
+   whether 'int' is 16 bit, 32 bit, or 64 bit.  */
+#define EMPTY ((uint32_t) ~0)
+
+/* Retrieve an entry.  */
+static inline ELEMENT
+CONCAT(TABLE,_get) (struct TABLE *t, uint32_t wc)
+{
+  uint32_t index1 = wc >> (t->q + t->p);
+  if (index1 < t->level1_size)
+    {
+      uint32_t lookup1 = t->level1[index1];
+      if (lookup1 != EMPTY)
+       {
+         uint32_t index2 = ((wc >> t->p) & ((1 << t->q) - 1))
+                           + (lookup1 << t->q);
+         uint32_t lookup2 = t->level2[index2];
+         if (lookup2 != EMPTY)
+           {
+             uint32_t index3 = (wc & ((1 << t->p) - 1))
+                               + (lookup2 << t->p);
+             ELEMENT lookup3 = t->level3[index3];
+
+             return lookup3;
+           }
+       }
+    }
+  return DEFAULT;
+}
+
+/* Add one entry.  */
+static void
+CONCAT(TABLE,_add) (struct TABLE *t, uint32_t wc, ELEMENT value)
+{
+  uint32_t index1 = wc >> (t->q + t->p);
+  uint32_t index2 = (wc >> t->p) & ((1 << t->q) - 1);
+  uint32_t index3 = wc & ((1 << t->p) - 1);
+  size_t i, i1, i2;
+
+  if (value == CONCAT(TABLE,_get) (t, wc))
+    return;
+
+  if (index1 >= t->level1_size)
+    {
+      if (index1 >= t->level1_alloc)
+       {
+         size_t alloc = 2 * t->level1_alloc;
+         if (alloc <= index1)
+           alloc = index1 + 1;
+         t->level1 = (uint32_t *) xrealloc ((char *) t->level1,
+                                            alloc * sizeof (uint32_t));
+         t->level1_alloc = alloc;
+       }
+      while (index1 >= t->level1_size)
+       t->level1[t->level1_size++] = EMPTY;
+    }
+
+  if (t->level1[index1] == EMPTY)
+    {
+      if (t->level2_size == t->level2_alloc)
+       {
+         size_t alloc = 2 * t->level2_alloc + 1;
+         t->level2 = (uint32_t *) xrealloc ((char *) t->level2,
+                                            (alloc << t->q) * sizeof (uint32_t));
+         t->level2_alloc = alloc;
+       }
+      i1 = t->level2_size << t->q;
+      i2 = (t->level2_size + 1) << t->q;
+      for (i = i1; i < i2; i++)
+       t->level2[i] = EMPTY;
+      t->level1[index1] = t->level2_size++;
+    }
+
+  index2 += t->level1[index1] << t->q;
+
+  if (t->level2[index2] == EMPTY)
+    {
+      if (t->level3_size == t->level3_alloc)
+       {
+         size_t alloc = 2 * t->level3_alloc + 1;
+         t->level3 = (ELEMENT *) xrealloc ((char *) t->level3,
+                                           (alloc << t->p) * sizeof (ELEMENT));
+         t->level3_alloc = alloc;
+       }
+      i1 = t->level3_size << t->p;
+      i2 = (t->level3_size + 1) << t->p;
+      for (i = i1; i < i2; i++)
+       t->level3[i] = DEFAULT;
+      t->level2[index2] = t->level3_size++;
+    }
+
+  index3 += t->level2[index2] << t->p;
+
+  t->level3[index3] = value;
+}
+
+#ifdef ITERATE
+/* Apply a function to all entries in the table.  */
+static void
+CONCAT(TABLE,_iterate) (struct TABLE *t,
+                       void (*fn) (uint32_t wc, ELEMENT value))
+{
+  uint32_t index1;
+  for (index1 = 0; index1 < t->level1_size; index1++)
+    {
+      uint32_t lookup1 = t->level1[index1];
+      if (lookup1 != EMPTY)
+       {
+         uint32_t lookup1_shifted = lookup1 << t->q;
+         uint32_t index2;
+         for (index2 = 0; index2 < (1 << t->q); index2++)
+           {
+             uint32_t lookup2 = t->level2[index2 + lookup1_shifted];
+             if (lookup2 != EMPTY)
+               {
+                 uint32_t lookup2_shifted = lookup2 << t->p;
+                 uint32_t index3;
+                 for (index3 = 0; index3 < (1 << t->p); index3++)
+                   {
+                     ELEMENT lookup3 = t->level3[index3 + lookup2_shifted];
+                     if (lookup3 != DEFAULT)
+                       fn ((((index1 << t->q) + index2) << t->p) + index3,
+                           lookup3);
+                   }
+               }
+           }
+       }
+    }
+}
+#endif
+
+#ifndef NO_FINALIZE
+/* Finalize and shrink.  */
+static void
+CONCAT(TABLE,_finalize) (struct TABLE *t)
+{
+  size_t i, j, k;
+  uint32_t reorder3[t->level3_size];
+  uint32_t reorder2[t->level2_size];
+  uint32_t level1_offset, level2_offset, level3_offset, last_offset;
+
+  /* Uniquify level3 blocks.  */
+  k = 0;
+  for (j = 0; j < t->level3_size; j++)
+    {
+      for (i = 0; i < k; i++)
+       if (memcmp (&t->level3[i << t->p], &t->level3[j << t->p],
+                   (1 << t->p) * sizeof (ELEMENT)) == 0)
+         break;
+      /* Relocate block j to block i.  */
+      reorder3[j] = i;
+      if (i == k)
+       {
+         if (i != j)
+           memcpy (&t->level3[i << t->p], &t->level3[j << t->p],
+                   (1 << t->p) * sizeof (ELEMENT));
+         k++;
+       }
+    }
+  t->level3_size = k;
+
+  for (i = 0; i < (t->level2_size << t->q); i++)
+    if (t->level2[i] != EMPTY)
+      t->level2[i] = reorder3[t->level2[i]];
+
+  /* Uniquify level2 blocks.  */
+  k = 0;
+  for (j = 0; j < t->level2_size; j++)
+    {
+      for (i = 0; i < k; i++)
+       if (memcmp (&t->level2[i << t->q], &t->level2[j << t->q],
+                   (1 << t->q) * sizeof (uint32_t)) == 0)
+         break;
+      /* Relocate block j to block i.  */
+      reorder2[j] = i;
+      if (i == k)
+       {
+         if (i != j)
+           memcpy (&t->level2[i << t->q], &t->level2[j << t->q],
+                   (1 << t->q) * sizeof (uint32_t));
+         k++;
+       }
+    }
+  t->level2_size = k;
+
+  for (i = 0; i < t->level1_size; i++)
+    if (t->level1[i] != EMPTY)
+      t->level1[i] = reorder2[t->level1[i]];
+
+  /* Create and fill the resulting compressed representation.  */
+  last_offset =
+    5 * sizeof (uint32_t)
+    + t->level1_size * sizeof (uint32_t)
+    + (t->level2_size << t->q) * sizeof (uint32_t)
+    + (t->level3_size << t->p) * sizeof (ELEMENT);
+  t->result_size = (last_offset + 3) & ~3ul;
+  t->result = (char *) xmalloc (t->result_size);
+
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t->level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t->level1_size * sizeof (uint32_t)
+    + (t->level2_size << t->q) * sizeof (uint32_t);
+
+  ((uint32_t *) t->result)[0] = t->q + t->p;
+  ((uint32_t *) t->result)[1] = t->level1_size;
+  ((uint32_t *) t->result)[2] = t->p;
+  ((uint32_t *) t->result)[3] = (1 << t->q) - 1;
+  ((uint32_t *) t->result)[4] = (1 << t->p) - 1;
+
+  for (i = 0; i < t->level1_size; i++)
+    ((uint32_t *) (t->result + level1_offset))[i] =
+      (t->level1[i] == EMPTY
+       ? 0
+       : (t->level1[i] << t->q) * sizeof (uint32_t) + level2_offset);
+
+  for (i = 0; i < (t->level2_size << t->q); i++)
+    ((uint32_t *) (t->result + level2_offset))[i] =
+      (t->level2[i] == EMPTY
+       ? 0
+       : (t->level2[i] << t->p) * sizeof (ELEMENT) + level3_offset);
+
+  for (i = 0; i < (t->level3_size << t->p); i++)
+    ((ELEMENT *) (t->result + level3_offset))[i] = t->level3[i];
+
+  if (last_offset < t->result_size)
+    memset (t->result + last_offset, 0, t->result_size - last_offset);
+
+  if (t->level1_alloc > 0)
+    free (t->level1);
+  if (t->level2_alloc > 0)
+    free (t->level2);
+  if (t->level3_alloc > 0)
+    free (t->level3);
+}
+#endif
+
+#undef EMPTY
+#undef TABLE
+#undef ELEMENT
+#undef DEFAULT
+#undef ITERATE
+#undef NO_FINALIZE
diff --git a/lib/unictype/3levelbit.h b/lib/unictype/3levelbit.h
new file mode 100644 (file)
index 0000000..aa6105a
--- /dev/null
@@ -0,0 +1,317 @@
+/* Copyright (C) 2000-2002 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
+
+
+   NOTE: The canonical source of this file is maintained with the GNU C Library.
+   See glibc/locale/programs/ld-ctype.c.
+   Bugs can be reported to bug-glibc@gnu.org.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 2, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+   USA.  */
+
+/* Construction of sparse 3-level tables.
+   See wchar-lookup.h for their structure and the meaning of p and q.
+
+   Before including this file, set
+     TABLE        to the name of the structure to be defined
+     ITERATE      if you want the TABLE_iterate function to be defined
+     NO_FINALIZE  if you don't want the TABLE_finalize function to be defined
+
+   This will define
+
+     struct TABLE;
+     void TABLE_init (struct TABLE *t);
+     int TABLE_get (struct TABLE *t, uint32_t wc);
+     void TABLE_add (struct TABLE *t, uint32_t wc);
+     void TABLE_iterate (struct TABLE *t, void (*fn) (uint32_t wc));
+     void TABLE_finalize (struct TABLE *t);
+*/
+
+#define CONCAT(a,b) CONCAT1(a,b)
+#define CONCAT1(a,b) a##b
+
+struct TABLE
+{
+  /* Parameters.  */
+  unsigned int p;
+  unsigned int q;
+  /* Working representation.  */
+  size_t level1_alloc;
+  size_t level1_size;
+  uint32_t *level1;
+  size_t level2_alloc;
+  size_t level2_size;
+  uint32_t *level2;
+  size_t level3_alloc;
+  size_t level3_size;
+  uint32_t *level3;
+  /* Compressed representation.  */
+  size_t result_size;
+  char *result;
+};
+
+/* Initialize.  Assumes t->p and t->q have already been set.  */
+static inline void
+CONCAT(TABLE,_init) (struct TABLE *t)
+{
+  t->level1 = NULL;
+  t->level1_alloc = t->level1_size = 0;
+  t->level2 = NULL;
+  t->level2_alloc = t->level2_size = 0;
+  t->level3 = NULL;
+  t->level3_alloc = t->level3_size = 0;
+}
+
+/* Marker for an empty slot.  This has the value 0xFFFFFFFF, regardless
+   whether 'int' is 16 bit, 32 bit, or 64 bit.  */
+#define EMPTY ((uint32_t) ~0)
+
+/* Retrieve an entry.  */
+static inline int
+CONCAT(TABLE,_get) (struct TABLE *t, uint32_t wc)
+{
+  uint32_t index1 = wc >> (t->q + t->p + 5);
+  if (index1 < t->level1_size)
+    {
+      uint32_t lookup1 = t->level1[index1];
+      if (lookup1 != EMPTY)
+       {
+         uint32_t index2 = ((wc >> (t->p + 5)) & ((1 << t->q) - 1))
+                           + (lookup1 << t->q);
+         uint32_t lookup2 = t->level2[index2];
+         if (lookup2 != EMPTY)
+           {
+             uint32_t index3 = ((wc >> 5) & ((1 << t->p) - 1))
+                               + (lookup2 << t->p);
+             uint32_t lookup3 = t->level3[index3];
+             uint32_t index4 = wc & 0x1f;
+
+             return (lookup3 >> index4) & 1;
+           }
+       }
+    }
+  return 0;
+}
+
+/* Add one entry.  */
+static void
+CONCAT(TABLE,_add) (struct TABLE *t, uint32_t wc)
+{
+  uint32_t index1 = wc >> (t->q + t->p + 5);
+  uint32_t index2 = (wc >> (t->p + 5)) & ((1 << t->q) - 1);
+  uint32_t index3 = (wc >> 5) & ((1 << t->p) - 1);
+  uint32_t index4 = wc & 0x1f;
+  size_t i, i1, i2;
+
+  if (index1 >= t->level1_size)
+    {
+      if (index1 >= t->level1_alloc)
+       {
+         size_t alloc = 2 * t->level1_alloc;
+         if (alloc <= index1)
+           alloc = index1 + 1;
+         t->level1 = (uint32_t *) xrealloc ((char *) t->level1,
+                                            alloc * sizeof (uint32_t));
+         t->level1_alloc = alloc;
+       }
+      while (index1 >= t->level1_size)
+       t->level1[t->level1_size++] = EMPTY;
+    }
+
+  if (t->level1[index1] == EMPTY)
+    {
+      if (t->level2_size == t->level2_alloc)
+       {
+         size_t alloc = 2 * t->level2_alloc + 1;
+         t->level2 = (uint32_t *) xrealloc ((char *) t->level2,
+                                            (alloc << t->q) * sizeof (uint32_t));
+         t->level2_alloc = alloc;
+       }
+      i1 = t->level2_size << t->q;
+      i2 = (t->level2_size + 1) << t->q;
+      for (i = i1; i < i2; i++)
+       t->level2[i] = EMPTY;
+      t->level1[index1] = t->level2_size++;
+    }
+
+  index2 += t->level1[index1] << t->q;
+
+  if (t->level2[index2] == EMPTY)
+    {
+      if (t->level3_size == t->level3_alloc)
+       {
+         size_t alloc = 2 * t->level3_alloc + 1;
+         t->level3 = (uint32_t *) xrealloc ((char *) t->level3,
+                                           (alloc << t->p) * sizeof (uint32_t));
+         t->level3_alloc = alloc;
+       }
+      i1 = t->level3_size << t->p;
+      i2 = (t->level3_size + 1) << t->p;
+      for (i = i1; i < i2; i++)
+       t->level3[i] = 0;
+      t->level2[index2] = t->level3_size++;
+    }
+
+  index3 += t->level2[index2] << t->p;
+
+  t->level3[index3] |= (uint32_t)1 << index4;
+}
+
+#ifdef ITERATE
+/* Apply a function to all entries in the table.  */
+static void
+CONCAT(TABLE,_iterate) (struct TABLE *t, void (*fn) (uint32_t wc))
+{
+  uint32_t index1;
+  for (index1 = 0; index1 < t->level1_size; index1++)
+    {
+      uint32_t lookup1 = t->level1[index1];
+      if (lookup1 != EMPTY)
+       {
+         uint32_t lookup1_shifted = lookup1 << t->q;
+         uint32_t index2;
+         for (index2 = 0; index2 < (1 << t->q); index2++)
+           {
+             uint32_t lookup2 = t->level2[index2 + lookup1_shifted];
+             if (lookup2 != EMPTY)
+               {
+                 uint32_t lookup2_shifted = lookup2 << t->p;
+                 uint32_t index3;
+                 for (index3 = 0; index3 < (1 << t->p); index3++)
+                   {
+                     uint32_t lookup3 = t->level3[index3 + lookup2_shifted];
+                     uint32_t index4;
+                     for (index4 = 0; index4 < 32; index4++)
+                       if ((lookup3 >> index4) & 1)
+                         fn ((((((index1 << t->q) + index2) << t->p) + index3) << 5) + index4);
+                   }
+               }
+           }
+       }
+    }
+}
+#endif
+
+#ifndef NO_FINALIZE
+/* Finalize and shrink.  */
+static void
+CONCAT(TABLE,_finalize) (struct TABLE *t)
+{
+  size_t i, j, k;
+  uint32_t reorder3[t->level3_size];
+  uint32_t reorder2[t->level2_size];
+  uint32_t level1_offset, level2_offset, level3_offset;
+
+  /* Uniquify level3 blocks.  */
+  k = 0;
+  for (j = 0; j < t->level3_size; j++)
+    {
+      for (i = 0; i < k; i++)
+       if (memcmp (&t->level3[i << t->p], &t->level3[j << t->p],
+                   (1 << t->p) * sizeof (uint32_t)) == 0)
+         break;
+      /* Relocate block j to block i.  */
+      reorder3[j] = i;
+      if (i == k)
+       {
+         if (i != j)
+           memcpy (&t->level3[i << t->p], &t->level3[j << t->p],
+                   (1 << t->p) * sizeof (uint32_t));
+         k++;
+       }
+    }
+  t->level3_size = k;
+
+  for (i = 0; i < (t->level2_size << t->q); i++)
+    if (t->level2[i] != EMPTY)
+      t->level2[i] = reorder3[t->level2[i]];
+
+  /* Uniquify level2 blocks.  */
+  k = 0;
+  for (j = 0; j < t->level2_size; j++)
+    {
+      for (i = 0; i < k; i++)
+       if (memcmp (&t->level2[i << t->q], &t->level2[j << t->q],
+                   (1 << t->q) * sizeof (uint32_t)) == 0)
+         break;
+      /* Relocate block j to block i.  */
+      reorder2[j] = i;
+      if (i == k)
+       {
+         if (i != j)
+           memcpy (&t->level2[i << t->q], &t->level2[j << t->q],
+                   (1 << t->q) * sizeof (uint32_t));
+         k++;
+       }
+    }
+  t->level2_size = k;
+
+  for (i = 0; i < t->level1_size; i++)
+    if (t->level1[i] != EMPTY)
+      t->level1[i] = reorder2[t->level1[i]];
+
+  /* Create and fill the resulting compressed representation.  */
+  t->result_size =
+    5 * sizeof (uint32_t)
+    + t->level1_size * sizeof (uint32_t)
+    + (t->level2_size << t->q) * sizeof (uint32_t)
+    + (t->level3_size << t->p) * sizeof (uint32_t);
+  t->result = (char *) xmalloc (t->result_size);
+
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t->level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t->level1_size * sizeof (uint32_t)
+    + (t->level2_size << t->q) * sizeof (uint32_t);
+
+  ((uint32_t *) t->result)[0] = t->q + t->p + 5;
+  ((uint32_t *) t->result)[1] = t->level1_size;
+  ((uint32_t *) t->result)[2] = t->p + 5;
+  ((uint32_t *) t->result)[3] = (1 << t->q) - 1;
+  ((uint32_t *) t->result)[4] = (1 << t->p) - 1;
+
+  for (i = 0; i < t->level1_size; i++)
+    ((uint32_t *) (t->result + level1_offset))[i] =
+      (t->level1[i] == EMPTY
+       ? 0
+       : (t->level1[i] << t->q) * sizeof (uint32_t) + level2_offset);
+
+  for (i = 0; i < (t->level2_size << t->q); i++)
+    ((uint32_t *) (t->result + level2_offset))[i] =
+      (t->level2[i] == EMPTY
+       ? 0
+       : (t->level2[i] << t->p) * sizeof (uint32_t) + level3_offset);
+
+  for (i = 0; i < (t->level3_size << t->p); i++)
+    ((uint32_t *) (t->result + level3_offset))[i] = t->level3[i];
+
+  if (t->level1_alloc > 0)
+    free (t->level1);
+  if (t->level2_alloc > 0)
+    free (t->level2);
+  if (t->level3_alloc > 0)
+    free (t->level3);
+}
+#endif
+
+#undef EMPTY
+#undef TABLE
+#undef ITERATE
+#undef NO_FINALIZE
diff --git a/lib/unictype/Makefile b/lib/unictype/Makefile
new file mode 100644 (file)
index 0000000..d56ec31
--- /dev/null
@@ -0,0 +1,20 @@
+# Makefile for generating the table files from unicode.org data.
+
+ARCHIVE_DIR = /gfs/ibook/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions
+VERSION = 5.0.0
+UCD_DIR = $(ARCHIVE_DIR)/$(VERSION)/ucd
+
+EXTRA_DIST = gen-ctype.c 3levelbit.h 3level.h
+
+all: force
+       gcc -g -Wall gen-ctype.c -o gen-ctype
+       ./gen-ctype $(UCD_DIR)/UnicodeData.txt \
+                   $(UCD_DIR)/PropList.txt \
+                   $(UCD_DIR)/DerivedCoreProperties.txt \
+                   $(UCD_DIR)/Scripts.txt \
+                   $(UCD_DIR)/Blocks.txt \
+                   $(ARCHIVE_DIR)/3.0.1/PropList-3.0.1.txt \
+                   $(VERSION)
+       mv test-* ../../tests/unictype/
+
+force:
diff --git a/lib/unictype/bidi_byname.c b/lib/unictype/bidi_byname.c
new file mode 100644 (file)
index 0000000..8a6cb71
--- /dev/null
@@ -0,0 +1,171 @@
+/* Bidi categories of Unicode characters.
+   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+int
+uc_bidi_category_byname (const char *category_name)
+{
+  switch (category_name[0])
+    {
+    case 'A':
+      switch (category_name[1])
+       {
+       case 'L':
+         if (category_name[2] == '\0')
+           return UC_BIDI_AL;
+         break;
+       case 'N':
+         if (category_name[2] == '\0')
+           return UC_BIDI_AN;
+         break;
+       }
+      break;
+    case 'B':
+      switch (category_name[1])
+       {
+       case '\0':
+         return UC_BIDI_B;
+       case 'N':
+         if (category_name[2] == '\0')
+           return UC_BIDI_BN;
+         break;
+       }
+      break;
+    case 'C':
+      switch (category_name[1])
+       {
+       case 'S':
+         if (category_name[2] == '\0')
+           return UC_BIDI_CS;
+         break;
+       }
+      break;
+    case 'E':
+      switch (category_name[1])
+       {
+       case 'N':
+         if (category_name[2] == '\0')
+           return UC_BIDI_EN;
+         break;
+       case 'S':
+         if (category_name[2] == '\0')
+           return UC_BIDI_ES;
+         break;
+       case 'T':
+         if (category_name[2] == '\0')
+           return UC_BIDI_ET;
+         break;
+       }
+      break;
+    case 'L':
+      switch (category_name[1])
+       {
+       case '\0':
+         return UC_BIDI_L;
+       case 'R':
+         switch (category_name[2])
+           {
+           case 'E':
+             if (category_name[3] == '\0')
+               return UC_BIDI_LRE;
+             break;
+           case 'O':
+             if (category_name[3] == '\0')
+               return UC_BIDI_LRO;
+             break;
+           }
+         break;
+       }
+      break;
+    case 'N':
+      switch (category_name[1])
+       {
+       case 'S':
+         switch (category_name[2])
+           {
+           case 'M':
+             if (category_name[3] == '\0')
+               return UC_BIDI_NSM;
+             break;
+           }
+         break;
+       }
+      break;
+    case 'O':
+      switch (category_name[1])
+       {
+       case 'N':
+         if (category_name[2] == '\0')
+           return UC_BIDI_ON;
+         break;
+       }
+      break;
+    case 'P':
+      switch (category_name[1])
+       {
+       case 'D':
+         switch (category_name[2])
+           {
+           case 'F':
+             if (category_name[3] == '\0')
+               return UC_BIDI_PDF;
+             break;
+           }
+         break;
+       }
+      break;
+    case 'R':
+      switch (category_name[1])
+       {
+       case '\0':
+         return UC_BIDI_R;
+       case 'L':
+         switch (category_name[2])
+           {
+           case 'E':
+             if (category_name[3] == '\0')
+               return UC_BIDI_RLE;
+             break;
+           case 'O':
+             if (category_name[3] == '\0')
+               return UC_BIDI_RLO;
+             break;
+           }
+         break;
+       }
+      break;
+    case 'S':
+      if (category_name[1] == '\0')
+       return UC_BIDI_S;
+      break;
+    case 'W':
+      switch (category_name[1])
+       {
+       case 'S':
+         if (category_name[2] == '\0')
+           return UC_BIDI_WS;
+         break;
+       }
+      break;
+    }
+  /* Invalid category name.  */
+  return -1;
+}
diff --git a/lib/unictype/bidi_name.c b/lib/unictype/bidi_name.c
new file mode 100644 (file)
index 0000000..7652976
--- /dev/null
@@ -0,0 +1,35 @@
+/* Bidi categories of Unicode characters.
+   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+static const char u_bidi_category_name[19][4] =
+{
+  "L",  "LRE", "LRO", "R",   "AL", "RLE", "RLO", "PDF", "EN", "ES",
+  "ET", "AN",  "CS",  "NSM", "BN", "B",   "S",   "WS",  "ON"
+};
+
+const char *
+uc_bidi_category_name (int category)
+{
+  if (category >= 0 && category < sizeof (u_bidi_category_name) / sizeof (u_bidi_category_name[0]))
+    return u_bidi_category_name[category];
+  return NULL;
+}
diff --git a/lib/unictype/bidi_of.c b/lib/unictype/bidi_of.c
new file mode 100644 (file)
index 0000000..93fc7a8
--- /dev/null
@@ -0,0 +1,52 @@
+/* Bidi categories of Unicode characters.
+   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_bidi_category table.  */
+#include "bidi_of.h"
+
+int
+uc_bidi_category (ucs4_t uc)
+{
+  unsigned int index1 = uc >> bidi_category_header_0;
+  if (index1 < bidi_category_header_1)
+    {
+      int lookup1 = u_bidi_category.level1[index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> bidi_category_header_2) & bidi_category_header_3;
+         int lookup2 = u_bidi_category.level2[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = ((uc & bidi_category_header_4) + lookup2) * 5;
+             /* level3 contains 5-bit values, packed into 16-bit words.  */
+             unsigned int lookup3 =
+               ((u_bidi_category.level3[index3>>4]
+                 | (u_bidi_category.level3[(index3>>4)+1] << 16))
+                >> (index3 % 16))
+               & 0x1f;
+
+             return lookup3;
+           }
+       }
+    }
+  return UC_BIDI_L;
+}
diff --git a/lib/unictype/bidi_of.h b/lib/unictype/bidi_of.h
new file mode 100644 (file)
index 0000000..065b71f
--- /dev/null
@@ -0,0 +1,734 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Bidi categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define bidi_category_header_0 16
+#define bidi_category_header_1 17
+#define bidi_category_header_2 7
+#define bidi_category_header_3 511
+#define bidi_category_header_4 127
+static const
+struct
+  {
+    int level1[17];
+    short level2[4 << 9];
+    unsigned short level3[90 * 40 + 1];
+  }
+u_bidi_category =
+{
+  {
+        0,   512,  1024,  1024,  1024,  1024,  1024,  1024,
+     1024,  1024,  1024,  1024,  1024,  1024,  1536,  1024,
+     1024
+  },
+  {
+        0,   128,    -1,    -1,    -1,   256,   384,   512,
+       -1,   640,    -1,   768,   896,  1024,  1152,  1280,
+     1408,  1408,  1536,  1664,  1792,  1920,  2048,  2176,
+     2304,  2432,  2560,  2688,  2816,  2944,  3072,  3200,
+     3328,    -1,    -1,    -1,    -1,    -1,  3456,  3584,
+       -1,    -1,    -1,    -1,    -1,  3712,  3840,  3968,
+     4096,  4224,  4352,  4480,  4608,    -1,  4736,    -1,
+       -1,    -1,    -1,  4864,    -1,    -1,    -1,  4992,
+     5120,  5248,  5376,  5504,  5632,  5760,  5888,  6016,
+     6144,  6272,  5760,  5760,  5760,  6400,  6528,  6656,
+       -1,    -1,  5760,  5760,  5760,  5760,  6784,    -1,
+       -1,  6912,    -1,    -1,  7040,  7168,  5760,  7296,
+     7424,  7552,    -1,  7680,  7808,  7936,  8064,  8192,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,  8320,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  8448,    -1,    -1,    -1,    -1,  8576,    -1,
+     8704,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  8832,  8960,
+     8960,  8960,  9088,  9216,  9344,  9472,  9600,  9728,
+       -1,    -1,  9856,  9984,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     1408,  1408, 10112,  1408, 10240,  1408,  1408,  1408,
+     1408,  1408,  1408,  1408,  1408,  1408,  1408,  1408,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1, 10368, 10496, 10624,    -1, 10752,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 10880,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 11008,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 11008,
+    11136, 11136, 11264, 11392, 11136, 11136, 11136, 11136,
+    11136, 11136, 11136, 11136, 11136, 11136, 11136, 11136,
+    11136, 11136, 11136, 11136, 11136, 11136, 11136, 11136,
+    11136, 11136, 11136, 11136, 11136, 11136, 11136, 11136,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 11008
+  },
+  {
+    0x39ce, 0x9ce7, 0x0e73, 0x183e, 0x739f, 0x39ce, 0x9ce7, 0xce73,
+    0xf739, 0x83de, 0x4a51, 0x94a5, 0x5294, 0xc4ca, 0x6312, 0x2108,
+    0x1084, 0x0842, 0x2931, 0x94a5, 0x0012, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x2900, 0x94a5, 0x0012, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2900, 0x74a5,
+    0x39ce, 0x9ee7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73,
+    0xe739, 0x739c, 0x2a4c, 0x94a5, 0x5294, 0x2902, 0x949d, 0x214a,
+    0x8124, 0x1294, 0x2901, 0x94a5, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0090, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0090, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x4000, 0x004a, 0x0000, 0x4800, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4800, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0xa400,
+    0x5294, 0x294a, 0x9025, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0x0000, 0x2520, 0x0000, 0x0000, 0x0480,
+    0x0000, 0x2520, 0x0090, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0004, 0x0000, 0x0000,
+    0x8000, 0x5ad6, 0xad03, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0048, 0x0000, 0xb5a3, 0x5ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x68da, 0xb5a3, 0xdad1, 0x6368, 0x318c,
+    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
+    0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6,
+    0x1084, 0x0842, 0x8421, 0xc210, 0x9488, 0xb5ad, 0x1ad6, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xd690,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x235a, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5a9, 0x2108, 0x108d, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x4842, 0xad6b, 0xd6b5, 0x6b48, 0xb5ad, 0x08d6,
+    0x4d69, 0xd6b6, 0x211a, 0x2108, 0x1084, 0x0842, 0x4211, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x7108, 0x11a4, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x4235,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x4842, 0xad6b, 0xd6b5, 0x6b5a, 0x108d,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
+    0x6318, 0xd68c, 0x6b5a, 0xb5ad, 0x8636, 0x5294, 0x318e, 0x18c6,
+    0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318,
+    0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
+    0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6,
+    0x35a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xd000, 0x0000, 0xb5a0, 0x5ad6, 0x0d6b, 0x0000,
+    0x001a, 0xb5a0, 0x00d6, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x01a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xd000, 0x0000, 0xb5a0, 0x00d6, 0x0000, 0x0000,
+    0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006,
+    0x0000, 0x0000, 0x0000, 0x2800, 0x0005, 0x0000, 0x0000, 0x0000,
+    0x35a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xd000, 0x0000, 0x35a0, 0x0000, 0x0d68, 0xd680,
+    0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x35a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xd000, 0x0000, 0xb5a0, 0x1ad6, 0x0d68, 0x0000,
+    0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006,
+    0x0000, 0x0000, 0x0000, 0x0140, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x01a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xd000, 0x6800, 0xb5a0, 0x0006, 0x0000, 0x0000,
+    0x001a, 0x0000, 0x4000, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x3400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x000d, 0x0000, 0x0000, 0x0000,
+    0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa529, 0x5294, 0x0049, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x6b40, 0x000d, 0x4000, 0x0d6b, 0xd6b4,
+    0x001a, 0x0000, 0x5a00, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xd000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd000,
+    0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006,
+    0x0000, 0x0000, 0x0000, 0x4a40, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xb5a0, 0x0006, 0x0000, 0x0000,
+    0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0034,
+    0x0000, 0xb400, 0x40d6, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01a0,
+    0x5ad0, 0xad6b, 0x0035, 0x5000, 0x0000, 0x0000, 0xad68, 0xd6b5,
+    0x035a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01a0,
+    0x5ad0, 0xad6b, 0xd681, 0x0000, 0x0000, 0x0000, 0xad00, 0xd6b5,
+    0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad00,
+    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x1a00, 0xa068, 0x2949, 0x0025, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0xb5a0, 0x5ad6, 0xad6b, 0xd6b5, 0x035a,
+    0xb5ad, 0x40d6, 0x006b, 0x0000, 0x0000, 0xb5ad, 0x5ad6, 0xa06b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x0000, 0x0000, 0x4000, 0x0003, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b5a, 0x340d,
+    0x4000, 0xa06b, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0xad00, 0x0001, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6800, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294,
+    0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x2900, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x00d6, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400,
+    0x00d6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xb400, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0xb400, 0x0006, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xad68, 0xd6b5, 0x001a, 0x0000, 0x4000, 0xa003, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x0006, 0x0000, 0x0500, 0x001a, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x0002, 0x0000,
+    0x4a52, 0xa529, 0x5294, 0xd6ca, 0x045a, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x0001, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x35ad, 0x0000, 0xad68, 0x06b5, 0x0000, 0x3400,
+    0x0000, 0xa000, 0x06b5, 0x0000, 0x0012, 0x2520, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9480, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d68,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xb5ad, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x40d0, 0xad6b, 0xd035, 0x0000, 0x3400, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xd680, 0x6b5a, 0xb5ad, 0x0006, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, 0x5ad6, 0xad6b, 0x0035,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b40,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x9024, 0x0252, 0x0000, 0x0000, 0x0000,
+    0x94a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x94a4, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x94a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x04a4,
+    0xc631, 0x6318, 0x318c, 0xe746, 0x181c, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0xf194, 0x7285, 0x6184, 0x294a,
+    0xa4a5, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa4c9, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x8ca5, 0x39ce, 0x0847,
+    0x8421, 0xe738, 0x739c, 0x0008, 0x1080, 0x0842, 0x24a5, 0x04a5,
+    0x2108, 0x1084, 0x0842, 0x24a5, 0x04a5, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x14a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0252, 0xa529, 0x5204, 0x0002, 0x0000, 0x0000, 0x8120, 0x1294,
+    0x0000, 0x9480, 0x4a52, 0x2409, 0x4090, 0x0002, 0x0280, 0x0000,
+    0x0000, 0x0000, 0x0948, 0x0000, 0x4a52, 0x0129, 0x0000, 0x2948,
+    0x0025, 0x0000, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x2652, 0xa525, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0x2529, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2900, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x8129, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x0094, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x0004, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x004a,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x0894, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x0421, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x2948, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x0001, 0x4a52, 0xa529, 0x5294, 0x094a, 0x94a4, 0x4a52,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x4a40, 0x8129, 0x5294, 0x2002, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x4094, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x094a,
+    0x9024, 0x4a52, 0x8000, 0x5204, 0x294a, 0x04a5, 0x4a40, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0129, 0x5200,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a40,
+    0xa529, 0x5294, 0x294a, 0x04a5, 0x4a52, 0xa529, 0x5294, 0x004a,
+    0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x094a, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x004a, 0x0000, 0x4a52, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa400,
+    0x5294, 0x004a, 0x0000, 0x0000, 0x0000, 0x4000, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x0094,
+    0x2000, 0x0025, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x2902, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0x0009, 0x0000, 0x0000, 0x0000,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0x2529, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x094a, 0x0000,
+    0x4a51, 0x0129, 0x5200, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x0012, 0x0000, 0x0000, 0xd6b4, 0x6b5a, 0x0012,
+    0x8000, 0x0094, 0x0000, 0x94a4, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000,
+    0x2935, 0x0001, 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x04a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x04a5,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a40,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0x0000, 0x0000, 0x2000,
+    0x94a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5290, 0x004a, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9480, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x0004, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x004a, 0x0000, 0x0252, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x3400, 0x4000, 0x0003, 0x0680, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x5a00, 0x5203, 0x094a, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa520, 0x0094, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x1b46, 0x8c63, 0xc631, 0x2318, 0x318d, 0x18c6, 0x8c63,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x9488, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7,
+    0xce73, 0xe739, 0x739c, 0x1084, 0x0842, 0x8421, 0x4210, 0x2124,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0x4a52, 0xa529, 0x5294,
+    0x4212, 0x2108, 0xb5ad, 0x0846, 0x8421, 0x4210, 0x2108, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x324c, 0x9922, 0x5294, 0x294a, 0x54a5, 0xa652, 0xa524,
+    0x5224, 0x4929, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x7108,
+    0x4a40, 0x94a5, 0x5294, 0xc4ca, 0x6312, 0x2108, 0x1084, 0x0842,
+    0x2931, 0x94a5, 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x2900, 0x94a5, 0x0012, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x2900, 0x94a5, 0x4a52, 0x2529,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x494a, 0x9529,
+    0x5202, 0x294a, 0x04a5, 0x39ce, 0x9ce7, 0x4e73, 0x294a, 0x73a5,
+    0x0240, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x004a, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318,
+    0x318c, 0x90c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
+    0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6,
+    0xb5a3, 0x5a36, 0x631b, 0xd18c, 0x6b5a, 0x8c63, 0xc631, 0x6318,
+    0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
+    0xc631, 0xad18, 0x31b5, 0x68c6, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
+    0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xad68, 0x0001, 0x0000, 0x0000, 0x9ce7, 0xce73, 0xd6b9, 0x6b5a,
+    0x35ad, 0x5a00, 0xad6b, 0x06b5, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6b4, 0x001a, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0xb652, 0x24d6, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x4200, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7380,
+    0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73,
+    0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce,
+    0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739,
+    0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7,
+    0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c,
+    0x0000
+  }
+};
diff --git a/lib/unictype/bidi_test.c b/lib/unictype/bidi_test.c
new file mode 100644 (file)
index 0000000..72887bb
--- /dev/null
@@ -0,0 +1,27 @@
+/* Bidi categories of Unicode characters.
+   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+bool
+uc_is_bidi_category (ucs4_t uc, int category)
+{
+  return (uc_bidi_category (uc) == category);
+}
diff --git a/lib/unictype/bitmap.h b/lib/unictype/bitmap.h
new file mode 100644 (file)
index 0000000..280b298
--- /dev/null
@@ -0,0 +1,47 @@
+/* Three-level bitmap lookup.
+   Copyright (C) 2000-2002, 2005-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2000-2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+static inline int bitmap_lookup (const void *table, ucs4_t uc);
+
+/* These values are currently hardcoded into gen-ctype.c.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+
+static inline int
+bitmap_lookup (const void *table, ucs4_t uc)
+{
+  unsigned int index1 = uc >> header_0;
+  if (index1 < ((const int *) table)[0])
+    {
+      int lookup1 = ((const int *) table)[1 + index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> header_2) & header_3;
+         int lookup2 = ((const short *) table)[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = (uc >> 5) & header_4;
+             unsigned int lookup3 = ((const int *) table)[lookup2 + index3];
+
+             return (lookup3 >> (uc & 0x1f)) & 1;
+           }
+       }
+    }
+  return 0;
+}
diff --git a/lib/unictype/block_test.c b/lib/unictype/block_test.c
new file mode 100644 (file)
index 0000000..4005ad0
--- /dev/null
@@ -0,0 +1,31 @@
+/* Blocks of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+bool
+uc_is_block (ucs4_t uc, const uc_block_t *block)
+{
+  if (block != NULL)
+    return ((ucs4_t) (uc - block->start) <= block->end - block->start);
+  else
+    return false;
+}
+
diff --git a/lib/unictype/blocks.c b/lib/unictype/blocks.c
new file mode 100644 (file)
index 0000000..a20bbce
--- /dev/null
@@ -0,0 +1,62 @@
+/* Blocks of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "blocks.h"
+
+const uc_block_t *
+uc_block (ucs4_t uc)
+{
+  unsigned int first_index;
+  unsigned int last_index;
+
+  if (uc < blocks_level1_threshold)
+    {
+      unsigned int index1 = uc >> blocks_level1_shift;
+      first_index = blocks_level1[2 * index1];
+      last_index = blocks_level1[2 * index1 + 1];
+    }
+  else
+    {
+      first_index = blocks_upper_first_index;
+      last_index = blocks_upper_last_index;
+    }
+  /* We know that the relevant blocks are blocks[i] with
+     first_index <= i < last_index.  Now perform a binary search.  */
+  while (first_index < last_index)
+    {
+      unsigned int mid_index = (first_index + last_index) / 2;
+      if (blocks[mid_index].end < uc)
+       first_index = mid_index + 1;
+      else if (uc < blocks[mid_index].start)
+       last_index = mid_index;
+      else
+       return &blocks[mid_index];
+    }
+  return NULL;
+}
+
+void
+uc_all_blocks (const uc_block_t **blocksp, size_t *countp)
+{
+  *blocksp = blocks;
+  *countp = sizeof (blocks) / sizeof (blocks[0]);
+}
diff --git a/lib/unictype/blocks.h b/lib/unictype/blocks.h
new file mode 100644 (file)
index 0000000..0a37bab
--- /dev/null
@@ -0,0 +1,935 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Unicode blocks.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+static const uc_block_t blocks[] =
+{
+  { 0x0000, 0x007F, "Basic Latin" },
+  { 0x0080, 0x00FF, "Latin-1 Supplement" },
+  { 0x0100, 0x017F, "Latin Extended-A" },
+  { 0x0180, 0x024F, "Latin Extended-B" },
+  { 0x0250, 0x02AF, "IPA Extensions" },
+  { 0x02B0, 0x02FF, "Spacing Modifier Letters" },
+  { 0x0300, 0x036F, "Combining Diacritical Marks" },
+  { 0x0370, 0x03FF, "Greek and Coptic" },
+  { 0x0400, 0x04FF, "Cyrillic" },
+  { 0x0500, 0x052F, "Cyrillic Supplement" },
+  { 0x0530, 0x058F, "Armenian" },
+  { 0x0590, 0x05FF, "Hebrew" },
+  { 0x0600, 0x06FF, "Arabic" },
+  { 0x0700, 0x074F, "Syriac" },
+  { 0x0750, 0x077F, "Arabic Supplement" },
+  { 0x0780, 0x07BF, "Thaana" },
+  { 0x07C0, 0x07FF, "NKo" },
+  { 0x0900, 0x097F, "Devanagari" },
+  { 0x0980, 0x09FF, "Bengali" },
+  { 0x0A00, 0x0A7F, "Gurmukhi" },
+  { 0x0A80, 0x0AFF, "Gujarati" },
+  { 0x0B00, 0x0B7F, "Oriya" },
+  { 0x0B80, 0x0BFF, "Tamil" },
+  { 0x0C00, 0x0C7F, "Telugu" },
+  { 0x0C80, 0x0CFF, "Kannada" },
+  { 0x0D00, 0x0D7F, "Malayalam" },
+  { 0x0D80, 0x0DFF, "Sinhala" },
+  { 0x0E00, 0x0E7F, "Thai" },
+  { 0x0E80, 0x0EFF, "Lao" },
+  { 0x0F00, 0x0FFF, "Tibetan" },
+  { 0x1000, 0x109F, "Myanmar" },
+  { 0x10A0, 0x10FF, "Georgian" },
+  { 0x1100, 0x11FF, "Hangul Jamo" },
+  { 0x1200, 0x137F, "Ethiopic" },
+  { 0x1380, 0x139F, "Ethiopic Supplement" },
+  { 0x13A0, 0x13FF, "Cherokee" },
+  { 0x1400, 0x167F, "Unified Canadian Aboriginal Syllabics" },
+  { 0x1680, 0x169F, "Ogham" },
+  { 0x16A0, 0x16FF, "Runic" },
+  { 0x1700, 0x171F, "Tagalog" },
+  { 0x1720, 0x173F, "Hanunoo" },
+  { 0x1740, 0x175F, "Buhid" },
+  { 0x1760, 0x177F, "Tagbanwa" },
+  { 0x1780, 0x17FF, "Khmer" },
+  { 0x1800, 0x18AF, "Mongolian" },
+  { 0x1900, 0x194F, "Limbu" },
+  { 0x1950, 0x197F, "Tai Le" },
+  { 0x1980, 0x19DF, "New Tai Lue" },
+  { 0x19E0, 0x19FF, "Khmer Symbols" },
+  { 0x1A00, 0x1A1F, "Buginese" },
+  { 0x1B00, 0x1B7F, "Balinese" },
+  { 0x1D00, 0x1D7F, "Phonetic Extensions" },
+  { 0x1D80, 0x1DBF, "Phonetic Extensions Supplement" },
+  { 0x1DC0, 0x1DFF, "Combining Diacritical Marks Supplement" },
+  { 0x1E00, 0x1EFF, "Latin Extended Additional" },
+  { 0x1F00, 0x1FFF, "Greek Extended" },
+  { 0x2000, 0x206F, "General Punctuation" },
+  { 0x2070, 0x209F, "Superscripts and Subscripts" },
+  { 0x20A0, 0x20CF, "Currency Symbols" },
+  { 0x20D0, 0x20FF, "Combining Diacritical Marks for Symbols" },
+  { 0x2100, 0x214F, "Letterlike Symbols" },
+  { 0x2150, 0x218F, "Number Forms" },
+  { 0x2190, 0x21FF, "Arrows" },
+  { 0x2200, 0x22FF, "Mathematical Operators" },
+  { 0x2300, 0x23FF, "Miscellaneous Technical" },
+  { 0x2400, 0x243F, "Control Pictures" },
+  { 0x2440, 0x245F, "Optical Character Recognition" },
+  { 0x2460, 0x24FF, "Enclosed Alphanumerics" },
+  { 0x2500, 0x257F, "Box Drawing" },
+  { 0x2580, 0x259F, "Block Elements" },
+  { 0x25A0, 0x25FF, "Geometric Shapes" },
+  { 0x2600, 0x26FF, "Miscellaneous Symbols" },
+  { 0x2700, 0x27BF, "Dingbats" },
+  { 0x27C0, 0x27EF, "Miscellaneous Mathematical Symbols-A" },
+  { 0x27F0, 0x27FF, "Supplemental Arrows-A" },
+  { 0x2800, 0x28FF, "Braille Patterns" },
+  { 0x2900, 0x297F, "Supplemental Arrows-B" },
+  { 0x2980, 0x29FF, "Miscellaneous Mathematical Symbols-B" },
+  { 0x2A00, 0x2AFF, "Supplemental Mathematical Operators" },
+  { 0x2B00, 0x2BFF, "Miscellaneous Symbols and Arrows" },
+  { 0x2C00, 0x2C5F, "Glagolitic" },
+  { 0x2C60, 0x2C7F, "Latin Extended-C" },
+  { 0x2C80, 0x2CFF, "Coptic" },
+  { 0x2D00, 0x2D2F, "Georgian Supplement" },
+  { 0x2D30, 0x2D7F, "Tifinagh" },
+  { 0x2D80, 0x2DDF, "Ethiopic Extended" },
+  { 0x2E00, 0x2E7F, "Supplemental Punctuation" },
+  { 0x2E80, 0x2EFF, "CJK Radicals Supplement" },
+  { 0x2F00, 0x2FDF, "Kangxi Radicals" },
+  { 0x2FF0, 0x2FFF, "Ideographic Description Characters" },
+  { 0x3000, 0x303F, "CJK Symbols and Punctuation" },
+  { 0x3040, 0x309F, "Hiragana" },
+  { 0x30A0, 0x30FF, "Katakana" },
+  { 0x3100, 0x312F, "Bopomofo" },
+  { 0x3130, 0x318F, "Hangul Compatibility Jamo" },
+  { 0x3190, 0x319F, "Kanbun" },
+  { 0x31A0, 0x31BF, "Bopomofo Extended" },
+  { 0x31C0, 0x31EF, "CJK Strokes" },
+  { 0x31F0, 0x31FF, "Katakana Phonetic Extensions" },
+  { 0x3200, 0x32FF, "Enclosed CJK Letters and Months" },
+  { 0x3300, 0x33FF, "CJK Compatibility" },
+  { 0x3400, 0x4DBF, "CJK Unified Ideographs Extension A" },
+  { 0x4DC0, 0x4DFF, "Yijing Hexagram Symbols" },
+  { 0x4E00, 0x9FFF, "CJK Unified Ideographs" },
+  { 0xA000, 0xA48F, "Yi Syllables" },
+  { 0xA490, 0xA4CF, "Yi Radicals" },
+  { 0xA700, 0xA71F, "Modifier Tone Letters" },
+  { 0xA720, 0xA7FF, "Latin Extended-D" },
+  { 0xA800, 0xA82F, "Syloti Nagri" },
+  { 0xA840, 0xA87F, "Phags-pa" },
+  { 0xAC00, 0xD7AF, "Hangul Syllables" },
+  { 0xD800, 0xDB7F, "High Surrogates" },
+  { 0xDB80, 0xDBFF, "High Private Use Surrogates" },
+  { 0xDC00, 0xDFFF, "Low Surrogates" },
+  { 0xE000, 0xF8FF, "Private Use Area" },
+  { 0xF900, 0xFAFF, "CJK Compatibility Ideographs" },
+  { 0xFB00, 0xFB4F, "Alphabetic Presentation Forms" },
+  { 0xFB50, 0xFDFF, "Arabic Presentation Forms-A" },
+  { 0xFE00, 0xFE0F, "Variation Selectors" },
+  { 0xFE10, 0xFE1F, "Vertical Forms" },
+  { 0xFE20, 0xFE2F, "Combining Half Marks" },
+  { 0xFE30, 0xFE4F, "CJK Compatibility Forms" },
+  { 0xFE50, 0xFE6F, "Small Form Variants" },
+  { 0xFE70, 0xFEFF, "Arabic Presentation Forms-B" },
+  { 0xFF00, 0xFFEF, "Halfwidth and Fullwidth Forms" },
+  { 0xFFF0, 0xFFFF, "Specials" },
+  { 0x10000, 0x1007F, "Linear B Syllabary" },
+  { 0x10080, 0x100FF, "Linear B Ideograms" },
+  { 0x10100, 0x1013F, "Aegean Numbers" },
+  { 0x10140, 0x1018F, "Ancient Greek Numbers" },
+  { 0x10300, 0x1032F, "Old Italic" },
+  { 0x10330, 0x1034F, "Gothic" },
+  { 0x10380, 0x1039F, "Ugaritic" },
+  { 0x103A0, 0x103DF, "Old Persian" },
+  { 0x10400, 0x1044F, "Deseret" },
+  { 0x10450, 0x1047F, "Shavian" },
+  { 0x10480, 0x104AF, "Osmanya" },
+  { 0x10800, 0x1083F, "Cypriot Syllabary" },
+  { 0x10900, 0x1091F, "Phoenician" },
+  { 0x10A00, 0x10A5F, "Kharoshthi" },
+  { 0x12000, 0x123FF, "Cuneiform" },
+  { 0x12400, 0x1247F, "Cuneiform Numbers and Punctuation" },
+  { 0x1D000, 0x1D0FF, "Byzantine Musical Symbols" },
+  { 0x1D100, 0x1D1FF, "Musical Symbols" },
+  { 0x1D200, 0x1D24F, "Ancient Greek Musical Notation" },
+  { 0x1D300, 0x1D35F, "Tai Xuan Jing Symbols" },
+  { 0x1D360, 0x1D37F, "Counting Rod Numerals" },
+  { 0x1D400, 0x1D7FF, "Mathematical Alphanumeric Symbols" },
+  { 0x20000, 0x2A6DF, "CJK Unified Ideographs Extension B" },
+  { 0x2F800, 0x2FA1F, "CJK Compatibility Ideographs Supplement" },
+  { 0xE0000, 0xE007F, "Tags" },
+  { 0xE0100, 0xE01EF, "Variation Selectors Supplement" },
+  { 0xF0000, 0xFFFFF, "Supplementary Private Use Area-A" },
+  { 0x100000, 0x10FFFF, "Supplementary Private Use Area-B" }
+};
+#define blocks_level1_shift 8
+#define blocks_level1_threshold 0x30000
+static const uint8_t blocks_level1[768 * 2] =
+{
+    0,   2,
+    2,   4,
+    3,   6,
+    6,   8,
+    8,   9,
+    9,  12,
+   12,  13,
+   13,  17,
+   17,  17,
+   17,  19,
+   19,  21,
+   21,  23,
+   23,  25,
+   25,  27,
+   27,  29,
+   29,  30,
+   30,  32,
+   32,  33,
+   33,  34,
+   33,  36,
+   36,  37,
+   36,  37,
+   36,  39,
+   39,  44,
+   44,  45,
+   45,  49,
+   49,  50,
+   50,  51,
+   51,  51,
+   51,  54,
+   54,  55,
+   55,  56,
+   56,  60,
+   60,  63,
+   63,  64,
+   64,  65,
+   65,  68,
+   68,  71,
+   71,  72,
+   72,  75,
+   75,  76,
+   76,  78,
+   78,  79,
+   79,  80,
+   80,  83,
+   83,  86,
+   86,  88,
+   88,  90,
+   90,  93,
+   93,  99,
+   99, 100,
+  100, 101,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 102,
+  101, 103,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  103, 104,
+  104, 105,
+  104, 105,
+  104, 105,
+  104, 105,
+  104, 106,
+  106, 106,
+  106, 106,
+  106, 108,
+  108, 110,
+  110, 110,
+  110, 110,
+  110, 110,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  110, 111,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 113,
+  113, 114,
+  113, 114,
+  113, 114,
+  113, 114,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  114, 115,
+  115, 116,
+  115, 116,
+  116, 118,
+  117, 118,
+  117, 118,
+  118, 124,
+  124, 126,
+  126, 128,
+  128, 130,
+  130, 130,
+  130, 134,
+  134, 137,
+  137, 137,
+  137, 137,
+  137, 137,
+  137, 138,
+  138, 139,
+  139, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 140,
+  140, 141,
+  140, 141,
+  140, 141,
+  140, 141,
+  141, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 142,
+  142, 143,
+  143, 144,
+  144, 145,
+  145, 147,
+  147, 148,
+  147, 148,
+  147, 148,
+  147, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 148,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  148, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 149,
+  149, 150,
+  149, 150,
+  149, 150,
+  150, 150,
+  150, 150,
+  150, 150,
+  150, 150,
+  150, 150
+};
+#define blocks_upper_first_index 150
+#define blocks_upper_last_index 154
diff --git a/lib/unictype/categ_C.c b/lib/unictype/categ_C.c
new file mode 100644 (file)
index 0000000..d14d8c0
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_C table.  */
+#include "categ_C.h"
+
+const uc_general_category_t UC_CATEGORY_C =
+  { UC_CATEGORY_MASK_C, 0, { &u_categ_C } };
diff --git a/lib/unictype/categ_C.h b/lib/unictype/categ_C.h
new file mode 100644 (file)
index 0000000..92b4de1
--- /dev/null
@@ -0,0 +1,882 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[5 << 7];
+    /*unsigned*/ int level3[50 << 4];
+  }
+u_categ_C =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   512,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384
+  },
+  {
+       18 +   640 * sizeof (short) / sizeof (int) +     0,
+       18 +   640 * sizeof (short) / sizeof (int) +    16,
+       18 +   640 * sizeof (short) / sizeof (int) +    32,
+       18 +   640 * sizeof (short) / sizeof (int) +    48,
+       18 +   640 * sizeof (short) / sizeof (int) +    64,
+       18 +   640 * sizeof (short) / sizeof (int) +    80,
+       18 +   640 * sizeof (short) / sizeof (int) +    96,
+       18 +   640 * sizeof (short) / sizeof (int) +   112,
+       18 +   640 * sizeof (short) / sizeof (int) +   128,
+       18 +   640 * sizeof (short) / sizeof (int) +   144,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   176,
+       18 +   640 * sizeof (short) / sizeof (int) +   192,
+       18 +   640 * sizeof (short) / sizeof (int) +   208,
+       18 +   640 * sizeof (short) / sizeof (int) +   224,
+       18 +   640 * sizeof (short) / sizeof (int) +   240,
+       18 +   640 * sizeof (short) / sizeof (int) +   256,
+       18 +   640 * sizeof (short) / sizeof (int) +   272,
+       18 +   640 * sizeof (short) / sizeof (int) +   288,
+       18 +   640 * sizeof (short) / sizeof (int) +   304,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   336,
+       18 +   640 * sizeof (short) / sizeof (int) +   352,
+       18 +   640 * sizeof (short) / sizeof (int) +   368,
+       18 +   640 * sizeof (short) / sizeof (int) +   384,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   416,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   432,
+       18 +   640 * sizeof (short) / sizeof (int) +   448,
+       18 +   640 * sizeof (short) / sizeof (int) +   464,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   512,
+       18 +   640 * sizeof (short) / sizeof (int) +   528,
+       18 +   640 * sizeof (short) / sizeof (int) +   544,
+       18 +   640 * sizeof (short) / sizeof (int) +   560,
+       18 +   640 * sizeof (short) / sizeof (int) +   576,
+       18 +   640 * sizeof (short) / sizeof (int) +   592,
+       18 +   640 * sizeof (short) / sizeof (int) +   608,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   624,
+       18 +   640 * sizeof (short) / sizeof (int) +   640,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   656,
+       18 +   640 * sizeof (short) / sizeof (int) +   672,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   688,
+       18 +   640 * sizeof (short) / sizeof (int) +   704,
+       18 +   640 * sizeof (short) / sizeof (int) +   720,
+       18 +   640 * sizeof (short) / sizeof (int) +   736,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   752,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   768,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   784,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   480
+  },
+  {
+    0xFFFFFFFF, 0x00000000, 0x00000000, 0x80000000,
+    0xFFFFFFFF, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x83CF0000,
+    0x0000280F, 0x00000004, 0x00008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000080, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF00000, 0x0001FFFF, 0x01800000, 0x00000001,
+    0x0001F900, 0x00000000, 0x0000FF00, 0xFFE0F800,
+    0x37C007FF, 0xF8000001, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x20000000, 0x00000000,
+    0x0000C000, 0x00000000, 0x00001800, 0xFFFFC000,
+    0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000001, 0x0C000000, 0x00E0C000, 0x07FE0000,
+    0x00066011, 0x0C3A0200, 0x4F7F8660, 0xF8000030,
+    0x00067811, 0x2C920200, 0xA1FFC678, 0xFFE0003F,
+    0x00044011, 0x0C120200, 0xFFFEC440, 0xFFFD0030,
+    0x00066011, 0x0C120200, 0x4F3FC670, 0xFFFC003C,
+    0x29C23813, 0x3C0038E7, 0xFF7FC238, 0xF800003F,
+    0x00022011, 0x3C100200, 0xFF9FC220, 0xFFFF003C,
+    0x00022013, 0x0C100200, 0xBF9FC220, 0xFFF90030,
+    0x00022013, 0x3C000200, 0xFF7FC230, 0xFFFF003C,
+    0x03800013, 0xD0040000, 0x00A07B80, 0xFFE3FFFF,
+    0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF,
+    0x010FDA69, 0xC4001351, 0xCC00C0A0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000100, 0x0001F800,
+    0x0100F000, 0x20000000, 0xFFFC6000, 0xFFFFFFFF,
+    0x00000000, 0xFC380904, 0xFC000000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x00000000, 0x0000FFC0, 0xE0000000,
+    0x00000000, 0x00000000, 0x7C000000, 0x00000000,
+    0x00000000, 0x000000F8, 0x00000000, 0xFC000000,
+    0x00000000, 0x00000000, 0xC280C200, 0x00000000,
+    0x0000C200, 0x80C20000, 0x008000C2, 0x00000000,
+    0x00C20000, 0x00000000, 0x78000000, 0xE0000000,
+    0xFC000000, 0x00000000, 0x00000000, 0xFFE00000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFF800000,
+    0xE0000000, 0x00000000, 0x00000000, 0xFFFE0000,
+    0xFFE02000, 0xFF800000, 0xFFF00000, 0xFFF22000,
+    0x00000000, 0x00300000, 0xC0000000, 0xFC00FC00,
+    0xFC008000, 0x00000000, 0x00000000, 0xFF000000,
+    0x00000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xE0000000, 0xF000F000, 0x0000000E, 0xFFE0C000,
+    0x00000000, 0x0000FC00, 0x3C00FC00, 0x00000000,
+    0x30000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x0000F000, 0xE0000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFF800, 0x3FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF0000000, 0x00000000, 0x00000000, 0xFC000000,
+    0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000,
+    0x00000000, 0x00200000, 0x10300020, 0x80230000,
+    0x0000F800, 0x00007C00, 0x00000000, 0x000CFFFF,
+    0xFFE08000, 0xFFC00000, 0x0000FFFF, 0xFFFF0000,
+    0x00000000, 0x00000000, 0x00078000, 0x00000000,
+    0x0000FFE0, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFF00,
+    0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xE0000000, 0xFFF80000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000C21, 0x00000100, 0x80B85000, 0x00000001,
+    0x00E00000, 0x80010000, 0x0000F800, 0x0000F000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF8000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00008000, 0x80000000, 0xFF0FE000,
+    0x00000000, 0x00000000, 0x00000000, 0x01FFF800,
+    0x00000000, 0x0000FFC0, 0x00000000, 0xFFFF7FC0,
+    0xFF800000, 0x80808080, 0x80808080, 0xFFFFFFFF,
+    0xCF000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
+    0x00000000, 0x00000000, 0x00000001, 0x00000000,
+    0x01800000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000001F, 0x0001E000, 0x00000000, 0x00000000,
+    0x00008000, 0xFF000000, 0xFFFF0000, 0x0000FFFF,
+    0x80000000, 0x00000000, 0x0000FFF0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFC00000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000E000, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xF8000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFFF000, 0x00000000, 0xFF000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000C000, 0x00000000, 0x0000F800,
+    0x00000000, 0x00000000, 0xFC000000, 0xFFFFFFFF,
+    0x1F07FF80, 0xA0800000, 0x00000024, 0x00000000,
+    0x00000000, 0xFFFC0000, 0x0007FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FFFF, 0x00000000,
+    0x00030000, 0x00000000, 0xFFFFFF00, 0xC000FFFF,
+    0xFC000000, 0x0000FFF0, 0x00080000, 0x0020F080,
+    0x00000000, 0x00000000, 0x00000000, 0xE0000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x80000000, 0xE3030303, 0xCFFF8080,
+    0x00001000, 0x48000080, 0xC000C000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0xF8000000,
+    0x00000078, 0x00700000, 0x00000000, 0x00000000,
+    0xFFFFF800, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x80000000, 0x0000FFF0, 0xFFFFF800, 0xFFFFFFFF,
+    0x40000000, 0x00000000, 0xFFC000F0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xC0000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000002C0, 0x6E400000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x01100F90, 0x78F00000, 0xFE00FF00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFF8000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0xFFF0FFF8,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFC00000,
+    0x00000000, 0x00000380, 0x00000000, 0x07F80000,
+    0x00000000, 0x00000000, 0xC0000000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFC0, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFF800000, 0xFFFC0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00200000, 0x00000000,
+    0x20000000, 0x1400219B, 0x00000010, 0x00000000,
+    0x20201840, 0x84000000, 0x000203A0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000000C0, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00003000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFF0000
+  }
+};
diff --git a/lib/unictype/categ_Cc.c b/lib/unictype/categ_Cc.c
new file mode 100644 (file)
index 0000000..572f88f
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Cc table.  */
+#include "categ_Cc.h"
+
+const uc_general_category_t UC_CATEGORY_Cc =
+  { UC_CATEGORY_MASK_Cc, 0, { &u_categ_Cc } };
diff --git a/lib/unictype/categ_Cc.h b/lib/unictype/categ_Cc.h
new file mode 100644 (file)
index 0000000..2ef55da
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_categ_Cc =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0xFFFFFFFF, 0x00000000, 0x00000000, 0x80000000,
+    0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Cf.c b/lib/unictype/categ_Cf.c
new file mode 100644 (file)
index 0000000..19cd842
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Cf table.  */
+#include "categ_Cf.h"
+
+const uc_general_category_t UC_CATEGORY_Cf =
+  { UC_CATEGORY_MASK_Cf, 0, { &u_categ_Cf } };
diff --git a/lib/unictype/categ_Cf.h b/lib/unictype/categ_Cf.h
new file mode 100644 (file)
index 0000000..8d6da92
--- /dev/null
@@ -0,0 +1,452 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[7 << 4];
+  }
+u_categ_Cf =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x20000000, 0x00000000,
+    0x00008000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00300000, 0x00000000, 0x00000000,
+    0x0000F800, 0x00007C00, 0x00000000, 0x0000FC0F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0E000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x07F80000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Cn.c b/lib/unictype/categ_Cn.c
new file mode 100644 (file)
index 0000000..131704a
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Cn table.  */
+#include "categ_Cn.h"
+
+const uc_general_category_t UC_CATEGORY_Cn =
+  { UC_CATEGORY_MASK_Cn, 0, { &u_categ_Cn } };
diff --git a/lib/unictype/categ_Cn.h b/lib/unictype/categ_Cn.h
new file mode 100644 (file)
index 0000000..9e4c852
--- /dev/null
@@ -0,0 +1,1006 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[6 << 7];
+    /*unsigned*/ int level3[49 << 4];
+  }
+u_categ_Cn =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   512,
+       18 * sizeof (int) / sizeof (short) +   640,
+       18 * sizeof (int) / sizeof (short) +   640
+  },
+  {
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +     0,
+       18 +   768 * sizeof (short) / sizeof (int) +    16,
+       18 +   768 * sizeof (short) / sizeof (int) +    32,
+       18 +   768 * sizeof (short) / sizeof (int) +    48,
+       18 +   768 * sizeof (short) / sizeof (int) +    64,
+       18 +   768 * sizeof (short) / sizeof (int) +    80,
+       18 +   768 * sizeof (short) / sizeof (int) +    96,
+       18 +   768 * sizeof (short) / sizeof (int) +   112,
+       18 +   768 * sizeof (short) / sizeof (int) +   128,
+       18 +   768 * sizeof (short) / sizeof (int) +   144,
+       18 +   768 * sizeof (short) / sizeof (int) +   160,
+       18 +   768 * sizeof (short) / sizeof (int) +   176,
+       18 +   768 * sizeof (short) / sizeof (int) +   192,
+       18 +   768 * sizeof (short) / sizeof (int) +   208,
+       18 +   768 * sizeof (short) / sizeof (int) +   224,
+       18 +   768 * sizeof (short) / sizeof (int) +   240,
+       18 +   768 * sizeof (short) / sizeof (int) +   256,
+       18 +   768 * sizeof (short) / sizeof (int) +   272,
+       18 +   768 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   304,
+       18 +   768 * sizeof (short) / sizeof (int) +   320,
+       18 +   768 * sizeof (short) / sizeof (int) +   336,
+       18 +   768 * sizeof (short) / sizeof (int) +   352,
+       18 +   768 * sizeof (short) / sizeof (int) +   368,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   384,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   416,
+       18 +   768 * sizeof (short) / sizeof (int) +   432,
+       18 +   768 * sizeof (short) / sizeof (int) +   448,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   496,
+       18 +   768 * sizeof (short) / sizeof (int) +   512,
+       18 +   768 * sizeof (short) / sizeof (int) +   528,
+       18 +   768 * sizeof (short) / sizeof (int) +   544,
+       18 +   768 * sizeof (short) / sizeof (int) +   560,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   592,
+       18 +   768 * sizeof (short) / sizeof (int) +   608,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   624,
+       18 +   768 * sizeof (short) / sizeof (int) +   640,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   656,
+       18 +   768 * sizeof (short) / sizeof (int) +   672,
+       18 +   768 * sizeof (short) / sizeof (int) +   688,
+       18 +   768 * sizeof (short) / sizeof (int) +   704,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   720,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   736,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   768
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x83CF0000,
+    0x0000280F, 0x00000004, 0x00008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000080, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF00000, 0x0001FFFF, 0x01800000, 0x00000001,
+    0x0001F900, 0x00000000, 0x0000FF00, 0xFFE0F800,
+    0x37C007F0, 0xF8000001, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00001800, 0xFFFFC000,
+    0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000001, 0x0C000000, 0x00E0C000, 0x07FE0000,
+    0x00066011, 0x0C3A0200, 0x4F7F8660, 0xF8000030,
+    0x00067811, 0x2C920200, 0xA1FFC678, 0xFFE0003F,
+    0x00044011, 0x0C120200, 0xFFFEC440, 0xFFFD0030,
+    0x00066011, 0x0C120200, 0x4F3FC670, 0xFFFC003C,
+    0x29C23813, 0x3C0038E7, 0xFF7FC238, 0xF800003F,
+    0x00022011, 0x3C100200, 0xFF9FC220, 0xFFFF003C,
+    0x00022013, 0x0C100200, 0xBF9FC220, 0xFFF90030,
+    0x00022013, 0x3C000200, 0xFF7FC230, 0xFFFF003C,
+    0x03800013, 0xD0040000, 0x00A07B80, 0xFFE3FFFF,
+    0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF,
+    0x010FDA69, 0xC4001351, 0xCC00C0A0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000100, 0x0001F800,
+    0x0100F000, 0x20000000, 0xFFFC6000, 0xFFFFFFFF,
+    0x00000000, 0xFC380904, 0xFC000000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x00000000, 0x0000FFC0, 0xE0000000,
+    0x00000000, 0x00000000, 0x7C000000, 0x00000000,
+    0x00000000, 0x000000F8, 0x00000000, 0xFC000000,
+    0x00000000, 0x00000000, 0xC280C200, 0x00000000,
+    0x0000C200, 0x80C20000, 0x008000C2, 0x00000000,
+    0x00C20000, 0x00000000, 0x78000000, 0xE0000000,
+    0xFC000000, 0x00000000, 0x00000000, 0xFFE00000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFF800000,
+    0xE0000000, 0x00000000, 0x00000000, 0xFFFE0000,
+    0xFFE02000, 0xFF800000, 0xFFF00000, 0xFFF22000,
+    0x00000000, 0x00000000, 0xC0000000, 0xFC00FC00,
+    0xFC008000, 0x00000000, 0x00000000, 0xFF000000,
+    0x00000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xE0000000, 0xF000F000, 0x0000000E, 0xFFE0C000,
+    0x00000000, 0x0000FC00, 0x3C00FC00, 0x00000000,
+    0x30000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x0000F000, 0xE0000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFF800, 0x3FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF0000000, 0x00000000, 0x00000000, 0xFC000000,
+    0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000,
+    0x00000000, 0x00200000, 0x10300020, 0x80230000,
+    0x00000000, 0x00000000, 0x00000000, 0x000C03F0,
+    0xFFE08000, 0xFFC00000, 0x0000FFFF, 0xFFFF0000,
+    0x00000000, 0x00000000, 0x00078000, 0x00000000,
+    0x0000FFE0, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFF00,
+    0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xE0000000, 0xFFF80000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000C21, 0x00000100, 0x80B85000, 0x00000001,
+    0x00E00000, 0x80010000, 0x0000F800, 0x0000F000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF8000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00008000, 0x80000000, 0xFF0FE000,
+    0x00000000, 0x00000000, 0x00000000, 0x01FFF800,
+    0x00000000, 0x0000FFC0, 0x00000000, 0xFFFF7FC0,
+    0xFF800000, 0x80808080, 0x80808080, 0xFFFFFFFF,
+    0xCF000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
+    0x00000000, 0x00000000, 0x00000001, 0x00000000,
+    0x01800000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000001F, 0x0001E000, 0x00000000, 0x00000000,
+    0x00008000, 0xFF000000, 0xFFFF0000, 0x0000FFFF,
+    0x80000000, 0x00000000, 0x0000FFF0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFC00000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000E000, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xF8000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFFF000, 0x00000000, 0xFF000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x0000C000, 0x00000000, 0x0000F800,
+    0x00000000, 0x00000000, 0xFC000000, 0xFFFFFFFF,
+    0x1F07FF80, 0xA0800000, 0x00000024, 0x00000000,
+    0x00000000, 0xFFFC0000, 0x0007FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FFFF, 0x00000000,
+    0x00030000, 0x00000000, 0xFFFFFF00, 0xC000FFFF,
+    0xFC000000, 0x0000FFF0, 0x00080000, 0x0020F080,
+    0x00000000, 0x00000000, 0x00000000, 0x60000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x80000000, 0xE3030303, 0xC1FF8080,
+    0x00001000, 0x48000080, 0xC000C000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0xF8000000,
+    0x00000078, 0x00700000, 0x00000000, 0x00000000,
+    0xFFFFF800, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x80000000, 0x0000FFF0, 0xFFFFF800, 0xFFFFFFFF,
+    0x40000000, 0x00000000, 0xFFC000F0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xC0000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000002C0, 0x6E400000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x01100F90, 0x78F00000, 0xFE00FF00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFF8000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0xFFF0FFF8,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFC00000,
+    0x00000000, 0x00000380, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFC0, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFF800000, 0xFFFC0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00200000, 0x00000000,
+    0x20000000, 0x1400219B, 0x00000010, 0x00000000,
+    0x20201840, 0x84000000, 0x000203A0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000000C0, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00003000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFD, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xC0000000
+  }
+};
diff --git a/lib/unictype/categ_Co.c b/lib/unictype/categ_Co.c
new file mode 100644 (file)
index 0000000..70b5ac7
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Co table.  */
+#include "categ_Co.h"
+
+const uc_general_category_t UC_CATEGORY_Co =
+  { UC_CATEGORY_MASK_Co, 0, { &u_categ_Co } };
diff --git a/lib/unictype/categ_Co.h b/lib/unictype/categ_Co.h
new file mode 100644 (file)
index 0000000..e27ab6d
--- /dev/null
@@ -0,0 +1,310 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[3 << 4];
+  }
+u_categ_Co =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +    32
+  },
+  {
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF
+  }
+};
diff --git a/lib/unictype/categ_Cs.c b/lib/unictype/categ_Cs.c
new file mode 100644 (file)
index 0000000..a3f5cea
--- /dev/null
@@ -0,0 +1,30 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+static bool
+uc_is_category_Cs (ucs4_t uc)
+{
+  return (uc >= 0xd800 && uc < 0xe000);
+}
+
+const uc_general_category_t UC_CATEGORY_Cs =
+  { UC_CATEGORY_MASK_Cs, 1, { &uc_is_category_Cs } };
diff --git a/lib/unictype/categ_Cs.h b/lib/unictype/categ_Cs.h
new file mode 100644 (file)
index 0000000..e101bee
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_categ_Cs =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/categ_L.c b/lib/unictype/categ_L.c
new file mode 100644 (file)
index 0000000..b62b2a2
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_L table.  */
+#include "categ_L.h"
+
+const uc_general_category_t UC_CATEGORY_L =
+  { UC_CATEGORY_MASK_L, 0, { &u_categ_L } };
diff --git a/lib/unictype/categ_L.h b/lib/unictype/categ_L.h
new file mode 100644 (file)
index 0000000..f48a35b
--- /dev/null
@@ -0,0 +1,572 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[40 << 4];
+  }
+u_categ_L =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+        4 * sizeof (int) / sizeof (short) +   128,
+        4 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+        4 +   384 * sizeof (short) / sizeof (int) +     0,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    32,
+        4 +   384 * sizeof (short) / sizeof (int) +    48,
+        4 +   384 * sizeof (short) / sizeof (int) +    64,
+        4 +   384 * sizeof (short) / sizeof (int) +    80,
+        4 +   384 * sizeof (short) / sizeof (int) +    96,
+        4 +   384 * sizeof (short) / sizeof (int) +   112,
+        4 +   384 * sizeof (short) / sizeof (int) +   128,
+        4 +   384 * sizeof (short) / sizeof (int) +   144,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   176,
+        4 +   384 * sizeof (short) / sizeof (int) +   192,
+        4 +   384 * sizeof (short) / sizeof (int) +   208,
+        4 +   384 * sizeof (short) / sizeof (int) +   224,
+        4 +   384 * sizeof (short) / sizeof (int) +   240,
+        4 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   352,
+        4 +   384 * sizeof (short) / sizeof (int) +   368,
+        4 +   384 * sizeof (short) / sizeof (int) +   384,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   416,
+        4 +   384 * sizeof (short) / sizeof (int) +   432,
+        4 +   384 * sizeof (short) / sizeof (int) +   448,
+        4 +   384 * sizeof (short) / sizeof (int) +   464,
+        4 +   384 * sizeof (short) / sizeof (int) +   480,
+        4 +   384 * sizeof (short) / sizeof (int) +   496,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   528,
+        4 +   384 * sizeof (short) / sizeof (int) +   544,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   560,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000401F,
+    0x00000000, 0x00000000, 0x00000000, 0x3C000000,
+    0xFFFFD740, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFBFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
+    0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
+    0x00000000, 0x07FFFFFE, 0x000007FF, 0xFFFEC000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C060,
+    0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0x00003FFF,
+    0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF8000003,
+    0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x00030003,
+    0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
+    0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x00000003,
+    0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003,
+    0xD63DC7E8, 0x03FFC718, 0x00000000, 0x00000000,
+    0xFFFDDFE0, 0x03EFFDFF, 0x00000000, 0x00000003,
+    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x00000003,
+    0xFFFDDFE0, 0x03FFFDFF, 0x00000000, 0x00000003,
+    0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
+    0xFFFFFFFE, 0x000DFFFF, 0x0000007F, 0x00000000,
+    0xFEF02596, 0x200DECAE, 0x3000005F, 0x00000000,
+    0x00000001, 0x00000000, 0xFFFFFEFF, 0x000007FF,
+    0x00000F00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000006FB, 0x003F0000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
+    0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x000007FF,
+    0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
+    0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000001FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
+    0xFFFFFFFF, 0x000003FF, 0x000000FE, 0x00000000,
+    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x001F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x3E2FFC84, 0xF3FFBD50, 0x000043E0, 0x00000000,
+    0x00000018, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x00000060, 0x183E0000, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xE07FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFDF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF0000, 0x000003FD, 0x00000000,
+    0x3FFFFFFF, 0xFFFFFFFF, 0x0000FF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+    0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+    0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Ll.c b/lib/unictype/categ_Ll.c
new file mode 100644 (file)
index 0000000..37da1a0
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Ll table.  */
+#include "categ_Ll.h"
+
+const uc_general_category_t UC_CATEGORY_Ll =
+  { UC_CATEGORY_MASK_Ll, 0, { &u_categ_Ll } };
diff --git a/lib/unictype/categ_Ll.h b/lib/unictype/categ_Ll.h
new file mode 100644 (file)
index 0000000..1de2ea9
--- /dev/null
@@ -0,0 +1,331 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[12 << 4];
+  }
+u_categ_Ll =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0x80000000, 0xFF7FFFFF,
+    0xAAAAAAAA, 0x55AAAAAA, 0xAAAAAB55, 0xD4AAAAAA,
+    0x4E243129, 0xE6512D2A, 0xB5555240, 0xAA29AAAA,
+    0xAAAAAAAA, 0x93FAAAAA, 0xFFFFAA85, 0xFFFFFFFF,
+    0xFFEFFFFF, 0x0000FFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x38000000,
+    0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x192FAAAA,
+    0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA,
+    0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA,
+    0x000AAAAA, 0x00000000, 0x00000000, 0xFFFFFFFE,
+    0x000000FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000FFF, 0x00000000, 0xFEFFFFFC,
+    0x07FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
+    0x0FEAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x02AAAAAA,
+    0x003F00FF, 0x00FF00FF, 0x00FF003F, 0x3FFF00FF,
+    0x00FF00FF, 0x40DF00FF, 0x00CF00DC, 0x00DC00FF,
+    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0008C400, 0x32108000, 0x000043C0, 0x00000000,
+    0x00000010, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x00D01562,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000001A,
+    0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00F8007F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFC000000, 0x000FFFFF, 0xFFDFC000, 0x000000FF,
+    0x0FFFFFFC, 0xEBC00000, 0x0000FFEF, 0xFFFFFC00,
+    0xC000000F, 0x00FFFFFF, 0xFFFC0000, 0x00000FFF,
+    0xFFFFFFC0, 0xFC000000, 0x000FFFFF, 0xFFFFC000,
+    0x000000FF, 0x0FFFFFFC, 0xFFC00000, 0x0000FFFF,
+    0xFFFFFC00, 0x0000003F, 0xF7FFFFFC, 0xF0000003,
+    0x0FDFFFFF, 0xFFC00000, 0x003F7FFF, 0xFFFF0000,
+    0x0000FDFF, 0xFFFFFC00, 0x00000BF7, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Lm.c b/lib/unictype/categ_Lm.c
new file mode 100644 (file)
index 0000000..296e53d
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Lm table.  */
+#include "categ_Lm.h"
+
+const uc_general_category_t UC_CATEGORY_Lm =
+  { UC_CATEGORY_MASK_Lm, 0, { &u_categ_Lm } };
diff --git a/lib/unictype/categ_Lm.h b/lib/unictype/categ_Lm.h
new file mode 100644 (file)
index 0000000..6d7f187
--- /dev/null
@@ -0,0 +1,208 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[14 << 4];
+  }
+u_categ_Lm =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   144,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   208
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x0003FFC3, 0x0000401F,
+    0x00000000, 0x00000000, 0x00000000, 0x04000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x02000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000060,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x04300000,
+    0x00000000, 0x00000000, 0x00000040, 0x00000000,
+    0x00000000, 0x00000000, 0x00000040, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x10000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00800000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000008, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x01000003,
+    0xF8000000, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x001F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00008000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000020, 0x083E0000, 0x00000000, 0x00000000,
+    0x60000000, 0x00000000, 0x00000000, 0x70000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00200000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00010000,
+    0xC0000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Lo.c b/lib/unictype/categ_Lo.c
new file mode 100644 (file)
index 0000000..5c7781e
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Lo table.  */
+#include "categ_Lo.h"
+
+const uc_general_category_t UC_CATEGORY_Lo =
+  { UC_CATEGORY_MASK_Lo, 0, { &u_categ_Lo } };
diff --git a/lib/unictype/categ_Lo.h b/lib/unictype/categ_Lo.h
new file mode 100644 (file)
index 0000000..d0f54e3
--- /dev/null
@@ -0,0 +1,556 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[36 << 4];
+  }
+u_categ_Lo =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+        4 * sizeof (int) / sizeof (short) +   128,
+        4 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+        4 +   384 * sizeof (short) / sizeof (int) +     0,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    32,
+        4 +   384 * sizeof (short) / sizeof (int) +    48,
+        4 +   384 * sizeof (short) / sizeof (int) +    64,
+        4 +   384 * sizeof (short) / sizeof (int) +    80,
+        4 +   384 * sizeof (short) / sizeof (int) +    96,
+        4 +   384 * sizeof (short) / sizeof (int) +   112,
+        4 +   384 * sizeof (short) / sizeof (int) +   128,
+        4 +   384 * sizeof (short) / sizeof (int) +   144,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   176,
+        4 +   384 * sizeof (short) / sizeof (int) +   192,
+        4 +   384 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   224,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   240,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   352,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   368,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   384,
+        4 +   384 * sizeof (short) / sizeof (int) +   400,
+        4 +   384 * sizeof (short) / sizeof (int) +   416,
+        4 +   384 * sizeof (short) / sizeof (int) +   432,
+        4 +   384 * sizeof (short) / sizeof (int) +   448,
+        4 +   384 * sizeof (short) / sizeof (int) +   464,
+        4 +   384 * sizeof (short) / sizeof (int) +   480,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   496,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   528,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   544,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   560,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x08000000, 0x0000000F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00100000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x000707FF,
+    0x00000000, 0x07FFFFFE, 0x000007FE, 0xFFFEC000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C000,
+    0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0x00003FFF,
+    0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x000007FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF8000003,
+    0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x00030003,
+    0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
+    0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x00000003,
+    0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003,
+    0xD63DC7E8, 0x03FFC718, 0x00000000, 0x00000000,
+    0xFFFDDFE0, 0x03EFFDFF, 0x00000000, 0x00000003,
+    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x00000003,
+    0xFFFDDFE0, 0x03FFFDFF, 0x00000000, 0x00000003,
+    0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
+    0xFFFFFFFE, 0x000DFFFF, 0x0000003F, 0x00000000,
+    0xFEF02596, 0x200DECAE, 0x3000001F, 0x00000000,
+    0x00000001, 0x00000000, 0xFFFFFEFF, 0x000007FF,
+    0x00000F00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000006FB, 0x003F0000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x07FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
+    0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x000007FF,
+    0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
+    0xFFFFFFFF, 0x000FFFFF, 0x10000000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFF7, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000001FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
+    0xFFFFFFFF, 0x000003FF, 0x000000FE, 0x00000000,
+    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x01E00000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0x0000003F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x00000040, 0x10000000, 0xFFFFFFFE, 0xFFFFFFFF,
+    0x807FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0x87FFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xA0000000, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFDF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFEFFC0,
+    0x3FFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF0000, 0x000003FD, 0x00000000,
+    0x3FFFFFFF, 0xFFFFFFFF, 0x0000FF0F, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Lt.c b/lib/unictype/categ_Lt.c
new file mode 100644 (file)
index 0000000..485acf6
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Lt table.  */
+#include "categ_Lt.h"
+
+const uc_general_category_t UC_CATEGORY_Lt =
+  { UC_CATEGORY_MASK_Lt, 0, { &u_categ_Lt } };
diff --git a/lib/unictype/categ_Lt.h b/lib/unictype/categ_Lt.h
new file mode 100644 (file)
index 0000000..59d5f29
--- /dev/null
@@ -0,0 +1,160 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[2 << 4];
+  }
+u_categ_Lt =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000920, 0x00040000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFF00FF00, 0x1000FF00, 0x00001000, 0x10000000
+  }
+};
diff --git a/lib/unictype/categ_Lu.c b/lib/unictype/categ_Lu.c
new file mode 100644 (file)
index 0000000..26faae2
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Lu table.  */
+#include "categ_Lu.h"
+
+const uc_general_category_t UC_CATEGORY_Lu =
+  { UC_CATEGORY_MASK_Lu, 0, { &u_categ_Lu } };
diff --git a/lib/unictype/categ_Lu.h b/lib/unictype/categ_Lu.h
new file mode 100644 (file)
index 0000000..45dc10b
--- /dev/null
@@ -0,0 +1,327 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[11 << 4];
+  }
+u_categ_Lu =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
+    0x00000000, 0x00000000, 0x7F7FFFFF, 0x00000000,
+    0x55555555, 0xAA555555, 0x555554AA, 0x2B555555,
+    0xB1DBCED6, 0x11AED2D5, 0x4AAAA490, 0x55D25555,
+    0x55555555, 0x6C055555, 0x0000557A, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFED740, 0x00000FFB, 0x551C0000, 0xE6905555,
+    0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555,
+    0x55555401, 0x55555555, 0x55552AAB, 0x55555555,
+    0x00055555, 0xFFFE0000, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0x0000003F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x55555555, 0x55555555, 0x55555555, 0x55555555,
+    0x00155555, 0x55555555, 0x55555555, 0x01555555,
+    0x3F00FF00, 0xFF00FF00, 0xAA003F00, 0x0000FF00,
+    0x00000000, 0x0F000000, 0x0F000F00, 0x0F001F00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3E273884, 0xC00F3D50, 0x00000020, 0x00000000,
+    0x00000008, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00200A9D,
+    0x55555555, 0x55555555, 0x55555555, 0x00000005,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FFFFFF, 0xFFF00000, 0x00003FFF, 0xFFFFFF00,
+    0xD0000003, 0x003FDE64, 0xFFFF0000, 0x000003FF,
+    0x1FDFE7B0, 0x7B000000, 0x0001FC5F, 0xFFFFF000,
+    0x0000003F, 0x03FFFFFF, 0xFFF00000, 0x00003FFF,
+    0xFFFFFF00, 0xF0000003, 0x003FFFFF, 0xFFFF0000,
+    0x000003FF, 0xFFFFFF00, 0x00000001, 0x07FFFFFC,
+    0xF0000000, 0x001FFFFF, 0xFFC00000, 0x00007FFF,
+    0xFFFF0000, 0x000001FF, 0x00000400, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_M.c b/lib/unictype/categ_M.c
new file mode 100644 (file)
index 0000000..ab7f149
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_M table.  */
+#include "categ_M.h"
+
+const uc_general_category_t UC_CATEGORY_M =
+  { UC_CATEGORY_MASK_M, 0, { &u_categ_M } };
diff --git a/lib/unictype/categ_M.h b/lib/unictype/categ_M.h
new file mode 100644 (file)
index 0000000..86c231f
--- /dev/null
@@ -0,0 +1,512 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[22 << 4];
+  }
+u_categ_M =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
+       16 +   384 * sizeof (short) / sizeof (int) +   160,
+       16 +   384 * sizeof (short) / sizeof (int) +   176,
+       16 +   384 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   224,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   304,
+       16 +   384 * sizeof (short) / sizeof (int) +   320,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   336,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000378, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000,
+    0x003F0000, 0x00000000, 0x7FFFF800, 0x00010000,
+    0x00000000, 0x00000000, 0xDFC00000, 0x00003D9F,
+    0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000E, 0xD0000000, 0x001E3FFF, 0x0000000C,
+    0x0000000E, 0xD0000000, 0x0080399F, 0x0000000C,
+    0x0000000E, 0xD0000000, 0x00003987, 0x00030000,
+    0x0000000E, 0xD0000000, 0x00003BBF, 0x0000000C,
+    0x0000000E, 0xD0000000, 0x00C0398F, 0x00000000,
+    0x00000004, 0xC0000000, 0x00803DC7, 0x00000000,
+    0x0000000E, 0xC0000000, 0x00603DDF, 0x00000000,
+    0x0000000C, 0xD0000000, 0x00603DDF, 0x0000000C,
+    0x0000000C, 0xC0000000, 0x00803DCF, 0x00000000,
+    0x0000000C, 0x00000000, 0xFF5F8400, 0x000C0000,
+    0x00000000, 0x07F20000, 0x00007F80, 0x00000000,
+    0x00000000, 0x1BF20000, 0x00003F00, 0x00000000,
+    0x03000000, 0xC2A00000, 0x00000000, 0xFFFE0000,
+    0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
+    0x00000000, 0x03C7F000, 0x03C00000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
+    0x00000000, 0xFFC00000, 0x200FFFFF, 0x00000000,
+    0x00003800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x0FFF0FFF, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x00000301, 0x00000000,
+    0x0F800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000001F, 0xFFF00000, 0x0000001F, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007FF, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
+    0x06000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000844, 0x000000F8, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x40000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000FFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000F06E, 0x87000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xF807E3E0,
+    0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001C, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
+  }
+};
diff --git a/lib/unictype/categ_Mc.c b/lib/unictype/categ_Mc.c
new file mode 100644 (file)
index 0000000..c54a565
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Mc table.  */
+#include "categ_Mc.h"
+
+const uc_general_category_t UC_CATEGORY_Mc =
+  { UC_CATEGORY_MASK_Mc, 0, { &u_categ_Mc } };
diff --git a/lib/unictype/categ_Mc.h b/lib/unictype/categ_Mc.h
new file mode 100644 (file)
index 0000000..a7cc9a1
--- /dev/null
@@ -0,0 +1,323 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[10 << 4];
+  }
+u_categ_Mc =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000008, 0xC0000000, 0x00001E01, 0x00000000,
+    0x0000000C, 0xC0000000, 0x00801981, 0x00000000,
+    0x00000008, 0xC0000000, 0x00000001, 0x00000000,
+    0x00000008, 0xC0000000, 0x00001A01, 0x00000000,
+    0x0000000C, 0x40000000, 0x00801981, 0x00000000,
+    0x00000000, 0xC0000000, 0x00801DC6, 0x00000000,
+    0x0000000E, 0x00000000, 0x0000001E, 0x00000000,
+    0x0000000C, 0x40000000, 0x00600D9F, 0x00000000,
+    0x0000000C, 0xC0000000, 0x00801DC1, 0x00000000,
+    0x0000000C, 0x00000000, 0xFF038000, 0x000C0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x01021000, 0x00C00000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0400000, 0x000001BF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x01FB0E78, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x00000301, 0x00000000,
+    0x0E000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000010, 0xE8200000, 0x0000001B, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000004, 0x00000098, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0007E060,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Me.c b/lib/unictype/categ_Me.c
new file mode 100644 (file)
index 0000000..00e2a01
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Me table.  */
+#include "categ_Me.h"
+
+const uc_general_category_t UC_CATEGORY_Me =
+  { UC_CATEGORY_MASK_Me, 0, { &u_categ_Me } };
diff --git a/lib/unictype/categ_Me.h b/lib/unictype/categ_Me.h
new file mode 100644 (file)
index 0000000..8adf56a
--- /dev/null
@@ -0,0 +1,164 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[3 << 4];
+  }
+u_categ_Me =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000300, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x40000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xE0000000, 0x0000001D,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Mn.c b/lib/unictype/categ_Mn.c
new file mode 100644 (file)
index 0000000..5990ee5
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Mn table.  */
+#include "categ_Mn.h"
+
+const uc_general_category_t UC_CATEGORY_Mn =
+  { UC_CATEGORY_MASK_Mn, 0, { &u_categ_Mn } };
diff --git a/lib/unictype/categ_Mn.h b/lib/unictype/categ_Mn.h
new file mode 100644 (file)
index 0000000..177acf5
--- /dev/null
@@ -0,0 +1,512 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[22 << 4];
+  }
+u_categ_Mn =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
+       16 +   384 * sizeof (short) / sizeof (int) +   160,
+       16 +   384 * sizeof (short) / sizeof (int) +   176,
+       16 +   384 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   224,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   304,
+       16 +   384 * sizeof (short) / sizeof (int) +   320,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   336,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000078, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000,
+    0x003F0000, 0x00000000, 0x7FFFF800, 0x00010000,
+    0x00000000, 0x00000000, 0x9FC00000, 0x00003D9F,
+    0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000006, 0x10000000, 0x001E21FE, 0x0000000C,
+    0x00000002, 0x10000000, 0x0000201E, 0x0000000C,
+    0x00000006, 0x10000000, 0x00003986, 0x00030000,
+    0x00000006, 0x10000000, 0x000021BE, 0x0000000C,
+    0x00000002, 0x90000000, 0x0040200E, 0x00000000,
+    0x00000004, 0x00000000, 0x00002001, 0x00000000,
+    0x00000000, 0xC0000000, 0x00603DC1, 0x00000000,
+    0x00000000, 0x90000000, 0x00003040, 0x0000000C,
+    0x00000000, 0x00000000, 0x0000200E, 0x00000000,
+    0x00000000, 0x00000000, 0x005C0400, 0x00000000,
+    0x00000000, 0x07F20000, 0x00007F80, 0x00000000,
+    0x00000000, 0x1BF20000, 0x00003F00, 0x00000000,
+    0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000,
+    0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
+    0x00000000, 0x02C5E000, 0x03000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
+    0x00000000, 0x3F800000, 0x200FFE40, 0x00000000,
+    0x00003800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x0E040187, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000F, 0x17D00000, 0x00000004, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007FF, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x1FFF0000, 0x0000FFE2,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
+    0x06000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000840, 0x00000060, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x40000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000FFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000F06E, 0x87000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xF8000380,
+    0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001C, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
+  }
+};
diff --git a/lib/unictype/categ_N.c b/lib/unictype/categ_N.c
new file mode 100644 (file)
index 0000000..5aa9248
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_N table.  */
+#include "categ_N.h"
+
+const uc_general_category_t UC_CATEGORY_N =
+  { UC_CATEGORY_MASK_N, 0, { &u_categ_N } };
diff --git a/lib/unictype/categ_N.h b/lib/unictype/categ_N.h
new file mode 100644 (file)
index 0000000..f92680e
--- /dev/null
@@ -0,0 +1,387 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[26 << 4];
+  }
+u_categ_N =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x720C0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000003FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x03F0FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0007FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x000FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000003FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x1FFFFE00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0001C000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF03FF,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FFC0, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03F10000,
+    0x000003FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF80000, 0xFFFFFFFF,
+    0x00000007, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
+    0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFC00000,
+    0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x20000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000080, 0x070003FE, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003C0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000003FF, 0xFFFE0000, 0x00000000,
+    0x000003FF, 0xFFFE0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFF80, 0x000FFFFF, 0xFFFFFFFF, 0x01FFFFFF,
+    0x00000400, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000000F, 0x00000402, 0x00000000,
+    0x00000000, 0x00000000, 0x003E0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03C00000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000000FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/categ_Nd.c b/lib/unictype/categ_Nd.c
new file mode 100644 (file)
index 0000000..f5ad322
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Nd table.  */
+#include "categ_Nd.h"
+
+const uc_general_category_t UC_CATEGORY_Nd =
+  { UC_CATEGORY_MASK_Nd, 0, { &u_categ_Nd } };
diff --git a/lib/unictype/categ_Nd.h b/lib/unictype/categ_Nd.h
new file mode 100644 (file)
index 0000000..9f3e9b4
--- /dev/null
@@ -0,0 +1,335 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[13 << 4];
+  }
+u_categ_Nd =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000003FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000003FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000003FF,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FFC0, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/categ_Nl.c b/lib/unictype/categ_Nl.c
new file mode 100644 (file)
index 0000000..6fe9370
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Nl table.  */
+#include "categ_Nl.h"
+
+const uc_general_category_t UC_CATEGORY_Nl =
+  { UC_CATEGORY_MASK_Nl, 0, { &u_categ_Nl } };
diff --git a/lib/unictype/categ_Nl.h b/lib/unictype/categ_Nl.h
new file mode 100644 (file)
index 0000000..711551e
--- /dev/null
@@ -0,0 +1,307 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[6 << 4];
+  }
+u_categ_Nl =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0001C000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
+    0x00000007, 0x00000000, 0x00000000, 0x00000000,
+    0x00000080, 0x070003FE, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000402, 0x00000000,
+    0x00000000, 0x00000000, 0x003E0000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_No.c b/lib/unictype/categ_No.c
new file mode 100644 (file)
index 0000000..055177f
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_No table.  */
+#include "categ_No.h"
+
+const uc_general_category_t UC_CATEGORY_No =
+  { UC_CATEGORY_MASK_No, 0, { &u_categ_No } };
diff --git a/lib/unictype/categ_No.h b/lib/unictype/categ_No.h
new file mode 100644 (file)
index 0000000..1d1f9fc
--- /dev/null
@@ -0,0 +1,351 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[17 << 4];
+  }
+u_categ_No =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x720C0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03F00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00070000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000FFC00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x1FFFFE00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x03F10000,
+    0x000003FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF80000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
+    0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFC00000,
+    0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x20000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003C0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000003FF, 0xFFFE0000, 0x00000000,
+    0x000003FF, 0xFFFE0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFF80, 0x000FFFFF, 0x00000000, 0x01E00000,
+    0x00000400, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03C00000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000000FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_P.c b/lib/unictype/categ_P.c
new file mode 100644 (file)
index 0000000..e1dbbcd
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_P table.  */
+#include "categ_P.h"
+
+const uc_general_category_t UC_CATEGORY_P =
+  { UC_CATEGORY_MASK_P, 0, { &u_categ_P } };
diff --git a/lib/unictype/categ_P.h b/lib/unictype/categ_P.h
new file mode 100644 (file)
index 0000000..c90131e
--- /dev/null
@@ -0,0 +1,391 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[27 << 4];
+  }
+u_categ_P =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   416,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x8C00F7EE, 0xB8000001, 0x28000000,
+    0x00000000, 0x88800802, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x40000000,
+    0x00000080, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFC000000, 0x00000000,
+    0x00000600, 0x40000000, 0x00000049, 0x00180000,
+    0xC8003000, 0x00000000, 0x00000000, 0x00003C00,
+    0x00000000, 0x00000000, 0x00100000, 0x00000000,
+    0x00003FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03800000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00010030,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00100000,
+    0x00000000, 0x00000000, 0x0C008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0007FFF0, 0x3C000000, 0x00000000, 0x00000000,
+    0x00000020, 0x00000000, 0x00030000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FC00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000001FE,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00006000,
+    0x18000000, 0x00000000, 0x00000000, 0x00003800,
+    0x00000000, 0x00600000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x07700000, 0x00000000,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000030, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x00000000,
+    0xC0000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFC000000, 0x00000001,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xFFFF00FF, 0x7FFBFFEF, 0x60000000,
+    0x00006000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000600, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x003FFF00,
+    0x00000000, 0x00000000, 0x00000060, 0x00000FC0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01FFFFF8, 0x00000000, 0x0F000000, 0x30000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xDE000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x30FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF3FF0E, 0x20010000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00F00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF0000, 0xFFFF0000, 0xFFF7FFFF, 0x00000D0B,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x8C00F7EE, 0xB8000001, 0xA8000000, 0x0000003F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000003, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00010000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x01FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000F0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Pc.c b/lib/unictype/categ_Pc.c
new file mode 100644 (file)
index 0000000..06558ad
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Pc table.  */
+#include "categ_Pc.h"
+
+const uc_general_category_t UC_CATEGORY_Pc =
+  { UC_CATEGORY_MASK_Pc, 0, { &u_categ_Pc } };
diff --git a/lib/unictype/categ_Pc.h b/lib/unictype/categ_Pc.h
new file mode 100644 (file)
index 0000000..e7f43c3
--- /dev/null
@@ -0,0 +1,164 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[3 << 4];
+  }
+u_categ_Pc =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32
+  },
+  {
+    0x00000000, 0x00000000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x80000000, 0x00100001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00180000, 0x0000E000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Pd.c b/lib/unictype/categ_Pd.c
new file mode 100644 (file)
index 0000000..96516d5
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Pd table.  */
+#include "categ_Pd.h"
+
+const uc_general_category_t UC_CATEGORY_Pd =
+  { UC_CATEGORY_MASK_Pd, 0, { &u_categ_Pd } };
diff --git a/lib/unictype/categ_Pd.h b/lib/unictype/categ_Pd.h
new file mode 100644 (file)
index 0000000..b32da94
--- /dev/null
@@ -0,0 +1,180 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[7 << 4];
+  }
+u_categ_Pd =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    96
+  },
+  {
+    0x00000000, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000400, 0x00000000, 0x00000000, 0x00000000,
+    0x00000040, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x10000000, 0x00010000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00060000, 0x01000000, 0x00000008,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00002000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Pe.c b/lib/unictype/categ_Pe.c
new file mode 100644 (file)
index 0000000..5315532
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Pe table.  */
+#include "categ_Pe.h"
+
+const uc_general_category_t UC_CATEGORY_Pe =
+  { UC_CATEGORY_MASK_Pe, 0, { &u_categ_Pe } };
diff --git a/lib/unictype/categ_Pe.h b/lib/unictype/categ_Pe.h
new file mode 100644 (file)
index 0000000..9e17347
--- /dev/null
@@ -0,0 +1,192 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[10 << 4];
+  }
+u_categ_Pe =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   128,
+        2 +   128 * sizeof (short) / sizeof (int) +   144
+  },
+  {
+    0x00000000, 0x00000200, 0x20000000, 0x20000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x28000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x10000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000040, 0x40000000,
+    0x00004000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000400, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x002AAA00,
+    0x00000000, 0x00000000, 0x00000040, 0x00000A80,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01555550, 0x00000000, 0x0A000000, 0x20000000,
+    0xCAA2AA00, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01000000, 0x55400000, 0x54000115, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000200, 0x20000000, 0x20000000, 0x00000009,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Pf.c b/lib/unictype/categ_Pf.c
new file mode 100644 (file)
index 0000000..435e19f
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Pf table.  */
+#include "categ_Pf.h"
+
+const uc_general_category_t UC_CATEGORY_Pf =
+  { UC_CATEGORY_MASK_Pf, 0, { &u_categ_Pf } };
diff --git a/lib/unictype/categ_Pf.h b/lib/unictype/categ_Pf.h
new file mode 100644 (file)
index 0000000..eb0128f
--- /dev/null
@@ -0,0 +1,164 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[3 << 4];
+  }
+u_categ_Pf =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x08000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x22000000, 0x04000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x20002428, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Pi.c b/lib/unictype/categ_Pi.c
new file mode 100644 (file)
index 0000000..9ea1de1
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Pi table.  */
+#include "categ_Pi.h"
+
+const uc_general_category_t UC_CATEGORY_Pi =
+  { UC_CATEGORY_MASK_Pi, 0, { &u_categ_Pi } };
diff --git a/lib/unictype/categ_Pi.h b/lib/unictype/categ_Pi.h
new file mode 100644 (file)
index 0000000..0fa89ad
--- /dev/null
@@ -0,0 +1,164 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[3 << 4];
+  }
+u_categ_Pi =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000800, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x99000000, 0x02000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x10001214, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Po.c b/lib/unictype/categ_Po.c
new file mode 100644 (file)
index 0000000..4c2e2cb
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Po table.  */
+#include "categ_Po.h"
+
+const uc_general_category_t UC_CATEGORY_Po =
+  { UC_CATEGORY_MASK_Po, 0, { &u_categ_Po } };
diff --git a/lib/unictype/categ_Po.h b/lib/unictype/categ_Po.h
new file mode 100644 (file)
index 0000000..a1b63eb
--- /dev/null
@@ -0,0 +1,375 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[23 << 4];
+  }
+u_categ_Po =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x8C00D4EE, 0x10000001, 0x00000000,
+    0x00000000, 0x80800002, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x40000000,
+    0x00000080, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFC000000, 0x00000000,
+    0x00000200, 0x40000000, 0x00000049, 0x00180000,
+    0xC8003000, 0x00000000, 0x00000000, 0x00003C00,
+    0x00000000, 0x00000000, 0x00100000, 0x00000000,
+    0x00003FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03800000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00010030,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00100000,
+    0x00000000, 0x00000000, 0x0C008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0007FFF0, 0x00000000, 0x00000000, 0x00000000,
+    0x00000020, 0x00000000, 0x00030000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FC00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000001FE,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00006000,
+    0x00000000, 0x00000000, 0x00000000, 0x00003800,
+    0x00000000, 0x00600000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x07700000, 0x00000000,
+    0x000007BF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000030, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x00000000,
+    0xC0000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFC000000, 0x00000001,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00C00000, 0x79FF00FF, 0x7FEBFF8E, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xDE000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x007FC9C3, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000E, 0x20000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00F00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x027F0000, 0x00010000, 0x80F71E60, 0x00000D03,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x8C00D4EE, 0x10000001, 0x00000000, 0x00000032,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000003, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00010000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x01FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000F0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Ps.c b/lib/unictype/categ_Ps.c
new file mode 100644 (file)
index 0000000..4e10039
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Ps table.  */
+#include "categ_Ps.h"
+
+const uc_general_category_t UC_CATEGORY_Ps =
+  { UC_CATEGORY_MASK_Ps, 0, { &u_categ_Ps } };
diff --git a/lib/unictype/categ_Ps.h b/lib/unictype/categ_Ps.h
new file mode 100644 (file)
index 0000000..c4b37ce
--- /dev/null
@@ -0,0 +1,192 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[10 << 4];
+  }
+u_categ_Ps =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   128,
+        2 +   128 * sizeof (short) / sizeof (int) +   144
+  },
+  {
+    0x00000000, 0x00000100, 0x08000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x14000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x08000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x44000000, 0x00000000, 0x00000020, 0x20000000,
+    0x00002000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00155500,
+    0x00000000, 0x00000000, 0x00000020, 0x00000540,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00AAAAA8, 0x00000000, 0x05000000, 0x10000000,
+    0x25515500, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x40000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00800000, 0xAAA00000, 0x2A00008A, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000100, 0x08000000, 0x88000000, 0x00000004,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_S.c b/lib/unictype/categ_S.c
new file mode 100644 (file)
index 0000000..4eb51f5
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_S table.  */
+#include "categ_S.h"
+
+const uc_general_category_t UC_CATEGORY_S =
+  { UC_CATEGORY_MASK_S, 0, { &u_categ_S } };
diff --git a/lib/unictype/categ_S.h b/lib/unictype/categ_S.h
new file mode 100644 (file)
index 0000000..f5a63e9
--- /dev/null
@@ -0,0 +1,419 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[34 << 4];
+  }
+u_categ_S =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
+        3 +   256 * sizeof (short) / sizeof (int) +   416,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
+        3 +   256 * sizeof (short) / sizeof (int) +   464,
+        3 +   256 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   496,
+        3 +   256 * sizeof (short) / sizeof (int) +   512,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   528,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x70000810, 0x40000000, 0x50000001,
+    0x00000000, 0x0153D3FC, 0x00800000, 0x00800000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFC003C, 0xFFFFBFE0,
+    0x00000000, 0x00000000, 0x00000000, 0x00300000,
+    0x00000030, 0x00000000, 0x00000000, 0x00400000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000004, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000C800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x60000200,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00400000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x040C0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00010000,
+    0x00000000, 0x00000000, 0x00000000, 0x07F80000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00060000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFCF8000E, 0x01500000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00009FBF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000001,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x08000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x1FF007FE,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
+    0x00000000, 0x00000000, 0x00040010, 0x1C000000,
+    0x00001C00, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xC1D0037B, 0x0C0042AF, 0x00003C1F, 0x00000000,
+    0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFF9FF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0x0000007F, 0x000007FF, 0x00000000,
+    0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x1FFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0x000000FE,
+    0xFF100000, 0x7FFEFFFF, 0xFFFF079F, 0xFFFF003F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFE000007, 0xFFFFFFFF, 0xF0FFFFFF, 0xCFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x07FFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000007E0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
+    0x000C0010, 0xC0C00001, 0x00000000, 0x00000000,
+    0x18000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFC30000, 0x00000000, 0x0000FFFF, 0x00000000,
+    0x7FFFFFFF, 0xFFFFFC00, 0x0001000F, 0xFFFFFFFF,
+    0xFFFFFC00, 0x0001FFFF, 0xFFFFFFFF, 0x7FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x007FFFFF, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000F00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x30000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000274,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x70000810, 0x40000000, 0x50000001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x30007F7F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000004, 0xFF800000, 0x00000000, 0xFE000000,
+    0x000003FF, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFFFFFFF, 0xFFFFFC7F, 0xFFFFFFFF, 0x00001C1F,
+    0xFFFFF018, 0xFFFFC3FF, 0x3FFFFFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x08000002, 0x08000000,
+    0x00200000, 0x00200000, 0x00008000, 0x00008000,
+    0x00000200, 0x00000200, 0x00000008, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Sc.c b/lib/unictype/categ_Sc.c
new file mode 100644 (file)
index 0000000..171d5b8
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Sc table.  */
+#include "categ_Sc.h"
+
+const uc_general_category_t UC_CATEGORY_Sc =
+  { UC_CATEGORY_MASK_Sc, 0, { &u_categ_Sc } };
diff --git a/lib/unictype/categ_Sc.h b/lib/unictype/categ_Sc.h
new file mode 100644 (file)
index 0000000..d5cc7c1
--- /dev/null
@@ -0,0 +1,188 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[9 << 4];
+  }
+u_categ_Sc =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
+        2 +   128 * sizeof (short) / sizeof (int) +   128
+  },
+  {
+    0x00000000, 0x00000010, 0x00000000, 0x00000000,
+    0x00000000, 0x0000003C, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000C0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x02000000,
+    0x00000000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x08000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x003FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x10000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000200,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000010, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000063
+  }
+};
diff --git a/lib/unictype/categ_Sk.c b/lib/unictype/categ_Sk.c
new file mode 100644 (file)
index 0000000..5f4d84e
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Sk table.  */
+#include "categ_Sk.h"
+
+const uc_general_category_t UC_CATEGORY_Sk =
+  { UC_CATEGORY_MASK_Sk, 0, { &u_categ_Sk } };
diff --git a/lib/unictype/categ_Sk.h b/lib/unictype/categ_Sk.h
new file mode 100644 (file)
index 0000000..290f4a0
--- /dev/null
@@ -0,0 +1,176 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[6 << 4];
+  }
+u_categ_Sk =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80
+  },
+  {
+    0x00000000, 0x00000000, 0x40000000, 0x00000001,
+    0x00000000, 0x01108100, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFC003C, 0xFFFFBFE0,
+    0x00000000, 0x00000000, 0x00000000, 0x00300000,
+    0x00000030, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x18000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x007FFFFF, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x40000000, 0x00000001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000008
+  }
+};
diff --git a/lib/unictype/categ_Sm.c b/lib/unictype/categ_Sm.c
new file mode 100644 (file)
index 0000000..158823f
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Sm table.  */
+#include "categ_Sm.h"
+
+const uc_general_category_t UC_CATEGORY_Sm =
+  { UC_CATEGORY_MASK_Sm, 0, { &u_categ_Sm } };
diff --git a/lib/unictype/categ_Sm.h b/lib/unictype/categ_Sm.h
new file mode 100644 (file)
index 0000000..8b9e193
--- /dev/null
@@ -0,0 +1,327 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[11 << 4];
+  }
+u_categ_Sm =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x70000800, 0x00000000, 0x50000000,
+    0x00000000, 0x00021000, 0x00800000, 0x00800000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00400000,
+    0x00000000, 0x00000000, 0x00040010, 0x1C000000,
+    0x00001C00, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000081F, 0x00000000,
+    0x0C1F0000, 0x00004049, 0x0014C000, 0xFFF00000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000F00, 0x00000003, 0x00000000, 0x10000000,
+    0xF8000000, 0x000FFFFF, 0xF0000000, 0x00000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00800000, 0x00000002, 0xFF000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00008000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF079F, 0xFFFF003F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFE000007, 0xFFFFFFFF, 0xF0FFFFFF, 0xCFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000074,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x70000800, 0x00000000, 0x50000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00001E04,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x08000002, 0x08000000,
+    0x00200000, 0x00200000, 0x00008000, 0x00008000,
+    0x00000200, 0x00000200, 0x00000008, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_So.c b/lib/unictype/categ_So.c
new file mode 100644 (file)
index 0000000..a1f688b
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_So table.  */
+#include "categ_So.h"
+
+const uc_general_category_t UC_CATEGORY_So =
+  { UC_CATEGORY_MASK_So, 0, { &u_categ_So } };
diff --git a/lib/unictype/categ_So.h b/lib/unictype/categ_So.h
new file mode 100644 (file)
index 0000000..f009a6b
--- /dev/null
@@ -0,0 +1,395 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[28 << 4];
+  }
+u_categ_So =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   416,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x004142C0, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000004, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000C000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x60000200,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00400000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x04000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00010000,
+    0x00000000, 0x00000000, 0x00000000, 0x05F80000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00060000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFCF8000E, 0x01500000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00009FBF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000001,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x1FF007FE,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xC1D0037B, 0x0C0042AF, 0x00003400, 0x00000000,
+    0xF3E00000, 0xFFFFBFB6, 0xFFEB3FFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFF0FF, 0xFFFFF9FC, 0xFFFFFFFF, 0xEFFFFFFF,
+    0x07FFFFFF, 0xFFF00000, 0x0FFFFFFF, 0x000000FC,
+    0xFFFFFFFF, 0x0000007F, 0x000007FF, 0x00000000,
+    0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFF7FFFFF, 0xFFFFFFFD, 0x00FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF7FFF,
+    0x1FFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0x000000FE,
+    0xFF100000, 0x7FFEFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07FFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000007E0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
+    0x000C0010, 0xC0C00001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFC30000, 0x00000000, 0x0000FFFF, 0x00000000,
+    0x7FFFFFFF, 0xFFFFFC00, 0x0001000F, 0xFFFFFFFF,
+    0xFFFFFC00, 0x0001FFFF, 0xFFFFFFFF, 0x7FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000F00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x20000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x30006110,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000004, 0xFF800000, 0x00000000, 0xFE000000,
+    0x000003FF, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFFFFFFF, 0xFFFFFC7F, 0xFFFFFFFF, 0x00001C1F,
+    0xFFFFF018, 0xFFFFC3FF, 0x3FFFFFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Z.c b/lib/unictype/categ_Z.c
new file mode 100644 (file)
index 0000000..eb187d6
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Z table.  */
+#include "categ_Z.h"
+
+const uc_general_category_t UC_CATEGORY_Z =
+  { UC_CATEGORY_MASK_Z, 0, { &u_categ_Z } };
diff --git a/lib/unictype/categ_Z.h b/lib/unictype/categ_Z.h
new file mode 100644 (file)
index 0000000..7fa922a
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_categ_Z =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00008300, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Zl.c b/lib/unictype/categ_Zl.c
new file mode 100644 (file)
index 0000000..4a6e3df
--- /dev/null
@@ -0,0 +1,30 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+static bool
+uc_is_category_Zl (ucs4_t uc)
+{
+  return (uc == 0x2028);
+}
+
+const uc_general_category_t UC_CATEGORY_Zl =
+  { UC_CATEGORY_MASK_Zl, 1, { &uc_is_category_Zl } };
diff --git a/lib/unictype/categ_Zl.h b/lib/unictype/categ_Zl.h
new file mode 100644 (file)
index 0000000..5606653
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_categ_Zl =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000100, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Zp.c b/lib/unictype/categ_Zp.c
new file mode 100644 (file)
index 0000000..23f682c
--- /dev/null
@@ -0,0 +1,30 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+static bool
+uc_is_category_Zp (ucs4_t uc)
+{
+  return (uc == 0x2029);
+}
+
+const uc_general_category_t UC_CATEGORY_Zp =
+  { UC_CATEGORY_MASK_Zp, 1, { &uc_is_category_Zp } };
diff --git a/lib/unictype/categ_Zp.h b/lib/unictype/categ_Zp.h
new file mode 100644 (file)
index 0000000..91e9d8a
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_categ_Zp =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_Zs.c b/lib/unictype/categ_Zs.c
new file mode 100644 (file)
index 0000000..c997157
--- /dev/null
@@ -0,0 +1,27 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_categ_Zs table.  */
+#include "categ_Zs.h"
+
+const uc_general_category_t UC_CATEGORY_Zs =
+  { UC_CATEGORY_MASK_Zs, 0, { &u_categ_Zs } };
diff --git a/lib/unictype/categ_Zs.h b/lib/unictype/categ_Zs.h
new file mode 100644 (file)
index 0000000..be3c5cd
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_categ_Zs =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00008000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/categ_and.c b/lib/unictype/categ_and.c
new file mode 100644 (file)
index 0000000..2101f94
--- /dev/null
@@ -0,0 +1,45 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+uc_general_category_t
+uc_general_category_and (uc_general_category_t category1,
+                        uc_general_category_t category2)
+{
+  uint32_t bitmask;
+  uc_general_category_t result;
+
+  bitmask = category1.bitmask & category2.bitmask;
+
+  if (bitmask == category1.bitmask)
+    return category1;
+
+  if (bitmask == category2.bitmask)
+    return category2;
+
+  if (bitmask == 0)
+    return _UC_CATEGORY_NONE;
+
+  result.bitmask = bitmask;
+  result.generic = 1;
+  result.lookup.lookup_fn = &uc_is_general_category_withtable;
+  return result;
+}
diff --git a/lib/unictype/categ_and_not.c b/lib/unictype/categ_and_not.c
new file mode 100644 (file)
index 0000000..6cc2759
--- /dev/null
@@ -0,0 +1,42 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+uc_general_category_t
+uc_general_category_and_not (uc_general_category_t category1,
+                            uc_general_category_t category2)
+{
+  uint32_t bitmask;
+  uc_general_category_t result;
+
+  bitmask = category1.bitmask & ~category2.bitmask;
+
+  if (bitmask == category1.bitmask)
+    return category1;
+
+  if (bitmask == 0)
+    return _UC_CATEGORY_NONE;
+
+  result.bitmask = bitmask;
+  result.generic = 1;
+  result.lookup.lookup_fn = &uc_is_general_category_withtable;
+  return result;
+}
diff --git a/lib/unictype/categ_byname.c b/lib/unictype/categ_byname.c
new file mode 100644 (file)
index 0000000..a175dd1
--- /dev/null
@@ -0,0 +1,105 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+uc_general_category_t
+uc_general_category_byname (const char *category_name)
+{
+  if (category_name[0] != '\0'
+      && (category_name[1] == '\0' || category_name[2] == '\0'))
+    switch (category_name[0])
+      {
+      case 'L':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_L;
+         case 'u': return UC_CATEGORY_Lu;
+         case 'l': return UC_CATEGORY_Ll;
+         case 't': return UC_CATEGORY_Lt;
+         case 'm': return UC_CATEGORY_Lm;
+         case 'o': return UC_CATEGORY_Lo;
+         }
+       break;
+      case 'M':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_M;
+         case 'n': return UC_CATEGORY_Mn;
+         case 'c': return UC_CATEGORY_Mc;
+         case 'e': return UC_CATEGORY_Me;
+         }
+       break;
+      case 'N':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_N;
+         case 'd': return UC_CATEGORY_Nd;
+         case 'l': return UC_CATEGORY_Nl;
+         case 'o': return UC_CATEGORY_No;
+         }
+       break;
+      case 'P':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_P;
+         case 'c': return UC_CATEGORY_Pc;
+         case 'd': return UC_CATEGORY_Pd;
+         case 's': return UC_CATEGORY_Ps;
+         case 'e': return UC_CATEGORY_Pe;
+         case 'i': return UC_CATEGORY_Pi;
+         case 'f': return UC_CATEGORY_Pf;
+         case 'o': return UC_CATEGORY_Po;
+         }
+       break;
+      case 'S':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_S;
+         case 'm': return UC_CATEGORY_Sm;
+         case 'c': return UC_CATEGORY_Sc;
+         case 'k': return UC_CATEGORY_Sk;
+         case 'o': return UC_CATEGORY_So;
+         }
+       break;
+      case 'Z':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_Z;
+         case 's': return UC_CATEGORY_Zs;
+         case 'l': return UC_CATEGORY_Zl;
+         case 'p': return UC_CATEGORY_Zp;
+         }
+       break;
+      case 'C':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_C;
+         case 'c': return UC_CATEGORY_Cc;
+         case 'f': return UC_CATEGORY_Cf;
+         case 's': return UC_CATEGORY_Cs;
+         case 'o': return UC_CATEGORY_Co;
+         case 'n': return UC_CATEGORY_Cn;
+         }
+       break;
+      }
+  /* Invalid category name.  */
+  return _UC_CATEGORY_NONE;
+}
diff --git a/lib/unictype/categ_name.c b/lib/unictype/categ_name.c
new file mode 100644 (file)
index 0000000..10421ef
--- /dev/null
@@ -0,0 +1,77 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+static const char u_category_name[30][3] =
+{
+  "Lu", "Ll", "Lt", "Lm", "Lo", "Mn", "Mc", "Me", "Nd", "Nl",
+  "No", "Pc", "Pd", "Ps", "Pe", "Pi", "Pf", "Po", "Sm", "Sc",
+  "Sk", "So", "Zs", "Zl", "Zp", "Cc", "Cf", "Cs", "Co", "Cn"
+};
+
+const char *
+uc_general_category_name (uc_general_category_t category)
+{
+  uint32_t bitmask = category.bitmask;
+  /* bitmask should consist of a single bit.  */
+  if (bitmask != 0)
+    {
+      if ((bitmask & (bitmask - 1)) == 0)
+       {
+         int bit;
+         /* Take log2 using a variant of Robert Harley's method.
+            Found by Bruno Haible 1996.  */
+         uint32_t n = bitmask;
+         static const char ord2_tab[64] =
+           {
+             -1,  0,  1, 12,  2,  6, -1, 13,  3, -1,  7, -1, -1, -1, -1, 14,
+             10,  4, -1, -1,  8, -1, -1, 25, -1, -1, -1, -1, -1, 21, 27, 15,
+             31, 11,  5, -1, -1, -1, -1, -1,  9, -1, -1, 24, -1, -1, 20, 26,
+             30, -1, -1, -1, -1, 23, -1, 19, 29, -1, 22, 18, 28, 17, 16, -1
+           };
+         n += n << 4;
+         n += n << 6;
+         n = (n << 16) - n;
+         bit = ord2_tab[n >> 26];
+
+         if (bit < sizeof (u_category_name) / sizeof (u_category_name[0]))
+           return u_category_name[bit];
+       }
+      else
+       {
+         if (bitmask == UC_CATEGORY_MASK_L)
+           return "L";
+         if (bitmask == UC_CATEGORY_MASK_M)
+           return "M";
+         if (bitmask == UC_CATEGORY_MASK_N)
+           return "N";
+         if (bitmask == UC_CATEGORY_MASK_P)
+           return "P";
+         if (bitmask == UC_CATEGORY_MASK_S)
+           return "S";
+         if (bitmask == UC_CATEGORY_MASK_Z)
+           return "Z";
+         if (bitmask == UC_CATEGORY_MASK_C)
+           return "C";
+       }
+    }
+  return NULL;
+}
diff --git a/lib/unictype/categ_none.c b/lib/unictype/categ_none.c
new file mode 100644 (file)
index 0000000..9e33ab9
--- /dev/null
@@ -0,0 +1,30 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+static bool
+always_false (ucs4_t uc, uint32_t bitmask)
+{
+  return false;
+}
+
+const uc_general_category_t _UC_CATEGORY_NONE =
+  { 0, 1, { &always_false } };
diff --git a/lib/unictype/categ_of.c b/lib/unictype/categ_of.c
new file mode 100644 (file)
index 0000000..85b694f
--- /dev/null
@@ -0,0 +1,81 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_category table.  */
+#include "categ_of.h"
+
+static inline int
+lookup_withtable (ucs4_t uc)
+{
+  unsigned int index1 = uc >> category_header_0;
+  if (index1 < category_header_1)
+    {
+      int lookup1 = u_category.level1[index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> category_header_2) & category_header_3;
+         int lookup2 = u_category.level2[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = ((uc & category_header_4) + lookup2) * 5;
+             /* level3 contains 5-bit values, packed into 16-bit words.  */
+             unsigned int lookup3 =
+               ((u_category.level3[index3>>4]
+                 | (u_category.level3[(index3>>4)+1] << 16))
+                >> (index3 % 16))
+               & 0x1f;
+
+             return lookup3;
+           }
+       }
+      return 29; /* = log2(UC_CATEGORY_MASK_Cn) */
+    }
+  return -1;
+}
+
+bool
+uc_is_general_category_withtable (ucs4_t uc, uint32_t bitmask)
+{
+  int bit = lookup_withtable (uc);
+
+  if (bit >= 0)
+    return ((bitmask >> bit) & 1);
+  else
+    return false;
+}
+
+uc_general_category_t
+uc_general_category (ucs4_t uc)
+{
+  int bit = lookup_withtable (uc);
+  uc_general_category_t result;
+
+  if (bit >= 0)
+    {
+      result.bitmask = 1 << bit;
+      result.generic = 1;
+      result.lookup.lookup_fn = &uc_is_general_category_withtable;
+      return result;
+    }
+  else
+    return _UC_CATEGORY_NONE;
+}
diff --git a/lib/unictype/categ_of.h b/lib/unictype/categ_of.h
new file mode 100644 (file)
index 0000000..e77f1ea
--- /dev/null
@@ -0,0 +1,1033 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Categories of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define category_header_0 16
+#define category_header_1 17
+#define category_header_2 7
+#define category_header_3 511
+#define category_header_4 127
+static const
+struct
+  {
+    int level1[17];
+    short level2[5 << 9];
+    unsigned short level3[137 * 40 + 1];
+  }
+u_category =
+{
+  {
+        0,   512,  1024,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  1536,  2048,
+     2048
+  },
+  {
+        0,   128,   256,   384,   512,   640,   768,   896,
+     1024,  1152,  1280,  1408,  1536,  1664,  1792,  1920,
+       -1,    -1,  2048,  2176,  2304,  2432,  2560,  2688,
+     2816,  2944,  3072,  3200,  3328,  3456,  3584,  3712,
+     3840,  3968,  4096,  4224,  4352,  4480,  4608,  4736,
+     4864,  4992,  4992,  4992,  5120,  5248,  5376,  5504,
+     5632,  5760,  5888,  6016,  6144,    -1,  6272,    -1,
+       -1,    -1,  6400,  6528,  6656,  6784,  6912,  7040,
+     7168,  7296,  7424,  7552,  7680,  7680,  7808,  7936,
+     8064,  8192,  8320,  8448,  8576,  8704,  8832,  8960,
+     8320,  8320,  7680,  9088,  7680,  7680,  9216,    -1,
+     9344,  9472,  9600,  9728,  9856,  9984,  8320, 10112,
+    10240, 10368, 10496, 10624, 10752, 10880,  8320,  8320,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992, 11008,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992, 11136,
+    11264,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992, 11392,    -1,    -1,    -1,    -1, 11520,    -1,
+    11648,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992, 11776,
+    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
+    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032,  4992,  4992, 12160, 12288, 12416, 12544,
+     4992,  4992, 12672, 12800, 12928, 13056, 13184, 13312,
+    13440, 13568, 13696, 13824,    -1,    -1, 13952, 14080,
+    14208, 14336,    -1,    -1,    -1,    -1,    -1,    -1,
+    14464,    -1, 14592,    -1, 14720,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4992,  4992,  4992,  4992,  4992,  4992, 14848,    -1,
+    14976,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     8320, 15104, 15232, 15360, 15488,    -1, 15616,    -1,
+    15744, 15872, 16000, 16128, 16256, 16384, 16512, 16640,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
+     4992,  4992,  4992,  4992,  4992, 16768,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4992,  4992,  4992,  4992, 16896,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    17024,    -1, 17152, 17280,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 12032,
+    12032, 12032, 12032, 12032, 12032, 12032, 12032, 17408
+  },
+  {
+    0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce,
+    0x9ce7, 0xce73, 0xc636, 0x6338, 0xcd8c, 0x1945, 0x8c59, 0x2108,
+    0x1084, 0x0842, 0x28c5, 0x8ca5, 0x0011, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x1680, 0x5d1d, 0x8434, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x2684, 0xcc9d,
+    0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce,
+    0x9ce7, 0xce73, 0xce36, 0x6739, 0xb4ad, 0x2786, 0xa575, 0x2a55,
+    0x4345, 0x548d, 0xa805, 0x8a94, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0090, 0x0000, 0x0800, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2190, 0x1084, 0x0842,
+    0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008,
+    0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020,
+    0x0200, 0x0108, 0x1004, 0x0040, 0x0401, 0x4010, 0x2100, 0x0080,
+    0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200,
+    0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x0008, 0x1004, 0x0840,
+    0x8001, 0x0200, 0x0100, 0x1000, 0x0002, 0x0400, 0x0200, 0x2000,
+    0x0084, 0x0040, 0x8020, 0x0200, 0x0100, 0x0084, 0x0002, 0x0001,
+    0x4010, 0x2000, 0x0204, 0x0842, 0x1084, 0x4402, 0x2200, 0x1100,
+    0x0040, 0x0401, 0x4010, 0x0100, 0x1004, 0x0802, 0x8020, 0x0200,
+    0x2008, 0x0080, 0x0802, 0x8801, 0x0200, 0x2000, 0x0080, 0x0802,
+    0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008,
+    0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020,
+    0x4210, 0x2108, 0x1000, 0x0800, 0x0401, 0x0000, 0x2008, 0x0080,
+    0x0802, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4240, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8c63,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0x5063, 0xe94a, 0x6318, 0x318c,
+    0x18c6, 0x5063, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x8c63, 0x2831,
+    0x94a5, 0x4a52, 0xa0e9, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0xf7bd, 0x694e, 0xbdef, 0x108f, 0xec42,
+    0xf7bd, 0x294e, 0x0088, 0x0e80, 0x003a, 0x0001, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x7400, 0x0000, 0x0000, 0x1000, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0xe842, 0x0021, 0x4200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200,
+    0x2008, 0x0080, 0x0802, 0x8421, 0x8200, 0x0104, 0x1080, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8020, 0x0200,
+    0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802,
+    0xd420, 0x4a52, 0xe7e9, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008,
+    0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020,
+    0x0200, 0x2008, 0x0080, 0x0802, 0x0400, 0x4010, 0x0100, 0x1004,
+    0x0840, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200,
+    0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802,
+    0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x7bd0, 0xbdef,
+    0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x001d,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x7de8, 0x18c4, 0x8c63, 0x843d, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x3d08, 0xdeb2, 0xef7b, 0x94bd, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x2c4a, 0x94b1, 0x4a58, 0xbd2c, 0xdef7,
+    0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0xde90, 0xef7b, 0x9084, 0x7b18, 0xbdef, 0xdef7, 0xef7b,
+    0x6b5a, 0x7bdd, 0xbdef, 0x19f7, 0xad63, 0x94a5, 0x4a52, 0xbdef,
+    0xd8f7, 0x8c7b, 0x109d, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0xde90, 0xef7b, 0x1083, 0x0842, 0x8421, 0x5290,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xe94a, 0x2108, 0x1084,
+    0x0842, 0x18c5, 0x2123, 0x1085, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x4912, 0xa529, 0x5294, 0x29f4, 0x94a5, 0xc652,
+    0xa528, 0x5296, 0x210a, 0x2108, 0x1084, 0x0842, 0x4211, 0x256a,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0xd763, 0x10a4, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0xde94,
+    0x2109, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0xef48, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x4842, 0xa529, 0x5294, 0x294a, 0xf485,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x2108, 0x1084, 0x0842, 0x4211,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x5290, 0x294a, 0x94a5, 0x4632, 0x318d, 0xde8e, 0xef7b,
+    0x14bd, 0x0843, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x5ef4, 0x3188, 0x94a6, 0x4a52, 0xc529, 0x6318,
+    0xef4a, 0x94a4, 0x7a52, 0x84ef, 0x4210, 0x2108, 0x9484, 0x2312,
+    0x0842, 0x8421, 0x4210, 0xf7b1, 0x7bde, 0xbdef, 0x4277, 0x2108,
+    0x18bd, 0x09d3, 0x8421, 0x4210, 0x277a, 0x77a4, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x93a4,
+    0x3bde, 0x8421, 0x5ef4, 0x3188, 0x94a6, 0x7a52, 0xa637, 0x6377,
+    0xe90a, 0xf7bd, 0x7bde, 0xbd37, 0x4ef7, 0x2748, 0x9484, 0x3bd2,
+    0x0842, 0x8421, 0x4210, 0xcc84, 0x94a9, 0x4a52, 0xded5, 0xef7b,
+    0x14bd, 0x09d3, 0x8421, 0xde90, 0x277b, 0x77a4, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x13a4,
+    0x09d2, 0x84e9, 0x5ef4, 0x31ba, 0x94a6, 0x7bde, 0xa52f, 0x52f7,
+    0xef4a, 0xf7bd, 0x7bde, 0x9def, 0x4210, 0xe93a, 0xf7bd, 0x3bde,
+    0x0842, 0x8421, 0x4210, 0x10a5, 0x7a42, 0xbdef, 0xdef7, 0xef7b,
+    0x14bd, 0x09d3, 0x8421, 0x4210, 0x2748, 0x7484, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x13a4,
+    0x09d2, 0x8421, 0x5ef4, 0x3188, 0x94a6, 0x4a52, 0xc52f, 0x6374,
+    0xef4a, 0xf7a4, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x9484, 0x3bd2,
+    0x0842, 0x8421, 0x4210, 0xf67d, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x18bd, 0x09d3, 0x8421, 0x4210, 0x277a, 0x77a4, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x13a4,
+    0x09d2, 0x8421, 0x5ef4, 0x2988, 0x94a6, 0x7bd2, 0xa637, 0x6377,
+    0xef4a, 0xf7bd, 0x7bde, 0xbd31, 0x4ef7, 0x2748, 0xf484, 0x3bde,
+    0x0842, 0x8421, 0x4210, 0xf495, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x17bd, 0x09d2, 0x8421, 0xde90, 0x213b, 0x13a4, 0x4842, 0x9def,
+    0x4e90, 0x213a, 0x77bd, 0x7a42, 0x84ef, 0xde90, 0x213b, 0x1084,
+    0x0842, 0x8421, 0xdef4, 0x31bb, 0x98c5, 0xbbde, 0xa631, 0x631b,
+    0xef4a, 0xf7bd, 0x7bde, 0xbd37, 0xdef7, 0xef7b, 0xf7bd, 0x3bde,
+    0x0842, 0x8421, 0x4210, 0xa94a, 0x6b5a, 0x75ad, 0xded6, 0xef7b,
+    0x18dd, 0x09d3, 0x8421, 0x4210, 0x213a, 0x13a4, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x1084,
+    0x09d2, 0x8421, 0xdef4, 0x297b, 0x18c5, 0x7a63, 0xa529, 0x5297,
+    0xef4a, 0xf7bd, 0x4bde, 0xbde9, 0xdef7, 0xef7b, 0xf484, 0x3bde,
+    0x0842, 0x8421, 0x4210, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1bbd, 0x09d3, 0x8421, 0x4210, 0x213a, 0x13a4, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x1084,
+    0x09d2, 0x8421, 0x5ef4, 0x2988, 0x18c6, 0x7a63, 0xa631, 0x531b,
+    0xef4a, 0xf7bd, 0x8dde, 0xbde9, 0xdef7, 0xe93b, 0x9484, 0x3bd2,
+    0x0842, 0x8421, 0x4210, 0xd6bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1bbd, 0x09d3, 0x8421, 0x4210, 0x213a, 0x13a4, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x1084,
+    0x0842, 0x8421, 0xdef4, 0x31bb, 0x94a6, 0xbbd2, 0xa631, 0x631b,
+    0xef4a, 0xf7bd, 0x7bde, 0xbd37, 0xdef7, 0xef7b, 0xf484, 0x3bde,
+    0x0842, 0x8421, 0x4210, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1bbd, 0x09d3, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9,
+    0x4213, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x7484,
+    0x0842, 0x8421, 0xd210, 0xef49, 0x1084, 0x0842, 0xbde9, 0xde97,
+    0x377b, 0x94c6, 0x7a52, 0xc6e9, 0x6318, 0x318c, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0x1bbd, 0x7b13, 0xbdef, 0xdef7, 0xef7b,
+    0x109d, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x10a4,
+    0x4a52, 0xa529, 0xde94, 0x9f7b, 0x1084, 0xc842, 0xa528, 0x5294,
+    0x894a, 0x2108, 0x1084, 0x0842, 0xd8c5, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x909d, 0x7a4e, 0xa427, 0xde93, 0xef49, 0xf7bd, 0x084e, 0x9d21,
+    0x4210, 0x2108, 0x109d, 0x49d2, 0xbd27, 0xd213, 0x2109, 0x10a4,
+    0x4a52, 0xa529, 0x52f4, 0xef48, 0x1084, 0xfa42, 0xa5e8, 0x5294,
+    0xef4a, 0x2108, 0x1084, 0x0842, 0x4ef5, 0xef48, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xd6a4, 0x631a, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6b5a, 0xa5ad,
+    0x5ad4, 0xad6b, 0x2108, 0x1084, 0x0842, 0xa529, 0x5294, 0x294a,
+    0x4b55, 0xb52d, 0xd734, 0x319c, 0x1084, 0x0842, 0x9d21, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0xde90, 0xef7b, 0x94bd, 0x4a52, 0xa529, 0x5294, 0x314a,
+    0x94a5, 0x6252, 0x8429, 0xd210, 0xef7b, 0x94a5, 0x4a52, 0xbd29,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0xad7a, 0xd6b5, 0x6b5a, 0xb5a9, 0x5ad6,
+    0xaf7b, 0xf631, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x7484, 0x0842, 0x9d21, 0x6e90, 0x294a, 0x94c5,
+    0x7bde, 0xa629, 0xdef4, 0xef7b, 0x2108, 0x1084, 0x0842, 0x18c5,
+    0x8c63, 0x1084, 0x8842, 0xa531, 0xdef4, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
+    0xdef7, 0xef7b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0xbdef, 0xdef7,
+    0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x3890, 0xef7a,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0xdef4, 0x277b, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x9084, 0x7bde, 0x84ef, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xdef4, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213,
+    0xef48, 0x1084, 0x0842, 0xa4e9, 0x4213, 0xef48, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0xa421, 0x4213, 0xef48, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x13a4,
+    0x4842, 0x84ef, 0x4210, 0xe908, 0x13a4, 0x4842, 0x84ef, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x84e9, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x13a4, 0x4842, 0x84ef,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0xde90, 0x2f7b, 0xc635, 0x6318,
+    0x518c, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0xef7a,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xd6b5, 0x6b5a, 0xb5ad,
+    0xdef6, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x7a42, 0xbdef, 0xdef7, 0xef7b,
+    0x109d, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2462, 0x1084, 0x0842, 0xbde9, 0xdef7, 0xef7b,
+    0x1096, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0xe690, 0xef7a, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x1890, 0x4a63, 0xf7a9, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x213a, 0x9484, 0x7a52, 0xbdef,
+    0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x9484,
+    0x6252, 0xbdec, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x9484, 0x7bd2, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x213a, 0x97a4, 0x7bd2, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0xb5a2, 0xa529, 0x5294, 0x318a, 0x18c6, 0x4c63, 0xa631, 0x5294,
+    0x294a, 0x94a5, 0x6312, 0x311c, 0x49c6, 0xef4a, 0x2108, 0x1084,
+    0x0842, 0xdef5, 0xef7b, 0x294a, 0x94a5, 0x4a52, 0xdef5, 0xef7b,
+    0xc631, 0x2318, 0x318b, 0x52c6, 0xed8a, 0x2108, 0x1084, 0x0842,
+    0xdef5, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x9084, 0x0841, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbd21, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0xdef4, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0xef7a, 0x14a5, 0x8c63, 0xc529, 0xd318, 0xef7b, 0x14c6,
+    0x8c63, 0xa631, 0xd294, 0xef7b, 0xf7b5, 0x231e, 0x0842, 0x8421,
+    0x4210, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0xef48, 0x1084, 0x7a42, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xdef4, 0xef7b, 0x18c6,
+    0x8c63, 0xc631, 0x6318, 0x318c, 0x1086, 0x0842, 0xc621, 0xdef4,
+    0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0x8c7b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xc529,
+    0xd318, 0x8c7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x94a5, 0x0862, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x4c52, 0xa529, 0x5314, 0x318c, 0x14c6, 0x0863, 0x8421, 0xd210,
+    0xef7b, 0x2108, 0x1084, 0x0842, 0x18c5, 0x8c63, 0xd6b1, 0x6b5a,
+    0xb5ad, 0x52d6, 0x294a, 0x94a5, 0x6b52, 0xb5ad, 0x5ad6, 0xef7b,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x3084, 0x18c6, 0x8c63,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8463, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2308, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x3184, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0x94a5, 0x4a52, 0xa529, 0xde94,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0x297b,
+    0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008,
+    0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020,
+    0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080,
+    0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200,
+    0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802,
+    0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x4200, 0x2108,
+    0xd084, 0xef7b, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020,
+    0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080,
+    0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200,
+    0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0xdef4, 0xef7b,
+    0x8421, 0x4210, 0x0008, 0x0000, 0x0000, 0x8421, 0x4210, 0x00ef,
+    0x0000, 0xef40, 0x8421, 0x4210, 0x0008, 0x0000, 0x0000, 0x8421,
+    0x4210, 0x0008, 0x0000, 0x0000, 0x8421, 0x4210, 0x00ef, 0x0000,
+    0xef40, 0x8421, 0x4210, 0x1d08, 0xd074, 0x0741, 0x8421, 0x4210,
+    0x0008, 0x0000, 0x0000, 0x8421, 0x4210, 0x2108, 0x1084, 0xef42,
+    0x8421, 0x4210, 0x4208, 0x2108, 0x1084, 0x8421, 0x4210, 0x4208,
+    0x2108, 0x1084, 0x8421, 0x4210, 0x4208, 0x2108, 0x1084, 0x8421,
+    0x7a10, 0x0008, 0x2000, 0xa068, 0x8694, 0x7a10, 0x0008, 0x2000,
+    0xa528, 0x8421, 0x7bd0, 0x0008, 0xd000, 0xa529, 0x8421, 0x4210,
+    0x0008, 0x0000, 0xa528, 0x87bd, 0x7a10, 0x0008, 0x2000, 0xed28,
+    0x5ad6, 0xad6b, 0xd6b5, 0xad5a, 0xd6b5, 0x318c, 0x58c6, 0x0f8c,
+    0xf7b6, 0x7b60, 0xc631, 0x6318, 0x178c, 0xad6b, 0xb6b5, 0xc631,
+    0x6318, 0xf18c, 0x18c1, 0x5c63, 0xc62b, 0x9b28, 0x318b, 0x18c6,
+    0x8c63, 0xca31, 0x62b8, 0x318c, 0x18c6, 0xb463, 0x6b5a, 0x7bdd,
+    0xbdef, 0xad6b, 0xd6b5, 0xf42a, 0x94ae, 0x4a52, 0x2949, 0x0b9b,
+    0x294a, 0x94a5, 0x4a52, 0x2949, 0xeb9b, 0x8c63, 0x7a31, 0xbdef,
+    0xdef7, 0xef7b, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73,
+    0x6739, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x39ce, 0x9ca7, 0x4a73,
+    0xa529, 0x5294, 0x294a, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x82b5, 0x6b5a, 0xb505, 0x0006, 0x0840, 0x8000, 0x4150, 0x15ad,
+    0x0000, 0xad40, 0xd6b5, 0x2a0a, 0xa0a8, 0x0002, 0x0d40, 0x0000,
+    0x0810, 0x2421, 0x1ad4, 0x0002, 0x4a52, 0x4129, 0x2108, 0x5954,
+    0xe86b, 0x77bd, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0x2529, 0x7a10, 0xbdef, 0xdef7, 0xef7b, 0x4a52, 0x6b29, 0xb5ad,
+    0x594a, 0xad6b, 0x56b2, 0xab59, 0xb5ac, 0x5ad6, 0xacab, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0x94ab, 0xcab5, 0x6b2a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0xa52a, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0xd6b5, 0x6b5a, 0x52ad, 0x594a, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd652, 0x6b5a, 0xb5ad, 0x5ab9, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x2ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x2956, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0x6b59, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x2ad6, 0x94a5, 0xd652, 0x6b5a,
+    0xbdad, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xded6,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0x5529, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0xa52a, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb595, 0x5ad6, 0xad6b, 0xd655, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0x52ad, 0x294a, 0x94a5,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0x956b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xd6bd, 0x7b5a, 0xb5ad, 0x5ef6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbdad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdad6,
+    0xaf6b, 0xd6b5, 0x7bde, 0xb5ed, 0x5ad6, 0xed6b, 0xd6bd, 0x6b5a,
+    0xcdad, 0xd735, 0x735c, 0x35cd, 0x9cd7, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x7b55, 0xb5ef,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6bd,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, 0x4a52, 0x9b29, 0x5293, 0xdeca,
+    0xef7b, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x6529,
+    0xcd73, 0xd735, 0xef7b, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0xca52, 0x9ae6, 0xae6b, 0xe6b9, 0x6b9a, 0xb9ae, 0x9ae6, 0x4e6b,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0xcd94, 0x2735, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xd94a, 0x949c,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0xded6, 0xef7b, 0xd6b5, 0x7bda, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe800, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0xe842, 0x0020, 0x4200,
+    0x0100, 0x1004, 0xef7a, 0xf7bd, 0x401e, 0xbd08, 0xdef7, 0xef7b,
+    0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008,
+    0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020,
+    0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080,
+    0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x6a10,
+    0xb5ad, 0xded6, 0xef7b, 0xf7bd, 0x7bde, 0x3def, 0x18c6, 0x8c55,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0xbdef, 0xdef7, 0xef7b, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x4842,
+    0xbdef, 0xdef7, 0x1f7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9,
+    0xdef7, 0xef7b, 0x1084, 0x0842, 0x84e9, 0x4210, 0xe908, 0x1084,
+    0x0842, 0x84e9, 0x4210, 0xe908, 0x1084, 0x0842, 0x84e9, 0x4210,
+    0xe908, 0x1084, 0x0842, 0x84e9, 0x4210, 0xe908, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x3e31, 0x60f8, 0xf18c, 0xf8c1, 0x8c60, 0xc631, 0x6318, 0xbd64,
+    0xfef7, 0xef60, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5af6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x7bda, 0xbdef, 0xdef7, 0xef7b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdad6, 0xef7b,
+    0xc636, 0x0758, 0xcd49, 0xd735, 0x735c, 0xd5cd, 0x5cda, 0xcd73,
+    0xc735, 0x739a, 0xa535, 0x5294, 0x294a, 0x5295, 0x294a, 0x8c6c,
+    0x4631, 0x29ad, 0x41a5, 0xad62, 0x109d, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9,
+    0x4a14, 0x20c7, 0x108c, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x3890, 0x20c6,
+    0xf7bd, 0x09de, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xef7a, 0x109d,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0xe908, 0x2ab5, 0x54a5, 0xb5ad,
+    0x5ad6, 0xad6b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0xbd21, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xed6b, 0x294a, 0x94a5, 0x4a52, 0x5ad5, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x7bda, 0xbdef, 0xdef7,
+    0xef7b, 0x2955, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
+    0x294a, 0x94a5, 0x4a52, 0x5ad5, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x2955,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x4842, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0xd210, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0642, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0xef7a, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x631d,
+    0xde8c, 0xef7b, 0xf694, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1884, 0x4842, 0x8421, 0x4290, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x4a63, 0xb531, 0xdad6, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x6312, 0xbd8c, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x7bd2, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
+    0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7,
+    0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c,
+    0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73,
+    0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce,
+    0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xef48, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0xde90, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0xdef4, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x8421, 0x4210, 0xbde8, 0xdef7, 0xef7b, 0xf7bd, 0x4210, 0xbd08,
+    0xdef7, 0x2149, 0x1084, 0x0842, 0x4421, 0x4212, 0x2108, 0x1084,
+    0x0842, 0x84e9, 0x4210, 0xe93a, 0x7484, 0x3a42, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xf484,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0x77bd, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x7348, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x13bd, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbd21, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x3210, 0xef6b,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0xc631, 0x6318, 0x2e6c,
+    0xdef6, 0xef7b, 0x94a5, 0x7bd2, 0xbdef, 0xdef7, 0xef7b, 0xb191,
+    0x9ab5, 0xae6b, 0xe6b9, 0x6b9a, 0xb9ae, 0x62e6, 0x2e6c, 0x18c6,
+    0x5ad7, 0xc631, 0x631e, 0xac8c, 0xe6b9, 0x8b9a, 0x4a31, 0xa526,
+    0x71ec, 0xd8c6, 0xef7b, 0x1084, 0x3a42, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xd77a,
+    0xc63d, 0x6338, 0xcd8c, 0x1945, 0x8c59, 0x2108, 0x1084, 0x0842,
+    0x28c5, 0x8ca5, 0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x1680, 0x5d1d, 0x8434, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x2684, 0x6c9d, 0x362e, 0x2317,
+    0x8421, 0x4210, 0x2108, 0x1083, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x18c8, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0xe908, 0x13bd, 0x0842, 0xbd21, 0x4213,
+    0x2108, 0x13bd, 0x0842, 0xbd21, 0x4213, 0xef7a, 0x4a73, 0xe75a,
+    0x55ec, 0x294a, 0xed6b, 0xf7bd, 0x7bde, 0x5def, 0x5d6b, 0xef6b,
+    0x1084, 0x0842, 0x8421, 0xd210, 0x2109, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x84e9, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4e90, 0x2748, 0x1084, 0x0842, 0x8421, 0x4210,
+    0xef48, 0x1084, 0x0842, 0x8421, 0x4210, 0xef48, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xde90, 0xef7b,
+    0xd631, 0x7bde, 0x4a57, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x7bd5, 0xb5af, 0x5ad6, 0xad6b, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x9494, 0xaa52, 0x5ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0xdeaa, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
+    0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0xe908, 0x294a, 0x7bd5, 0xbdef, 0xdef7, 0xef7b, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1124, 0x0842, 0x8421, 0xdea4,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x8f48, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x7bd2, 0x84ef, 0x4210,
+    0x2108, 0xa531, 0x5294, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x2100, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0xef48, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x4842, 0xa4ef, 0x4213, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x4842, 0xa427, 0x4ef7, 0x277a, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x8842, 0x4a52,
+    0xdef5, 0x8f7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x94a4, 0x4bd2, 0xbde9, 0x5ef7, 0x294a, 0x1084, 0x09d2, 0x9d21,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x7bd2, 0xa5ef, 0xde94, 0x2f7b, 0x294a, 0x94a5, 0xbd52, 0xdef7,
+    0xef7b, 0xc631, 0x6318, 0xb18c, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0xe908, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xc631, 0x7bd8, 0xbdef, 0xdef7, 0xef7b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbdef, 0xdef7, 0xef7b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0x5ad7, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x8d5a,
+    0xa529, 0x5ad4, 0x318d, 0x18c6, 0xb5ad, 0x5ad6, 0x52eb, 0x294a,
+    0x94a5, 0x4b5a, 0xa529, 0x5294, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5296, 0xad4a, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xef6b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x96b5, 0x6a52, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7, 0xef7b, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0xf54a, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0840, 0x8421, 0x7a10, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x8400, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x0084, 0x003a, 0x83bd, 0x01de, 0x1de8, 0x0000, 0x003a, 0x0000,
+    0x4000, 0x2108, 0xd0f4, 0x0843, 0x8421, 0x43d0, 0x2108, 0x1084,
+    0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4000, 0x0007, 0xde80, 0x0001, 0x0000, 0x3a00, 0x0000,
+    0x0000, 0x087a, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x0008, 0x0074, 0xe800, 0x0000, 0x3a00, 0xbde8, 0x0003,
+    0x0000, 0x87a0, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x0084, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x4000, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0840, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x8400, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x0084, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x4000, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x00ef, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x8640, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1904, 0x0842, 0x0021, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1900, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x6410, 0x2108,
+    0x0084, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x6400, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x9042, 0x8421, 0x0210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x9000, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x4108, 0x1086, 0x0842, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x1086, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x0421, 0x4219, 0x2108, 0xd080,
+    0x423b, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0xbde9, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0xef48, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xf75d, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
+    0xdef7, 0xef7b, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
+    0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
+    0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
+    0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7,
+    0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c,
+    0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73,
+    0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce,
+    0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xef79,
+    0x0000
+  }
+};
diff --git a/lib/unictype/categ_or.c b/lib/unictype/categ_or.c
new file mode 100644 (file)
index 0000000..9864210
--- /dev/null
@@ -0,0 +1,42 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+uc_general_category_t
+uc_general_category_or (uc_general_category_t category1,
+                       uc_general_category_t category2)
+{
+  uint32_t bitmask;
+  uc_general_category_t result;
+
+  bitmask = category1.bitmask | category2.bitmask;
+
+  if (bitmask == category1.bitmask)
+    return category1;
+
+  if (bitmask == category2.bitmask)
+    return category2;
+
+  result.bitmask = bitmask;
+  result.generic = 1;
+  result.lookup.lookup_fn = &uc_is_general_category_withtable;
+  return result;
+}
diff --git a/lib/unictype/categ_test.c b/lib/unictype/categ_test.c
new file mode 100644 (file)
index 0000000..e46f0f6
--- /dev/null
@@ -0,0 +1,32 @@
+/* Categories of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+bool
+uc_is_general_category (ucs4_t uc, uc_general_category_t category)
+{
+  if (category.generic)
+    return category.lookup.lookup_fn (uc, category.bitmask);
+  else
+    return bitmap_lookup (category.lookup.table, uc);
+}
diff --git a/lib/unictype/combining.c b/lib/unictype/combining.c
new file mode 100644 (file)
index 0000000..d2e33e6
--- /dev/null
@@ -0,0 +1,47 @@
+/* Combining classes of Unicode characters.
+   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_combclass table.  */
+#include "combining.h"
+
+int
+uc_combining_class (ucs4_t uc)
+{
+  unsigned int index1 = uc >> combclass_header_0;
+  if (index1 < combclass_header_1)
+    {
+      int lookup1 = u_combclass.level1[index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> combclass_header_2) & combclass_header_3;
+         int lookup2 = u_combclass.level2[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = (uc & combclass_header_4);
+             unsigned int lookup3 = u_combclass.level3[lookup2 + index3];
+
+             return lookup3;
+           }
+       }
+    }
+  return 0;
+}
diff --git a/lib/unictype/combining.h b/lib/unictype/combining.h
new file mode 100644 (file)
index 0000000..d2dfea0
--- /dev/null
@@ -0,0 +1,711 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Combining class of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define combclass_header_0 16
+#define combclass_header_1 2
+#define combclass_header_2 7
+#define combclass_header_3 511
+#define combclass_header_4 127
+static const
+struct
+  {
+    int level1[2];
+    short level2[2 << 9];
+    unsigned char level3[35 << 7];
+  }
+u_combclass =
+{
+  {     0,   512 },
+  {
+       -1,    -1,    -1,    -1,    -1,    -1,     0,    -1,
+       -1,   128,    -1,   256,   384,   512,   640,   768,
+       -1,    -1,   896,  1024,  1024,  1024,  1024,  1152,
+     1280,  1024,  1152,  1408,  1536,  1664,  1792,  1920,
+     2048,    -1,    -1,    -1,    -1,    -1,  2176,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  2304,  2432,
+       -1,  2560,  2688,    -1,  2816,    -1,  2944,    -1,
+       -1,    -1,    -1,  3072,    -1,    -1,    -1,    -1,
+       -1,  3200,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     3328,  3456,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     3584,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  3712,    -1,
+       -1,    -1,    -1,    -1,  3840,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  3968,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  4096,  4224,  4352,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
+  },
+  {
+    230, 230, 230, 230, 230, 230, 230, 230,
+    230, 230, 230, 230, 230, 230, 230, 230,
+    230, 230, 230, 230, 230, 232, 220, 220,
+    220, 220, 232, 216, 220, 220, 220, 220,
+    220, 202, 202, 220, 220, 220, 220, 202,
+    202, 220, 220, 220, 220, 220, 220, 220,
+    220, 220, 220, 220,   1,   1,   1,   1,
+      1, 220, 220, 220, 220, 230, 230, 230,
+    230, 230, 230, 230, 230, 240, 230, 220,
+    220, 220, 230, 230, 230, 220, 220,   0,
+    230, 230, 230, 220, 220, 220, 220, 230,
+    232, 220, 220, 230, 233, 234, 234, 233,
+    234, 234, 233, 230, 230, 230, 230, 230,
+    230, 230, 230, 230, 230, 230, 230, 230,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 230, 230, 230, 230,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0, 220, 230, 230, 230, 230, 220, 230,
+    230, 230, 222, 220, 230, 230, 230, 230,
+    230, 230, 220, 220, 220, 220, 220, 220,
+    230, 230, 220, 230, 230, 222, 228, 230,
+     10,  11,  12,  13,  14,  15,  16,  17,
+     18,  19,  19,  20,  21,  22,   0,  23,
+      0,  24,  25,   0, 230, 220,   0,  18,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    230, 230, 230, 230, 230, 230,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,  27,  28,  29,  30,  31,
+     32,  33,  34, 230, 230, 220, 220, 230,
+    230, 230, 230, 230, 220, 230, 230,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     35,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 230, 230,
+    230, 230, 230, 230, 230,   0,   0, 230,
+    230, 230, 230, 220, 230,   0,   0, 230,
+    230,   0, 220, 230, 230, 220,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,  36,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    230, 220, 230, 230, 220, 230, 230, 220,
+    220, 220, 230, 220, 220, 230, 220, 230,
+    230, 230, 220, 230, 220, 230, 220, 230,
+    220, 230, 230,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 230, 230, 230, 230, 230,
+    230, 230, 220, 230,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   7,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   9,   0,   0,
+      0, 230, 220, 230, 230,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   7,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   9,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   9,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   9,   0,   0,
+      0,   0,   0,   0,   0,  84,  91,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   9,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    103, 103,   9,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    107, 107, 107, 107,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    118, 118,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    122, 122, 122, 122,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    220, 220,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 220,   0, 220,
+      0, 216,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0, 129, 130,   0, 132,   0,   0,   0,
+      0,   0, 130, 130, 130, 130,   0,   0,
+    130,   0, 230, 230,   9,   0, 230, 230,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 220,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   7,
+      0,   9,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 230,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   9,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   9,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   9,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 230,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0, 228,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0, 222, 230, 220,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 230,
+    220,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   7,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   9,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 230, 220, 230, 230, 230,
+    230, 230, 230, 230,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    230, 230, 220, 230, 230, 230, 230, 230,
+    230, 230, 220,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 230, 220,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    230, 230,   1,   1, 230, 230, 230, 230,
+      1,   1,   1, 230, 230,   0,   0,   0,
+      0, 230,   0,   0,   0,   1,   1, 230,
+    220, 230,   1,   1, 220, 220, 220, 220,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 218, 228, 232, 222, 224, 224,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   8,   8,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   9,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,  26,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    230, 230, 230, 230,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 220,   0, 230,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    230,   1, 220,   0,   0,   0,   0,   9,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 216, 216,   1,
+      1,   1,   0,   0,   0, 226, 216, 216,
+    216, 216, 216,   0,   0,   0,   0,   0,
+      0,   0,   0, 220, 220, 220, 220, 220,
+    220, 220, 220,   0,   0, 230, 230, 230,
+    230, 230, 220, 220,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 230, 230, 230, 230,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 230, 230, 230,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0
+  }
+};
diff --git a/lib/unictype/ctype_alnum.c b/lib/unictype/ctype_alnum.c
new file mode 100644 (file)
index 0000000..464fbb0
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_alnum table.  */
+#include "ctype_alnum.h"
+
+bool
+uc_is_alnum (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_alnum, uc);
+}
diff --git a/lib/unictype/ctype_alnum.h b/lib/unictype/ctype_alnum.h
new file mode 100644 (file)
index 0000000..4786f73
--- /dev/null
@@ -0,0 +1,580 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[42 << 4];
+  }
+u_is_alnum =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+        4 * sizeof (int) / sizeof (short) +   128,
+        4 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+        4 +   384 * sizeof (short) / sizeof (int) +     0,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    32,
+        4 +   384 * sizeof (short) / sizeof (int) +    48,
+        4 +   384 * sizeof (short) / sizeof (int) +    64,
+        4 +   384 * sizeof (short) / sizeof (int) +    80,
+        4 +   384 * sizeof (short) / sizeof (int) +    96,
+        4 +   384 * sizeof (short) / sizeof (int) +   112,
+        4 +   384 * sizeof (short) / sizeof (int) +   128,
+        4 +   384 * sizeof (short) / sizeof (int) +   144,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   176,
+        4 +   384 * sizeof (short) / sizeof (int) +   192,
+        4 +   384 * sizeof (short) / sizeof (int) +   208,
+        4 +   384 * sizeof (short) / sizeof (int) +   224,
+        4 +   384 * sizeof (short) / sizeof (int) +   240,
+        4 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   352,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   368,
+        4 +   384 * sizeof (short) / sizeof (int) +   384,
+        4 +   384 * sizeof (short) / sizeof (int) +   400,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   416,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   432,
+        4 +   384 * sizeof (short) / sizeof (int) +   448,
+        4 +   384 * sizeof (short) / sizeof (int) +   464,
+        4 +   384 * sizeof (short) / sizeof (int) +   480,
+        4 +   384 * sizeof (short) / sizeof (int) +   496,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
+        4 +   384 * sizeof (short) / sizeof (int) +   528,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   544,
+        4 +   384 * sizeof (short) / sizeof (int) +   560,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x07FFFFFE, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000401F,
+    0x00000000, 0x00000000, 0x00000020, 0x3C000000,
+    0xFFFFD740, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFBFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
+    0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
+    0x00000000, 0x07FFFFFE, 0x000007FF, 0xFFFEC3FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9FFFC060,
+    0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0x00003FFF,
+    0xFFFFFFFF, 0x0002003F, 0xFFFFFFFF, 0x043007FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF800FFC3,
+    0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x0003FFC3,
+    0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001CFFC0,
+    0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x0000FFC3,
+    0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x0002FFC3,
+    0xD63DC7E8, 0x03FFC718, 0x00000000, 0x0000FFC0,
+    0xFFFDDFE0, 0x03EFFDFF, 0x00000000, 0x0000FFC3,
+    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x0000FFC3,
+    0xFFFDDFE0, 0x03FFFDFF, 0x00000000, 0x0000FFC3,
+    0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
+    0xFFFFFFFE, 0x07FF7FFF, 0x03FF7FBF, 0x00000000,
+    0xFEF02596, 0x200DECAE, 0x33FF005F, 0x00000000,
+    0x00000001, 0x000003FF, 0xFFFFFEFF, 0x000007FF,
+    0x00000F00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000006FB, 0x003F03FF, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
+    0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
+    0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
+    0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x000003FF,
+    0x03FF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000001FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x00000000, 0xFFFFFFC0, 0x001F3FFF,
+    0xFFFFFFFF, 0x000003FF, 0x03FF00FE, 0x00000000,
+    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFE0, 0x000FFFFF, 0x03FF0FE0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x001F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x3E2FFC84, 0xF3FFBF50, 0x000043E0, 0xFFFFFFFF,
+    0x0000001F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xE07FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFDF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0x03FF0000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+    0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+    0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/ctype_alpha.c b/lib/unictype/ctype_alpha.c
new file mode 100644 (file)
index 0000000..4ca6e99
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_alpha table.  */
+#include "ctype_alpha.h"
+
+bool
+uc_is_alpha (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_alpha, uc);
+}
diff --git a/lib/unictype/ctype_alpha.h b/lib/unictype/ctype_alpha.h
new file mode 100644 (file)
index 0000000..5d58aa0
--- /dev/null
@@ -0,0 +1,580 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[42 << 4];
+  }
+u_is_alpha =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+        4 * sizeof (int) / sizeof (short) +   128,
+        4 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+        4 +   384 * sizeof (short) / sizeof (int) +     0,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    32,
+        4 +   384 * sizeof (short) / sizeof (int) +    48,
+        4 +   384 * sizeof (short) / sizeof (int) +    64,
+        4 +   384 * sizeof (short) / sizeof (int) +    80,
+        4 +   384 * sizeof (short) / sizeof (int) +    96,
+        4 +   384 * sizeof (short) / sizeof (int) +   112,
+        4 +   384 * sizeof (short) / sizeof (int) +   128,
+        4 +   384 * sizeof (short) / sizeof (int) +   144,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   176,
+        4 +   384 * sizeof (short) / sizeof (int) +   192,
+        4 +   384 * sizeof (short) / sizeof (int) +   208,
+        4 +   384 * sizeof (short) / sizeof (int) +   224,
+        4 +   384 * sizeof (short) / sizeof (int) +   240,
+        4 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   352,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   368,
+        4 +   384 * sizeof (short) / sizeof (int) +   384,
+        4 +   384 * sizeof (short) / sizeof (int) +   400,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   416,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   432,
+        4 +   384 * sizeof (short) / sizeof (int) +   448,
+        4 +   384 * sizeof (short) / sizeof (int) +   464,
+        4 +   384 * sizeof (short) / sizeof (int) +   480,
+        4 +   384 * sizeof (short) / sizeof (int) +   496,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
+        4 +   384 * sizeof (short) / sizeof (int) +   528,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   544,
+        4 +   384 * sizeof (short) / sizeof (int) +   560,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000401F,
+    0x00000000, 0x00000000, 0x00000020, 0x3C000000,
+    0xFFFFD740, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFBFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
+    0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
+    0x00000000, 0x07FFFFFE, 0x000007FF, 0xFFFEC3FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9FFFC060,
+    0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0x00003FFF,
+    0xFFFFFFFF, 0x0002003F, 0xFFFFFFFF, 0x043007FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF800FFC3,
+    0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x0003FFC3,
+    0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001CFFC0,
+    0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x0000FFC3,
+    0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x0002FFC3,
+    0xD63DC7E8, 0x03FFC718, 0x00000000, 0x0000FFC0,
+    0xFFFDDFE0, 0x03EFFDFF, 0x00000000, 0x0000FFC3,
+    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x0000FFC3,
+    0xFFFDDFE0, 0x03FFFDFF, 0x00000000, 0x0000FFC3,
+    0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
+    0xFFFFFFFE, 0x07FF7FFF, 0x03FF7FBF, 0x00000000,
+    0xFEF02596, 0x200DECAE, 0x33FF005F, 0x00000000,
+    0x00000001, 0x000003FF, 0xFFFFFEFF, 0x000007FF,
+    0x00000F00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000006FB, 0x003F03FF, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
+    0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
+    0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
+    0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x000003FF,
+    0x03FF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000001FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x00000000, 0xFFFFFFC0, 0x001F3FFF,
+    0xFFFFFFFF, 0x000003FF, 0x03FF00FE, 0x00000000,
+    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFE0, 0x000FFFFF, 0x03FF0FE0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x001F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x3E2FFC84, 0xF3FFBF50, 0x000043E0, 0xFFFFFFFF,
+    0x0000001F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xE07FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFDF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0x03FF0000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+    0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+    0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/ctype_blank.c b/lib/unictype/ctype_blank.c
new file mode 100644 (file)
index 0000000..7e5e44f
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_blank table.  */
+#include "ctype_blank.h"
+
+bool
+uc_is_blank (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_blank, uc);
+}
diff --git a/lib/unictype/ctype_blank.h b/lib/unictype/ctype_blank.h
new file mode 100644 (file)
index 0000000..ab77592
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_is_blank =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000200, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000077F, 0x00000000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/ctype_cntrl.c b/lib/unictype/ctype_cntrl.c
new file mode 100644 (file)
index 0000000..8d9b148
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_cntrl table.  */
+#include "ctype_cntrl.h"
+
+bool
+uc_is_cntrl (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_cntrl, uc);
+}
diff --git a/lib/unictype/ctype_cntrl.h b/lib/unictype/ctype_cntrl.h
new file mode 100644 (file)
index 0000000..de53f22
--- /dev/null
@@ -0,0 +1,160 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[2 << 4];
+  }
+u_is_cntrl =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0xFFFFFFFF, 0x00000000, 0x00000000, 0x80000000,
+    0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000300, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/ctype_digit.c b/lib/unictype/ctype_digit.c
new file mode 100644 (file)
index 0000000..b18d920
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_digit table.  */
+#include "ctype_digit.h"
+
+bool
+uc_is_digit (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_digit, uc);
+}
diff --git a/lib/unictype/ctype_digit.h b/lib/unictype/ctype_digit.h
new file mode 100644 (file)
index 0000000..363398d
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_is_digit =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/ctype_graph.c b/lib/unictype/ctype_graph.c
new file mode 100644 (file)
index 0000000..3c0ae11
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_graph table.  */
+#include "ctype_graph.h"
+
+bool
+uc_is_graph (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_graph, uc);
+}
diff --git a/lib/unictype/ctype_graph.h b/lib/unictype/ctype_graph.h
new file mode 100644 (file)
index 0000000..60954d7
--- /dev/null
@@ -0,0 +1,882 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[5 << 7];
+    /*unsigned*/ int level3[50 << 4];
+  }
+u_is_graph =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   512,
+       18 * sizeof (int) / sizeof (short) +   512
+  },
+  {
+       18 +   640 * sizeof (short) / sizeof (int) +     0,
+       18 +   640 * sizeof (short) / sizeof (int) +    16,
+       18 +   640 * sizeof (short) / sizeof (int) +    32,
+       18 +   640 * sizeof (short) / sizeof (int) +    48,
+       18 +   640 * sizeof (short) / sizeof (int) +    64,
+       18 +   640 * sizeof (short) / sizeof (int) +    80,
+       18 +   640 * sizeof (short) / sizeof (int) +    96,
+       18 +   640 * sizeof (short) / sizeof (int) +   112,
+       18 +   640 * sizeof (short) / sizeof (int) +   128,
+       18 +   640 * sizeof (short) / sizeof (int) +   144,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   176,
+       18 +   640 * sizeof (short) / sizeof (int) +   192,
+       18 +   640 * sizeof (short) / sizeof (int) +   208,
+       18 +   640 * sizeof (short) / sizeof (int) +   224,
+       18 +   640 * sizeof (short) / sizeof (int) +   240,
+       18 +   640 * sizeof (short) / sizeof (int) +   256,
+       18 +   640 * sizeof (short) / sizeof (int) +   272,
+       18 +   640 * sizeof (short) / sizeof (int) +   288,
+       18 +   640 * sizeof (short) / sizeof (int) +   304,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   336,
+       18 +   640 * sizeof (short) / sizeof (int) +   352,
+       18 +   640 * sizeof (short) / sizeof (int) +   368,
+       18 +   640 * sizeof (short) / sizeof (int) +   384,
+       18 +   640 * sizeof (short) / sizeof (int) +   400,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   416,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   432,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   448,
+       18 +   640 * sizeof (short) / sizeof (int) +   464,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   512,
+       18 +   640 * sizeof (short) / sizeof (int) +   528,
+       18 +   640 * sizeof (short) / sizeof (int) +   544,
+       18 +   640 * sizeof (short) / sizeof (int) +   560,
+       18 +   640 * sizeof (short) / sizeof (int) +   576,
+       18 +   640 * sizeof (short) / sizeof (int) +   592,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   608,
+       18 +   640 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   640,
+       18 +   640 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   672,
+       18 +   640 * sizeof (short) / sizeof (int) +   688,
+       18 +   640 * sizeof (short) / sizeof (int) +   704,
+       18 +   640 * sizeof (short) / sizeof (int) +   720,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   736,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   752,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   768,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   784
+  },
+  {
+    0x00000000, 0xFFFFFFFE, 0xFFFFFFFF, 0x7FFFFFFF,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7C30FFFF,
+    0xFFFFD7F0, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFF7F, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0xFE7FFFFF, 0xFFFFFFFE,
+    0xFFFE06FF, 0xFFFFFFFF, 0xFFFF00FF, 0x001F07FF,
+    0xC83FF80F, 0x07FFFFFE, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFBFFF, 0xFFFFFFFF, 0xFFFFE7FF, 0x00003FFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFE, 0xF3FFFFFF, 0xFF1F3FFF, 0xF801FFFF,
+    0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x07FFFFCF,
+    0xFFF987EE, 0xD36DFDFF, 0x5E003987, 0x001FFFC0,
+    0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0002FFCF,
+    0xFFF99FEE, 0xF3EDFDFF, 0xB0C0398F, 0x0003FFC3,
+    0xD63DC7EC, 0xC3FFC718, 0x00803DC7, 0x07FFFFC0,
+    0xFFFDDFEE, 0xC3EFFDFF, 0x00603DDF, 0x0000FFC3,
+    0xFFFDDFEC, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF,
+    0xFFFDDFEC, 0xC3FFFDFF, 0x00803DCF, 0x0000FFC3,
+    0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x001C0000,
+    0xFFFFFFFE, 0x87FFFFFF, 0x0FFFFFFF, 0x00000000,
+    0xFEF02596, 0x3BFFECAE, 0x33FF3F5F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFF, 0xFFFE07FF,
+    0xFEFF0FFF, 0xDFFFFFFF, 0x00039FFF, 0x00000000,
+    0xFFFFFFFF, 0x03C7F6FB, 0x03FFFFFF, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x1FFFFFFF,
+    0x03FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF,
+    0x1FFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF,
+    0x001FDFFF, 0x007FFFFF, 0x000FFFFF, 0x000DDFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x03FF03FF,
+    0x03FF3FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x0FFF0FFF, 0xFFFFFFF1, 0x001F3FFF,
+    0xFFFFFFFF, 0xFFFF03FF, 0xC3FF03FF, 0xFFFFFFFF,
+    0xCFFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0FFF, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000007FF, 0xC0000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0xFFDFFFFF, 0xEFCFFFDF, 0x7FDCFFFF,
+    0xFFFFF880, 0xFFFFFCFF, 0x7FFFFFFF, 0xFFF3FC0F,
+    0x001F7FFF, 0x003FFFFF, 0xFFFF0000, 0x0000FFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFF87FFF, 0xFFFFFFFF,
+    0xFFFF001F, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x1FFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF07FF, 0xFFFF0FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x07FFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0007FF,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x30FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xFE7FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF7FFF, 0x00FFFFFF, 0x0000FFFF, 0xFFFF0000,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF1FFF, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07FFFFFF, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xE0F8007F, 0x5F7FFFFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x3FFF0000,
+    0x03FFFFFF, 0xFFFF000F, 0xFFF7FFFF, 0xFFDF0F7F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x9FFFFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x3E007F7F,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0xFFFFFF87, 0xFF8FFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF000F, 0x000007FF, 0x00000000,
+    0xBFFFFFFF, 0xFFFFFFFF, 0x003FFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x83FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x870FFFFF, 0x01FF00FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000F0007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFFFFFFF, 0xFFFFFC7F, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF
+  }
+};
diff --git a/lib/unictype/ctype_lower.c b/lib/unictype/ctype_lower.c
new file mode 100644 (file)
index 0000000..1bc8434
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_lower table.  */
+#include "ctype_lower.h"
+
+bool
+uc_is_lower (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_lower, uc);
+}
diff --git a/lib/unictype/ctype_lower.h b/lib/unictype/ctype_lower.h
new file mode 100644 (file)
index 0000000..0bf39f0
--- /dev/null
@@ -0,0 +1,323 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[10 << 4];
+  }
+u_is_lower =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x07FFFFFE,
+    0x00000000, 0x00200000, 0x80000000, 0xFF7FFFFF,
+    0xAAAAAAAA, 0x54AAAAAA, 0xAAAAA955, 0xD4AAAAAA,
+    0x46241129, 0xA251212A, 0xB5555B60, 0xAA2CAAAA,
+    0xAAAAAAAA, 0x100AAAA8, 0x0AD8AA84, 0x20248B09,
+    0x00041F09, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000020, 0x38000000,
+    0x00000000, 0xFFFEF000, 0xAA637FFF, 0x0927AAAA,
+    0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA,
+    0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA,
+    0x000AAAAA, 0x00000000, 0x00000000, 0xFFFFFFFE,
+    0x0000007F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x20000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
+    0x082AAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x02AAAAAA,
+    0x003F00FF, 0x00FF00FF, 0x00AA003F, 0x3FFF00FF,
+    0x00FF00FF, 0x400B00FF, 0x00030008, 0x00080023,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00004000, 0xFFFF0000,
+    0x00000010, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x00401562,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000000A,
+    0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/ctype_print.c b/lib/unictype/ctype_print.c
new file mode 100644 (file)
index 0000000..1423801
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_print table.  */
+#include "ctype_print.h"
+
+bool
+uc_is_print (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_print, uc);
+}
diff --git a/lib/unictype/ctype_print.h b/lib/unictype/ctype_print.h
new file mode 100644 (file)
index 0000000..4ae85a2
--- /dev/null
@@ -0,0 +1,882 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[5 << 7];
+    /*unsigned*/ int level3[50 << 4];
+  }
+u_is_print =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   512,
+       18 * sizeof (int) / sizeof (short) +   512
+  },
+  {
+       18 +   640 * sizeof (short) / sizeof (int) +     0,
+       18 +   640 * sizeof (short) / sizeof (int) +    16,
+       18 +   640 * sizeof (short) / sizeof (int) +    32,
+       18 +   640 * sizeof (short) / sizeof (int) +    48,
+       18 +   640 * sizeof (short) / sizeof (int) +    64,
+       18 +   640 * sizeof (short) / sizeof (int) +    80,
+       18 +   640 * sizeof (short) / sizeof (int) +    96,
+       18 +   640 * sizeof (short) / sizeof (int) +   112,
+       18 +   640 * sizeof (short) / sizeof (int) +   128,
+       18 +   640 * sizeof (short) / sizeof (int) +   144,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   176,
+       18 +   640 * sizeof (short) / sizeof (int) +   192,
+       18 +   640 * sizeof (short) / sizeof (int) +   208,
+       18 +   640 * sizeof (short) / sizeof (int) +   224,
+       18 +   640 * sizeof (short) / sizeof (int) +   240,
+       18 +   640 * sizeof (short) / sizeof (int) +   256,
+       18 +   640 * sizeof (short) / sizeof (int) +   272,
+       18 +   640 * sizeof (short) / sizeof (int) +   288,
+       18 +   640 * sizeof (short) / sizeof (int) +   304,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   336,
+       18 +   640 * sizeof (short) / sizeof (int) +   352,
+       18 +   640 * sizeof (short) / sizeof (int) +   368,
+       18 +   640 * sizeof (short) / sizeof (int) +   384,
+       18 +   640 * sizeof (short) / sizeof (int) +   400,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   416,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   432,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   448,
+       18 +   640 * sizeof (short) / sizeof (int) +   464,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   512,
+       18 +   640 * sizeof (short) / sizeof (int) +   528,
+       18 +   640 * sizeof (short) / sizeof (int) +   544,
+       18 +   640 * sizeof (short) / sizeof (int) +   560,
+       18 +   640 * sizeof (short) / sizeof (int) +   576,
+       18 +   640 * sizeof (short) / sizeof (int) +   592,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   608,
+       18 +   640 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   640,
+       18 +   640 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   672,
+       18 +   640 * sizeof (short) / sizeof (int) +   688,
+       18 +   640 * sizeof (short) / sizeof (int) +   704,
+       18 +   640 * sizeof (short) / sizeof (int) +   720,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   736,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   752,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   768,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   784
+  },
+  {
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7C30FFFF,
+    0xFFFFD7F0, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFF7F, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0xFE7FFFFF, 0xFFFFFFFE,
+    0xFFFE06FF, 0xFFFFFFFF, 0xFFFF00FF, 0x001F07FF,
+    0xC83FF80F, 0x07FFFFFE, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFBFFF, 0xFFFFFFFF, 0xFFFFE7FF, 0x00003FFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFE, 0xF3FFFFFF, 0xFF1F3FFF, 0xF801FFFF,
+    0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x07FFFFCF,
+    0xFFF987EE, 0xD36DFDFF, 0x5E003987, 0x001FFFC0,
+    0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0002FFCF,
+    0xFFF99FEE, 0xF3EDFDFF, 0xB0C0398F, 0x0003FFC3,
+    0xD63DC7EC, 0xC3FFC718, 0x00803DC7, 0x07FFFFC0,
+    0xFFFDDFEE, 0xC3EFFDFF, 0x00603DDF, 0x0000FFC3,
+    0xFFFDDFEC, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF,
+    0xFFFDDFEC, 0xC3FFFDFF, 0x00803DCF, 0x0000FFC3,
+    0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x001C0000,
+    0xFFFFFFFE, 0x87FFFFFF, 0x0FFFFFFF, 0x00000000,
+    0xFEF02596, 0x3BFFECAE, 0x33FF3F5F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFF, 0xFFFE07FF,
+    0xFEFF0FFF, 0xDFFFFFFF, 0x00039FFF, 0x00000000,
+    0xFFFFFFFF, 0x03C7F6FB, 0x03FFFFFF, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x1FFFFFFF,
+    0x03FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF,
+    0x1FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF,
+    0x001FDFFF, 0x007FFFFF, 0x000FFFFF, 0x000DDFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x03FF03FF,
+    0x03FF7FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x0FFF0FFF, 0xFFFFFFF1, 0x001F3FFF,
+    0xFFFFFFFF, 0xFFFF03FF, 0xC3FF03FF, 0xFFFFFFFF,
+    0xCFFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0FFF, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000007FF, 0xC0000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0xFFDFFFFF, 0xEFCFFFDF, 0x7FDCFFFF,
+    0xFFFFFFFF, 0xFFFFFCFF, 0xFFFFFFFF, 0xFFF3FC0F,
+    0x001F7FFF, 0x003FFFFF, 0xFFFF0000, 0x0000FFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFF87FFF, 0xFFFFFFFF,
+    0xFFFF001F, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x1FFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF07FF, 0xFFFF0FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x07FFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0007FF,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x30FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xFE7FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF7FFF, 0x00FFFFFF, 0x0000FFFF, 0xFFFF0000,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF1FFF, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07FFFFFF, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xE0F8007F, 0x5F7FFFFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x3FFF0000,
+    0x03FFFFFF, 0xFFFF000F, 0xFFF7FFFF, 0xFFDF0F7F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x9FFFFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x3E007F7F,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0xFFFFFF87, 0xFF8FFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF000F, 0x000007FF, 0x00000000,
+    0xBFFFFFFF, 0xFFFFFFFF, 0x003FFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x83FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x870FFFFF, 0x01FF00FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000F0007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFFFFFFF, 0xFFFFFC7F, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF
+  }
+};
diff --git a/lib/unictype/ctype_punct.c b/lib/unictype/ctype_punct.c
new file mode 100644 (file)
index 0000000..e6b7946
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_punct table.  */
+#include "ctype_punct.h"
+
+bool
+uc_is_punct (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_punct, uc);
+}
diff --git a/lib/unictype/ctype_punct.h b/lib/unictype/ctype_punct.h
new file mode 100644 (file)
index 0000000..dc0409b
--- /dev/null
@@ -0,0 +1,726 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[4 << 7];
+    /*unsigned*/ int level3[43 << 4];
+  }
+u_is_punct =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       18 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   384
+  },
+  {
+       18 +   512 * sizeof (short) / sizeof (int) +     0,
+       18 +   512 * sizeof (short) / sizeof (int) +    16,
+       18 +   512 * sizeof (short) / sizeof (int) +    32,
+       18 +   512 * sizeof (short) / sizeof (int) +    48,
+       18 +   512 * sizeof (short) / sizeof (int) +    64,
+       18 +   512 * sizeof (short) / sizeof (int) +    80,
+       18 +   512 * sizeof (short) / sizeof (int) +    96,
+       18 +   512 * sizeof (short) / sizeof (int) +   112,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   160,
+       18 +   512 * sizeof (short) / sizeof (int) +   176,
+       18 +   512 * sizeof (short) / sizeof (int) +   192,
+       18 +   512 * sizeof (short) / sizeof (int) +   208,
+       18 +   512 * sizeof (short) / sizeof (int) +   224,
+       18 +   512 * sizeof (short) / sizeof (int) +   240,
+       18 +   512 * sizeof (short) / sizeof (int) +   256,
+       18 +   512 * sizeof (short) / sizeof (int) +   272,
+       18 +   512 * sizeof (short) / sizeof (int) +   288,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   336,
+       18 +   512 * sizeof (short) / sizeof (int) +   352,
+       18 +   512 * sizeof (short) / sizeof (int) +   368,
+       18 +   512 * sizeof (short) / sizeof (int) +   384,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   416,
+       18 +   512 * sizeof (short) / sizeof (int) +   432,
+       18 +   512 * sizeof (short) / sizeof (int) +   448,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   464,
+       18 +   512 * sizeof (short) / sizeof (int) +   480,
+       18 +   512 * sizeof (short) / sizeof (int) +   496,
+       18 +   512 * sizeof (short) / sizeof (int) +   512,
+       18 +   512 * sizeof (short) / sizeof (int) +   528,
+       18 +   512 * sizeof (short) / sizeof (int) +   544,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   560,
+       18 +   512 * sizeof (short) / sizeof (int) +   576,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   592,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   608,
+       18 +   512 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   640,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   672
+  },
+  {
+    0x00000000, 0xFC00FFFE, 0xF8000001, 0x78000001,
+    0x00000000, 0xFBDFFBFF, 0x00800000, 0x00800000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFC003C, 0xFFFFBFE0,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFDF, 0x4030FFFF,
+    0x000000B0, 0x00000000, 0x00000000, 0x00400000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000037C, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFC000000, 0x00000000,
+    0xFFFE0600, 0xFFFFFFFF, 0x000000FF, 0x00180000,
+    0xC83FF80F, 0x00000000, 0x7FFFF800, 0x00013C00,
+    0x00000000, 0x00000000, 0xFFD00000, 0x60003F9F,
+    0x0002BFFF, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x00000000, 0x0001FFC0, 0x00000000, 0x03CFF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000E, 0xD0000000, 0x001E3FFF, 0x0001003C,
+    0x0000000E, 0xD0000000, 0x0080399F, 0x07FC000C,
+    0x0000000E, 0xD0000000, 0x00003987, 0x00030000,
+    0x0000000E, 0xD0000000, 0x00003BBF, 0x0002000C,
+    0x0000000E, 0xD0000000, 0x00C0398F, 0x00010000,
+    0x00000004, 0xC0000000, 0x00803DC7, 0x07FF0000,
+    0x0000000E, 0xC0000000, 0x00603DDF, 0x00000000,
+    0x0000000C, 0xD0000000, 0x00603DDF, 0x0006000C,
+    0x0000000C, 0xC0000000, 0x00803DCF, 0x00000000,
+    0x0000000C, 0x00000000, 0xFF5F8400, 0x001C0000,
+    0x00000000, 0x80008000, 0x0C008040, 0x00000000,
+    0x00000000, 0x1BF20000, 0x00003F00, 0x00000000,
+    0xFFFFFFFE, 0xFFFFFC00, 0x00000000, 0xFFFE0000,
+    0xFEFF00FF, 0xDFFFFFFF, 0x00039FFF, 0x00000000,
+    0x00000000, 0x03C7F000, 0x03C0FC00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x1FFFFFFF,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00006000,
+    0x18000000, 0x00000000, 0x00000000, 0x00003800,
+    0x001C0000, 0x007C0000, 0x000C0000, 0x000C0000,
+    0x00000000, 0xFFF00000, 0x2F7FFFFF, 0x03FF0000,
+    0x00003FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x0FFF0FFF, 0x00000031, 0x00000000,
+    0x00000000, 0xFFFF0000, 0xC0000301, 0xFFFFFFFF,
+    0xCF800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000001F, 0xFFF00000, 0xFC00001F, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007FF, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
+    0xFFFFF880, 0xFFFFFCFF, 0x7FFFFFFF, 0x7FF1FC0F,
+    0x00007FFF, 0x003FFFFF, 0xFFFF0000, 0x0000FFFF,
+    0xC1D0037B, 0x0C0040AF, 0xFFF83C1F, 0x00000000,
+    0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x1FFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF07FF, 0xFFFF0FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x07FFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFE0007E0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x30FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
+    0xFFFFFF1E, 0xE0C1FC01, 0x00000000, 0x00000000,
+    0x1E000000, 0x00000001, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0x00000000, 0x0000FFFF, 0x00000000,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x007FFFFF, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000844, 0x00000FF8, 0x00000000, 0x00F00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x40000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x30000000,
+    0x03FFFFFF, 0xFFFF000F, 0xFFF7FFFF, 0x00000F7F,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0xFC00FFFE, 0xF8000001, 0xF8000001, 0x0000003F,
+    0x00000000, 0x00000000, 0x00000000, 0x3E007F7F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFF87, 0xFF8FFFFF, 0x00000000, 0xFFE00000,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000000F, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00010000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x83C00000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000F06E, 0x87000000, 0x01FF00FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000F0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFFFFFFF, 0xFFFFFC7F, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x08000002, 0x08000000,
+    0x00200000, 0x00200000, 0x00008000, 0x00008000,
+    0x00000200, 0x00000200, 0x00000008, 0x00000000,
+    0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF
+  }
+};
diff --git a/lib/unictype/ctype_space.c b/lib/unictype/ctype_space.c
new file mode 100644 (file)
index 0000000..09d2c11
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_space table.  */
+#include "ctype_space.h"
+
+bool
+uc_is_space (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_space, uc);
+}
diff --git a/lib/unictype/ctype_space.h b/lib/unictype/ctype_space.h
new file mode 100644 (file)
index 0000000..6d11a78
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_is_space =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00003E00, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000077F, 0x00000300, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/ctype_upper.c b/lib/unictype/ctype_upper.c
new file mode 100644 (file)
index 0000000..7724a04
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_upper table.  */
+#include "ctype_upper.h"
+
+bool
+uc_is_upper (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_upper, uc);
+}
diff --git a/lib/unictype/ctype_upper.h b/lib/unictype/ctype_upper.h
new file mode 100644 (file)
index 0000000..042b59b
--- /dev/null
@@ -0,0 +1,323 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[10 << 4];
+  }
+u_is_upper =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
+    0x00000000, 0x00000000, 0x7F7FFFFF, 0x00000000,
+    0x55555555, 0xAA555555, 0x555554AA, 0x2B555555,
+    0xB1DBCED6, 0x11AED2D5, 0x4AAAADB0, 0x55D65555,
+    0x55555555, 0x6C055555, 0x0000557A, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFED740, 0x00000FFB, 0x55000000, 0xE6905555,
+    0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555,
+    0x55555401, 0x55555555, 0x55552AAB, 0x55555555,
+    0x00055555, 0xFFFE0000, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0x0000003F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x55555555, 0x55555555, 0x55555555, 0x55555555,
+    0x00155555, 0x55555555, 0x55555555, 0x01555555,
+    0x3F00FF00, 0xFF00FF00, 0xAA003F00, 0x0000FF00,
+    0xFF00FF00, 0x1F00FF00, 0x0F001F00, 0x1F001F00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00040C40, 0x00000000, 0x0000FFFF,
+    0x00000008, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFC00000, 0x0000FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00200A9D,
+    0x55555555, 0x55555555, 0x55555555, 0x00000005,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/ctype_xdigit.c b/lib/unictype/ctype_xdigit.c
new file mode 100644 (file)
index 0000000..60c44c4
--- /dev/null
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_xdigit table.  */
+#include "ctype_xdigit.h"
+
+bool
+uc_is_xdigit (ucs4_t uc)
+{
+  return bitmap_lookup (&u_is_xdigit, uc);
+}
diff --git a/lib/unictype/ctype_xdigit.h b/lib/unictype/ctype_xdigit.h
new file mode 100644 (file)
index 0000000..1cd2279
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_is_xdigit =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x0000007E, 0x0000007E,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/decdigit.c b/lib/unictype/decdigit.c
new file mode 100644 (file)
index 0000000..48b0592
--- /dev/null
@@ -0,0 +1,49 @@
+/* Values of decimal digit Unicode characters.
+   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_decdigit table.  */
+#include "decdigit.h"
+
+int
+uc_decimal_value (ucs4_t uc)
+{
+  unsigned int index1 = uc >> decdigit_header_0;
+  if (index1 < decdigit_header_1)
+    {
+      int lookup1 = u_decdigit.level1[index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> decdigit_header_2) & decdigit_header_3;
+         int lookup2 = u_decdigit.level2[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = (uc & decdigit_header_4) + lookup2;
+             /* level3 contains 4-bit values.  */
+             unsigned int lookup3 =
+               (u_decdigit.level3[index3>>1] >> ((index3 % 2) * 4)) & 0x0f;
+
+             return (int) lookup3 - 1;
+           }
+       }
+    }
+  return -1;
+}
diff --git a/lib/unictype/decdigit.h b/lib/unictype/decdigit.h
new file mode 100644 (file)
index 0000000..51f9810
--- /dev/null
@@ -0,0 +1,231 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Decimal digit values of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define decdigit_header_0 16
+#define decdigit_header_1 2
+#define decdigit_header_2 7
+#define decdigit_header_3 511
+#define decdigit_header_4 127
+static const
+struct
+  {
+    int level1[2];
+    short level2[2 << 9];
+    unsigned char level3[10 << 6];
+  }
+u_decdigit =
+{
+  {     0,   512 },
+  {
+        0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,   128,   256,    -1,   384,
+       -1,    -1,   512,   512,   512,   512,   512,   512,
+      512,   512,   512,    -1,   640,   640,   768,    -1,
+      384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
+      896,    -1,  1024,   640,    -1,    -1,   640,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,   896,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,   768,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1152,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
+  },
+  {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x21, 0x43, 0x65, 0x87, 0xa9,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x21, 0x43, 0x65, 0x87, 0xa9,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
+    0x43, 0x65, 0x87, 0xa9, 0x21, 0x43, 0x65, 0x87,
+    0xa9, 0x21, 0x43, 0x65, 0x87, 0xa9, 0x21, 0x43,
+    0x65, 0x87, 0xa9, 0x21, 0x43, 0x65, 0x87, 0xa9
+  }
+};
diff --git a/lib/unictype/digit.c b/lib/unictype/digit.c
new file mode 100644 (file)
index 0000000..21545c7
--- /dev/null
@@ -0,0 +1,49 @@
+/* Values of digit Unicode characters.
+   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_digit table.  */
+#include "digit.h"
+
+int
+uc_digit_value (ucs4_t uc)
+{
+  unsigned int index1 = uc >> digit_header_0;
+  if (index1 < digit_header_1)
+    {
+      int lookup1 = u_digit.level1[index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> digit_header_2) & digit_header_3;
+         int lookup2 = u_digit.level2[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = (uc & digit_header_4) + lookup2;
+             /* level3 contains 4-bit values.  */
+             unsigned int lookup3 =
+               (u_digit.level3[index3>>1] >> ((index3 % 2) * 4)) & 0x0f;
+
+             return (int) lookup3 - 1;
+           }
+       }
+    }
+  return -1;
+}
diff --git a/lib/unictype/digit.h b/lib/unictype/digit.h
new file mode 100644 (file)
index 0000000..83672c5
--- /dev/null
@@ -0,0 +1,303 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Digit values of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define digit_header_0 16
+#define digit_header_1 2
+#define digit_header_2 7
+#define digit_header_3 511
+#define digit_header_4 127
+static const
+struct
+  {
+    int level1[2];
+    short level2[2 << 9];
+    unsigned char level3[19 << 6];
+  }
+u_digit =
+{
+  {     0,   512 },
+  {
+        0,   128,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,   256,   384,    -1,   512,
+       -1,    -1,   640,   640,   640,   640,   640,   640,
+      640,   640,   640,    -1,   768,   768,   896,    -1,
+      512,    -1,    -1,    -1,    -1,    -1,  1024,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,   256,
+     1152,    -1,  1280,   768,    -1,    -1,   768,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     1408,  1536,    -1,    -1,    -1,    -1,    -1,    -1,
+     1664,  1792,    -1,    -1,    -1,    -1,  1920,  2048,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  1152,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,   896,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  2176,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2304,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
+  },
+  {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x43, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x21, 0x43, 0x65, 0x87, 0xa9,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x87,
+    0xa9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x21, 0x43, 0x65, 0x87, 0xa9,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x01, 0x00, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x32, 0x54, 0x76, 0x98, 0x0a, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x32, 0x54, 0x76, 0x98, 0x0a, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x32, 0x54, 0x76, 0x98,
+    0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+    0x00, 0x00, 0x20, 0x43, 0x65, 0x87, 0xa9, 0x10,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x32, 0x54, 0x76, 0x98, 0x0a,
+    0x32, 0x54, 0x76, 0x98, 0x0a, 0x32, 0x54, 0x76,
+    0x98, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x32, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
+    0x43, 0x65, 0x87, 0xa9, 0x21, 0x43, 0x65, 0x87,
+    0xa9, 0x21, 0x43, 0x65, 0x87, 0xa9, 0x21, 0x43,
+    0x65, 0x87, 0xa9, 0x21, 0x43, 0x65, 0x87, 0xa9
+  }
+};
diff --git a/lib/unictype/gen-ctype.c b/lib/unictype/gen-ctype.c
new file mode 100644 (file)
index 0000000..e8ff2b6
--- /dev/null
@@ -0,0 +1,5135 @@
+/* Generate Unicode conforming character classification tables from a
+   UnicodeData file.
+   Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2000-2002.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+/* Usage example:
+     $ gen-ctype /usr/local/share/Unidata/UnicodeData.txt \
+                 /usr/local/share/Unidata/PropList.txt \
+                 /usr/local/share/Unidata/DerivedCoreProperties.txt \
+                 /usr/local/share/Unidata/Scripts.txt \
+                 /usr/local/share/Unidata/Blocks.txt \
+                 /usr/local/share/Unidata/PropList-3.0.1.txt \
+                 5.0.0
+ */
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+
+/* ========================================================================= */
+
+/* Reading UnicodeData.txt.  */
+/* See UCD.html.  */
+
+/* This structure represents one line in the UnicodeData.txt file.  */
+struct unicode_attribute
+{
+  const char *name;           /* Character name */
+  const char *category;       /* General category */
+  const char *combining;      /* Canonical combining class */
+  const char *bidi;           /* Bidirectional category */
+  const char *decomposition;  /* Character decomposition mapping */
+  const char *decdigit;       /* Decimal digit value */
+  const char *digit;          /* Digit value */
+  const char *numeric;        /* Numeric value */
+  bool mirrored;              /* mirrored */
+  const char *oldname;        /* Old Unicode 1.0 name */
+  const char *comment;        /* Comment */
+  unsigned int upper;         /* Uppercase mapping */
+  unsigned int lower;         /* Lowercase mapping */
+  unsigned int title;         /* Titlecase mapping */
+};
+
+/* Missing fields are represented with "" for strings, and NONE for
+   characters.  */
+#define NONE (~(unsigned int)0)
+
+/* The entire contents of the UnicodeData.txt file.  */
+struct unicode_attribute unicode_attributes [0x110000];
+
+/* Stores in unicode_attributes[i] the values from the given fields.  */
+static void
+fill_attribute (unsigned int i,
+               const char *field1, const char *field2,
+               const char *field3, const char *field4,
+               const char *field5, const char *field6,
+               const char *field7, const char *field8,
+               const char *field9, const char *field10,
+               const char *field11, const char *field12,
+               const char *field13, const char *field14)
+{
+  struct unicode_attribute * uni;
+
+  if (i >= 0x110000)
+    {
+      fprintf (stderr, "index too large\n");
+      exit (1);
+    }
+  if (strcmp (field2, "Cs") == 0)
+    /* Surrogates are UTF-16 artefacts, not real characters. Ignore them.  */
+    return;
+  uni = &unicode_attributes[i];
+  /* Copy the strings.  */
+  uni->name          = strdup (field1);
+  uni->category      = (field2[0] == '\0' ? "" : strdup (field2));
+  uni->combining     = (field3[0] == '\0' ? "" : strdup (field3));
+  uni->bidi          = (field4[0] == '\0' ? "" : strdup (field4));
+  uni->decomposition = (field5[0] == '\0' ? "" : strdup (field5));
+  uni->decdigit      = (field6[0] == '\0' ? "" : strdup (field6));
+  uni->digit         = (field7[0] == '\0' ? "" : strdup (field7));
+  uni->numeric       = (field8[0] == '\0' ? "" : strdup (field8));
+  uni->mirrored      = (field9[0] == 'Y');
+  uni->oldname       = (field10[0] == '\0' ? "" : strdup (field10));
+  uni->comment       = (field11[0] == '\0' ? "" : strdup (field11));
+  uni->upper = (field12[0] =='\0' ? NONE : strtoul (field12, NULL, 16));
+  uni->lower = (field13[0] =='\0' ? NONE : strtoul (field13, NULL, 16));
+  uni->title = (field14[0] =='\0' ? NONE : strtoul (field14, NULL, 16));
+}
+
+/* Maximum length of a field in the UnicodeData.txt file.  */
+#define FIELDLEN 120
+
+/* Reads the next field from STREAM.  The buffer BUFFER has size FIELDLEN.
+   Reads up to (but excluding) DELIM.
+   Returns 1 when a field was successfully read, otherwise 0.  */
+static int
+getfield (FILE *stream, char *buffer, int delim)
+{
+  int count = 0;
+  int c;
+
+  for (; (c = getc (stream)), (c != EOF && c != delim); )
+    {
+      /* The original unicode.org UnicodeData.txt file happens to have
+        CR/LF line terminators.  Silently convert to LF.  */
+      if (c == '\r')
+       continue;
+
+      /* Put c into the buffer.  */
+      if (++count >= FIELDLEN - 1)
+       {
+         fprintf (stderr, "field longer than expected, increase FIELDLEN\n");
+         exit (1);
+       }
+      *buffer++ = c;
+    }
+
+  if (c == EOF)
+    return 0;
+
+  *buffer = '\0';
+  return 1;
+}
+
+/* Stores in unicode_attributes[] the entire contents of the UnicodeData.txt
+   file.  */
+static void
+fill_attributes (const char *unicodedata_filename)
+{
+  unsigned int i, j;
+  FILE *stream;
+  char field0[FIELDLEN];
+  char field1[FIELDLEN];
+  char field2[FIELDLEN];
+  char field3[FIELDLEN];
+  char field4[FIELDLEN];
+  char field5[FIELDLEN];
+  char field6[FIELDLEN];
+  char field7[FIELDLEN];
+  char field8[FIELDLEN];
+  char field9[FIELDLEN];
+  char field10[FIELDLEN];
+  char field11[FIELDLEN];
+  char field12[FIELDLEN];
+  char field13[FIELDLEN];
+  char field14[FIELDLEN];
+  int lineno = 0;
+
+  for (i = 0; i < 0x110000; i++)
+    unicode_attributes[i].name = NULL;
+
+  stream = fopen (unicodedata_filename, "r");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "error during fopen of '%s'\n", unicodedata_filename);
+      exit (1);
+    }
+
+  for (;;)
+    {
+      int n;
+
+      lineno++;
+      n = getfield (stream, field0, ';');
+      n += getfield (stream, field1, ';');
+      n += getfield (stream, field2, ';');
+      n += getfield (stream, field3, ';');
+      n += getfield (stream, field4, ';');
+      n += getfield (stream, field5, ';');
+      n += getfield (stream, field6, ';');
+      n += getfield (stream, field7, ';');
+      n += getfield (stream, field8, ';');
+      n += getfield (stream, field9, ';');
+      n += getfield (stream, field10, ';');
+      n += getfield (stream, field11, ';');
+      n += getfield (stream, field12, ';');
+      n += getfield (stream, field13, ';');
+      n += getfield (stream, field14, '\n');
+      if (n == 0)
+       break;
+      if (n != 15)
+       {
+         fprintf (stderr, "short line in '%s':%d\n",
+                  unicodedata_filename, lineno);
+         exit (1);
+       }
+      i = strtoul (field0, NULL, 16);
+      if (field1[0] == '<'
+         && strlen (field1) >= 9
+         && strcmp (field1 + strlen(field1) - 8, ", First>") == 0)
+       {
+         /* Deal with a range. */
+         lineno++;
+         n = getfield (stream, field0, ';');
+         n += getfield (stream, field1, ';');
+         n += getfield (stream, field2, ';');
+         n += getfield (stream, field3, ';');
+         n += getfield (stream, field4, ';');
+         n += getfield (stream, field5, ';');
+         n += getfield (stream, field6, ';');
+         n += getfield (stream, field7, ';');
+         n += getfield (stream, field8, ';');
+         n += getfield (stream, field9, ';');
+         n += getfield (stream, field10, ';');
+         n += getfield (stream, field11, ';');
+         n += getfield (stream, field12, ';');
+         n += getfield (stream, field13, ';');
+         n += getfield (stream, field14, '\n');
+         if (n != 15)
+           {
+             fprintf (stderr, "missing end range in '%s':%d\n",
+                      unicodedata_filename, lineno);
+             exit (1);
+           }
+         if (!(field1[0] == '<'
+               && strlen (field1) >= 8
+               && strcmp (field1 + strlen (field1) - 7, ", Last>") == 0))
+           {
+             fprintf (stderr, "missing end range in '%s':%d\n",
+                      unicodedata_filename, lineno);
+             exit (1);
+           }
+         field1[strlen (field1) - 7] = '\0';
+         j = strtoul (field0, NULL, 16);
+         for (; i <= j; i++)
+           fill_attribute (i, field1+1, field2, field3, field4, field5,
+                              field6, field7, field8, field9, field10,
+                              field11, field12, field13, field14);
+       }
+      else
+       {
+         /* Single character line */
+         fill_attribute (i, field1, field2, field3, field4, field5,
+                            field6, field7, field8, field9, field10,
+                            field11, field12, field13, field14);
+       }
+    }
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error reading from '%s'\n", unicodedata_filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* General category.  */
+/* See Unicode 3.0 book, section 4.5,
+       UCD.html.  */
+
+static bool
+is_category_L (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'L');
+}
+
+static bool
+is_category_Lu (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'L'
+         && unicode_attributes[ch].category[1] == 'u');
+}
+
+static bool
+is_category_Ll (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'L'
+         && unicode_attributes[ch].category[1] == 'l');
+}
+
+static bool
+is_category_Lt (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'L'
+         && unicode_attributes[ch].category[1] == 't');
+}
+
+static bool
+is_category_Lm (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'L'
+         && unicode_attributes[ch].category[1] == 'm');
+}
+
+static bool
+is_category_Lo (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'L'
+         && unicode_attributes[ch].category[1] == 'o');
+}
+
+static bool
+is_category_M (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'M');
+}
+
+static bool
+is_category_Mn (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'M'
+         && unicode_attributes[ch].category[1] == 'n');
+}
+
+static bool
+is_category_Mc (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'M'
+         && unicode_attributes[ch].category[1] == 'c');
+}
+
+static bool
+is_category_Me (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'M'
+         && unicode_attributes[ch].category[1] == 'e');
+}
+
+static bool
+is_category_N (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'N');
+}
+
+static bool
+is_category_Nd (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'N'
+         && unicode_attributes[ch].category[1] == 'd');
+}
+
+static bool
+is_category_Nl (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'N'
+         && unicode_attributes[ch].category[1] == 'l');
+}
+
+static bool
+is_category_No (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'N'
+         && unicode_attributes[ch].category[1] == 'o');
+}
+
+static bool
+is_category_P (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'P');
+}
+
+static bool
+is_category_Pc (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'P'
+         && unicode_attributes[ch].category[1] == 'c');
+}
+
+static bool
+is_category_Pd (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'P'
+         && unicode_attributes[ch].category[1] == 'd');
+}
+
+static bool
+is_category_Ps (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'P'
+         && unicode_attributes[ch].category[1] == 's');
+}
+
+static bool
+is_category_Pe (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'P'
+         && unicode_attributes[ch].category[1] == 'e');
+}
+
+static bool
+is_category_Pi (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'P'
+         && unicode_attributes[ch].category[1] == 'i');
+}
+
+static bool
+is_category_Pf (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'P'
+         && unicode_attributes[ch].category[1] == 'f');
+}
+
+static bool
+is_category_Po (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'P'
+         && unicode_attributes[ch].category[1] == 'o');
+}
+
+static bool
+is_category_S (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'S');
+}
+
+static bool
+is_category_Sm (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'S'
+         && unicode_attributes[ch].category[1] == 'm');
+}
+
+static bool
+is_category_Sc (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'S'
+         && unicode_attributes[ch].category[1] == 'c');
+}
+
+static bool
+is_category_Sk (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'S'
+         && unicode_attributes[ch].category[1] == 'k');
+}
+
+static bool
+is_category_So (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'S'
+         && unicode_attributes[ch].category[1] == 'o');
+}
+
+static bool
+is_category_Z (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'Z');
+}
+
+static bool
+is_category_Zs (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'Z'
+         && unicode_attributes[ch].category[1] == 's');
+}
+
+static bool
+is_category_Zl (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'Z'
+         && unicode_attributes[ch].category[1] == 'l');
+}
+
+static bool
+is_category_Zp (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'Z'
+         && unicode_attributes[ch].category[1] == 'p');
+}
+
+static bool
+is_category_C (unsigned int ch)
+{
+  return (unicode_attributes[ch].name == NULL
+         || unicode_attributes[ch].category[0] == 'C');
+}
+
+static bool
+is_category_Cc (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'C'
+         && unicode_attributes[ch].category[1] == 'c');
+}
+
+static bool
+is_category_Cf (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'C'
+         && unicode_attributes[ch].category[1] == 'f');
+}
+
+static bool
+is_category_Cs (unsigned int ch)
+{
+  return (ch >= 0xd800 && ch < 0xe000);
+}
+
+static bool
+is_category_Co (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'C'
+         && unicode_attributes[ch].category[1] == 'o');
+}
+
+static bool
+is_category_Cn (unsigned int ch)
+{
+  return (unicode_attributes[ch].name == NULL
+         && !(ch >= 0xd800 && ch < 0xe000));
+}
+
+/* Output a boolean property in a human readable format.  */
+static void
+debug_output_predicate (const char *filename, bool (*predicate) (unsigned int))
+{
+  FILE *stream;
+  unsigned int ch;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+#if 0 /* This yields huge text output.  */
+  for (ch = 0; ch < 0x110000; ch++)
+    if (predicate (ch))
+      {
+       fprintf (stream, "0x%04X\n", ch);
+      }
+#else
+  for (ch = 0; ch < 0x110000; ch++)
+    if (predicate (ch))
+      {
+       unsigned int first = ch;
+       unsigned int last;
+
+       while (ch + 1 < 0x110000 && predicate (ch + 1))
+         ch++;
+       last = ch;
+       if (first < last)
+         fprintf (stream, "0x%04X..0x%04X\n", first, last);
+       else
+         fprintf (stream, "0x%04X\n", ch);
+      }
+#endif
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* Output the unit test for a boolean property.  */
+static void
+output_predicate_test (const char *filename, bool (*predicate) (unsigned int), const char *expression)
+{
+  FILE *stream;
+  bool need_comma;
+  unsigned int ch;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Test the Unicode character type functions.\n");
+  fprintf (stream, "   Copyright (C) 2007 Free Software Foundation, Inc.\n");
+  fprintf (stream, "\n");
+  fprintf (stream, "   This program is free software: you can redistribute it and/or modify\n");
+  fprintf (stream, "   it under the terms of the GNU General Public License as published by\n");
+  fprintf (stream, "   the Free Software Foundation; either version 3 of the License, or\n");
+  fprintf (stream, "   (at your option) any later version.\n");
+  fprintf (stream, "\n");
+  fprintf (stream, "   This program is distributed in the hope that it will be useful,\n");
+  fprintf (stream, "   but WITHOUT ANY WARRANTY; without even the implied warranty of\n");
+  fprintf (stream, "   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n");
+  fprintf (stream, "   GNU General Public License for more details.\n");
+  fprintf (stream, "\n");
+  fprintf (stream, "   You should have received a copy of the GNU General Public License\n");
+  fprintf (stream, "   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */\n");
+  fprintf (stream, "\n");
+  fprintf (stream, "#include \"test-predicate-part1.h\"\n");
+  fprintf (stream, "\n");
+
+  need_comma = false;
+  for (ch = 0; ch < 0x110000; ch++)
+    if (predicate (ch))
+      {
+       unsigned int first = ch;
+       unsigned int last;
+
+       while (ch + 1 < 0x110000 && predicate (ch + 1))
+         ch++;
+       last = ch;
+       if (need_comma)
+         fprintf (stream, ",\n");
+       fprintf (stream, "    { 0x%04X, 0x%04X }", first, last);
+       need_comma = true;
+      }
+  if (need_comma)
+    fprintf (stream, "\n");
+
+  fprintf (stream, "\n");
+  fprintf (stream, "#define PREDICATE(c) %s\n", expression);
+  fprintf (stream, "#include \"test-predicate-part2.h\"\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* Construction of sparse 3-level tables.  */
+#define TABLE predicate_table
+#define xmalloc malloc
+#define xrealloc realloc
+#include "3levelbit.h"
+
+/* Output a boolean property in a three-level bitmap.  */
+static void
+output_predicate (const char *filename, bool (*predicate) (unsigned int), const char *name, const char *comment, const char *version)
+{
+  FILE *stream;
+  unsigned int ch, i;
+  struct predicate_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* %s of Unicode characters.  */\n", comment);
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  t.p = 4; /* or: 5 */
+  t.q = 7; /* or: 6 */
+  predicate_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    if (predicate (ch))
+      predicate_table_add (&t, ch);
+
+  predicate_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    if (i != 1)
+      fprintf (stream, "#define header_%d %d\n", i,
+              ((uint32_t *) t.result)[i]);
+
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int header[1];\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    /*unsigned*/ int level3[%d << %d];\n", t.level3_size, t.p);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "%s =\n", name);
+  fprintf (stream, "{\n");
+  fprintf (stream, "  { %d },\n", ((uint32_t *) t.result)[1]);
+  fprintf (stream, "  {");
+  if (t.level1_size > 1)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 1) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d * sizeof (int) / sizeof (short) + %5d",
+                1 + t.level1_size, (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+        fprintf (stream, ",");
+    }
+  if (t.level1_size > 1)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 1)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 1) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d + %5d * sizeof (short) / sizeof (int) + %5d",
+                1 + t.level1_size, t.level2_size << t.q, (offset - level3_offset) / sizeof (uint32_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 1)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level3_size << t.p > 4)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level3_size << t.p; i++)
+    {
+      if (i > 0 && (i % 4) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " 0x%08X",
+              ((uint32_t *) (t.result + level3_offset))[i]);
+      if (i+1 < t.level3_size << t.p)
+       fprintf (stream, ",");
+    }
+  if (t.level3_size << t.p > 4)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* Output all categories.  */
+static void
+output_categories (const char *version)
+{
+#define CATEGORY(C) \
+  debug_output_predicate ("categ_" #C ".txt", is_category_ ## C); \
+  output_predicate_test ("test-categ_" #C ".c", is_category_ ## C, "uc_is_general_category (c, UC_CATEGORY_" #C ")"); \
+  output_predicate ("categ_" #C ".h", is_category_ ## C, "u_categ_" #C, "Categories", version);
+  CATEGORY (L)
+  CATEGORY (Lu)
+  CATEGORY (Ll)
+  CATEGORY (Lt)
+  CATEGORY (Lm)
+  CATEGORY (Lo)
+  CATEGORY (M)
+  CATEGORY (Mn)
+  CATEGORY (Mc)
+  CATEGORY (Me)
+  CATEGORY (N)
+  CATEGORY (Nd)
+  CATEGORY (Nl)
+  CATEGORY (No)
+  CATEGORY (P)
+  CATEGORY (Pc)
+  CATEGORY (Pd)
+  CATEGORY (Ps)
+  CATEGORY (Pe)
+  CATEGORY (Pi)
+  CATEGORY (Pf)
+  CATEGORY (Po)
+  CATEGORY (S)
+  CATEGORY (Sm)
+  CATEGORY (Sc)
+  CATEGORY (Sk)
+  CATEGORY (So)
+  CATEGORY (Z)
+  CATEGORY (Zs)
+  CATEGORY (Zl)
+  CATEGORY (Zp)
+  CATEGORY (C)
+  CATEGORY (Cc)
+  CATEGORY (Cf)
+  CATEGORY (Cs)
+  CATEGORY (Co)
+  CATEGORY (Cn)
+#undef CATEGORY
+}
+
+enum
+{
+  UC_CATEGORY_MASK_L  = 0x0000001f,
+  UC_CATEGORY_MASK_Lu = 0x00000001,
+  UC_CATEGORY_MASK_Ll = 0x00000002,
+  UC_CATEGORY_MASK_Lt = 0x00000004,
+  UC_CATEGORY_MASK_Lm = 0x00000008,
+  UC_CATEGORY_MASK_Lo = 0x00000010,
+  UC_CATEGORY_MASK_M  = 0x000000e0,
+  UC_CATEGORY_MASK_Mn = 0x00000020,
+  UC_CATEGORY_MASK_Mc = 0x00000040,
+  UC_CATEGORY_MASK_Me = 0x00000080,
+  UC_CATEGORY_MASK_N  = 0x00000700,
+  UC_CATEGORY_MASK_Nd = 0x00000100,
+  UC_CATEGORY_MASK_Nl = 0x00000200,
+  UC_CATEGORY_MASK_No = 0x00000400,
+  UC_CATEGORY_MASK_P  = 0x0003f800,
+  UC_CATEGORY_MASK_Pc = 0x00000800,
+  UC_CATEGORY_MASK_Pd = 0x00001000,
+  UC_CATEGORY_MASK_Ps = 0x00002000,
+  UC_CATEGORY_MASK_Pe = 0x00004000,
+  UC_CATEGORY_MASK_Pi = 0x00008000,
+  UC_CATEGORY_MASK_Pf = 0x00010000,
+  UC_CATEGORY_MASK_Po = 0x00020000,
+  UC_CATEGORY_MASK_S  = 0x003c0000,
+  UC_CATEGORY_MASK_Sm = 0x00040000,
+  UC_CATEGORY_MASK_Sc = 0x00080000,
+  UC_CATEGORY_MASK_Sk = 0x00100000,
+  UC_CATEGORY_MASK_So = 0x00200000,
+  UC_CATEGORY_MASK_Z  = 0x01c00000,
+  UC_CATEGORY_MASK_Zs = 0x00400000,
+  UC_CATEGORY_MASK_Zl = 0x00800000,
+  UC_CATEGORY_MASK_Zp = 0x01000000,
+  UC_CATEGORY_MASK_C  = 0x3e000000,
+  UC_CATEGORY_MASK_Cc = 0x02000000,
+  UC_CATEGORY_MASK_Cf = 0x04000000,
+  UC_CATEGORY_MASK_Cs = 0x08000000,
+  UC_CATEGORY_MASK_Co = 0x10000000,
+  UC_CATEGORY_MASK_Cn = 0x20000000
+};
+
+static int
+general_category_byname (const char *category_name)
+{
+  if (category_name[0] != '\0'
+      && (category_name[1] == '\0' || category_name[2] == '\0'))
+    switch (category_name[0])
+      {
+      case 'L':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_MASK_L;
+         case 'u': return UC_CATEGORY_MASK_Lu;
+         case 'l': return UC_CATEGORY_MASK_Ll;
+         case 't': return UC_CATEGORY_MASK_Lt;
+         case 'm': return UC_CATEGORY_MASK_Lm;
+         case 'o': return UC_CATEGORY_MASK_Lo;
+         }
+       break;
+      case 'M':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_MASK_M;
+         case 'n': return UC_CATEGORY_MASK_Mn;
+         case 'c': return UC_CATEGORY_MASK_Mc;
+         case 'e': return UC_CATEGORY_MASK_Me;
+         }
+       break;
+      case 'N':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_MASK_N;
+         case 'd': return UC_CATEGORY_MASK_Nd;
+         case 'l': return UC_CATEGORY_MASK_Nl;
+         case 'o': return UC_CATEGORY_MASK_No;
+         }
+       break;
+      case 'P':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_MASK_P;
+         case 'c': return UC_CATEGORY_MASK_Pc;
+         case 'd': return UC_CATEGORY_MASK_Pd;
+         case 's': return UC_CATEGORY_MASK_Ps;
+         case 'e': return UC_CATEGORY_MASK_Pe;
+         case 'i': return UC_CATEGORY_MASK_Pi;
+         case 'f': return UC_CATEGORY_MASK_Pf;
+         case 'o': return UC_CATEGORY_MASK_Po;
+         }
+       break;
+      case 'S':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_MASK_S;
+         case 'm': return UC_CATEGORY_MASK_Sm;
+         case 'c': return UC_CATEGORY_MASK_Sc;
+         case 'k': return UC_CATEGORY_MASK_Sk;
+         case 'o': return UC_CATEGORY_MASK_So;
+         }
+       break;
+      case 'Z':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_MASK_Z;
+         case 's': return UC_CATEGORY_MASK_Zs;
+         case 'l': return UC_CATEGORY_MASK_Zl;
+         case 'p': return UC_CATEGORY_MASK_Zp;
+         }
+       break;
+      case 'C':
+       switch (category_name[1])
+         {
+         case '\0': return UC_CATEGORY_MASK_C;
+         case 'c': return UC_CATEGORY_MASK_Cc;
+         case 'f': return UC_CATEGORY_MASK_Cf;
+         case 's': return UC_CATEGORY_MASK_Cs;
+         case 'o': return UC_CATEGORY_MASK_Co;
+         case 'n': return UC_CATEGORY_MASK_Cn;
+         }
+       break;
+      }
+  /* Invalid category name.  */
+  abort ();
+}
+
+/* Construction of sparse 3-level tables.  */
+#define TABLE category_table
+#define ELEMENT uint8_t
+#define DEFAULT 29 /* = log2(UC_CATEGORY_MASK_Cn) */
+#define xmalloc malloc
+#define xrealloc realloc
+#include "3level.h"
+
+/* Output the per-character category table.  */
+static void
+output_category (const char *filename, const char *version)
+{
+  FILE *stream;
+  unsigned int ch, i;
+  struct category_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+  uint16_t *level3_packed;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Categories of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  t.p = 7;
+  t.q = 9;
+  category_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      int value;
+      unsigned int log2_value;
+
+      if (is_category_Cs (ch))
+       value = UC_CATEGORY_MASK_Cs;
+      else if (unicode_attributes[ch].name != NULL)
+       value = general_category_byname (unicode_attributes[ch].category);
+      else
+       continue;
+
+      /* Now value should contain exactly one bit.  */
+      if (value == 0 || ((value & (value - 1)) != 0))
+       abort ();
+
+      for (log2_value = 0; value > 1; value >>= 1, log2_value++);
+
+      category_table_add (&t, ch, log2_value);
+    }
+
+  category_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    fprintf (stream, "#define category_header_%d %d\n", i,
+            ((uint32_t *) t.result)[i]);
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    unsigned short level3[%d * %d + 1];\n", t.level3_size,
+          (1 << t.p) * 5 / 16);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "u_category =\n");
+  fprintf (stream, "{\n");
+  fprintf (stream, "  {");
+  if (t.level1_size > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+       fprintf (stream, ",");
+    }
+  if (t.level1_size > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level3_offset) / sizeof (uint8_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  /* Pack the level3 array.  Each entry needs 5 bits only.  Use 16-bit units,
+     not 32-bit units, in order to make the lookup function easier.  */
+  level3_packed =
+    (uint16_t *)
+    calloc ((t.level3_size << t.p) * 5 / 16 + 1, sizeof (uint16_t));
+  for (i = 0; i < t.level3_size << t.p; i++)
+    {
+      unsigned int j = (i * 5) / 16;
+      unsigned int k = (i * 5) % 16;
+      uint32_t value = ((unsigned char *) (t.result + level3_offset))[i];
+      value = level3_packed[j] | (level3_packed[j+1] << 16) | (value << k);
+      level3_packed[j] = value & 0xffff;
+      level3_packed[j+1] = value >> 16;
+    }
+  fprintf (stream, "  {");
+  if ((t.level3_size << t.p) * 5 / 16 + 1 > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < (t.level3_size << t.p) * 5 / 16 + 1; i++)
+    {
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " 0x%04x", level3_packed[i]);
+      if (i+1 < (t.level3_size << t.p) * 5 / 16 + 1)
+       fprintf (stream, ",");
+    }
+  if ((t.level3_size << t.p) * 5 / 16 + 1 > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  free (level3_packed);
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* Canonical combining class.  */
+/* See Unicode 3.0 book, section 4.2,
+       UCD.html.  */
+
+/* Construction of sparse 3-level tables.  */
+#define TABLE combclass_table
+#define ELEMENT uint8_t
+#define DEFAULT 0
+#define xmalloc malloc
+#define xrealloc realloc
+#include "3level.h"
+
+/* Output the per-character combining class table.  */
+static void
+output_combclass (const char *filename, const char *version)
+{
+  FILE *stream;
+  unsigned int ch, i;
+  struct combclass_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Combining class of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  t.p = 7;
+  t.q = 9;
+  combclass_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    if (unicode_attributes[ch].name != NULL)
+      {
+       int value = atoi (unicode_attributes[ch].combining);
+        if (!(value >= 0 && value <= 255))
+         abort ();
+       combclass_table_add (&t, ch, value);
+      }
+
+  combclass_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    fprintf (stream, "#define combclass_header_%d %d\n", i,
+            ((uint32_t *) t.result)[i]);
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    unsigned char level3[%d << %d];\n", t.level3_size, t.p);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "u_combclass =\n");
+  fprintf (stream, "{\n");
+  fprintf (stream, "  {");
+  if (t.level1_size > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+       fprintf (stream, ",");
+    }
+  if (t.level1_size > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level3_offset) / sizeof (uint8_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level3_size << t.p > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level3_size << t.p; i++)
+    {
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " %3d", ((uint8_t *) (t.result + level3_offset))[i]);
+      if (i+1 < t.level3_size << t.p)
+       fprintf (stream, ",");
+    }
+  if (t.level3_size << t.p > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* Bidirectional category.  */
+/* See Unicode 3.0 book, section 4.3,
+       UCD.html.  */
+
+enum
+{
+  UC_BIDI_L,   /* Left-to-Right */
+  UC_BIDI_LRE, /* Left-to-Right Embedding */
+  UC_BIDI_LRO, /* Left-to-Right Override */
+  UC_BIDI_R,   /* Right-to-Left */
+  UC_BIDI_AL,  /* Right-to-Left Arabic */
+  UC_BIDI_RLE, /* Right-to-Left Embedding */
+  UC_BIDI_RLO, /* Right-to-Left Override */
+  UC_BIDI_PDF, /* Pop Directional Format */
+  UC_BIDI_EN,  /* European Number */
+  UC_BIDI_ES,  /* European Number Separator */
+  UC_BIDI_ET,  /* European Number Terminator */
+  UC_BIDI_AN,  /* Arabic Number */
+  UC_BIDI_CS,  /* Common Number Separator */
+  UC_BIDI_NSM, /* Non-Spacing Mark */
+  UC_BIDI_BN,  /* Boundary Neutral */
+  UC_BIDI_B,   /* Paragraph Separator */
+  UC_BIDI_S,   /* Segment Separator */
+  UC_BIDI_WS,  /* Whitespace */
+  UC_BIDI_ON   /* Other Neutral */
+};
+
+static int
+bidi_category_byname (const char *category_name)
+{
+  switch (category_name[0])
+    {
+    case 'A':
+      switch (category_name[1])
+       {
+       case 'L':
+         if (category_name[2] == '\0')
+           return UC_BIDI_AL;
+         break;
+       case 'N':
+         if (category_name[2] == '\0')
+           return UC_BIDI_AN;
+         break;
+       }
+      break;
+    case 'B':
+      switch (category_name[1])
+       {
+       case '\0':
+         return UC_BIDI_B;
+       case 'N':
+         if (category_name[2] == '\0')
+           return UC_BIDI_BN;
+         break;
+       }
+      break;
+    case 'C':
+      switch (category_name[1])
+       {
+       case 'S':
+         if (category_name[2] == '\0')
+           return UC_BIDI_CS;
+         break;
+       }
+      break;
+    case 'E':
+      switch (category_name[1])
+       {
+       case 'N':
+         if (category_name[2] == '\0')
+           return UC_BIDI_EN;
+         break;
+       case 'S':
+         if (category_name[2] == '\0')
+           return UC_BIDI_ES;
+         break;
+       case 'T':
+         if (category_name[2] == '\0')
+           return UC_BIDI_ET;
+         break;
+       }
+      break;
+    case 'L':
+      switch (category_name[1])
+       {
+       case '\0':
+         return UC_BIDI_L;
+       case 'R':
+         switch (category_name[2])
+           {
+           case 'E':
+             if (category_name[3] == '\0')
+               return UC_BIDI_LRE;
+             break;
+           case 'O':
+             if (category_name[3] == '\0')
+               return UC_BIDI_LRO;
+             break;
+           }
+         break;
+       }
+      break;
+    case 'N':
+      switch (category_name[1])
+       {
+       case 'S':
+         switch (category_name[2])
+           {
+           case 'M':
+             if (category_name[3] == '\0')
+               return UC_BIDI_NSM;
+             break;
+           }
+         break;
+       }
+      break;
+    case 'O':
+      switch (category_name[1])
+       {
+       case 'N':
+         if (category_name[2] == '\0')
+           return UC_BIDI_ON;
+         break;
+       }
+      break;
+    case 'P':
+      switch (category_name[1])
+       {
+       case 'D':
+         switch (category_name[2])
+           {
+           case 'F':
+             if (category_name[3] == '\0')
+               return UC_BIDI_PDF;
+             break;
+           }
+         break;
+       }
+      break;
+    case 'R':
+      switch (category_name[1])
+       {
+       case '\0':
+         return UC_BIDI_R;
+       case 'L':
+         switch (category_name[2])
+           {
+           case 'E':
+             if (category_name[3] == '\0')
+               return UC_BIDI_RLE;
+             break;
+           case 'O':
+             if (category_name[3] == '\0')
+               return UC_BIDI_RLO;
+             break;
+           }
+         break;
+       }
+      break;
+    case 'S':
+      if (category_name[1] == '\0')
+       return UC_BIDI_S;
+      break;
+    case 'W':
+      switch (category_name[1])
+       {
+       case 'S':
+         if (category_name[2] == '\0')
+           return UC_BIDI_WS;
+         break;
+       }
+      break;
+    }
+  /* Invalid bidi category name.  */
+  abort ();
+}
+
+static int
+get_bidi_category (unsigned int ch)
+{
+  if (unicode_attributes[ch].name != NULL)
+    return bidi_category_byname (unicode_attributes[ch].bidi);
+  else
+    {
+      /* The bidi category of unassigned characters depends on the range.
+        See UTR #9 and DerivedBidiClass.txt.  */
+      if ((ch >= 0x0590 && ch <= 0x05FF)
+         || (ch >= 0x07FB && ch <= 0x08FF)
+         || (ch >= 0xFB37 && ch <= 0xFB45)
+         || (ch >= 0x10800 && ch <= 0x10FFF))
+       return UC_BIDI_R;
+      else if ((ch >= 0x0600 && ch <= 0x07BF)
+              || (ch >= 0x2064 && ch <= 0x2069)
+              || (ch >= 0xFBB2 && ch <= 0xFDCF)
+              || (ch >= 0xFDFE && ch <= 0xFEFE))
+       return UC_BIDI_AL;
+      else if ((ch >= 0xFDD0 && ch <= 0xFDEF)
+              || (ch >= 0xFFF0 && ch <= 0xFFFF)
+              || (ch & 0xFFFF) == 0xFFFE
+              || (ch & 0xFFFF) == 0xFFFF
+              || (ch >= 0xE0000 && ch <= 0xE0FFF))
+       return UC_BIDI_BN;
+      else
+       return UC_BIDI_L;
+    }
+}
+
+/* Construction of sparse 3-level tables.  */
+#define TABLE bidi_category_table
+#define ELEMENT uint8_t
+#define DEFAULT UC_BIDI_L
+#define xmalloc malloc
+#define xrealloc realloc
+#include "3level.h"
+
+/* Output the per-character bidi category table.  */
+static void
+output_bidi_category (const char *filename, const char *version)
+{
+  FILE *stream;
+  unsigned int ch, i;
+  struct bidi_category_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+  uint16_t *level3_packed;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Bidi categories of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  t.p = 7;
+  t.q = 9;
+  bidi_category_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      int value = get_bidi_category (ch);
+
+      bidi_category_table_add (&t, ch, value);
+    }
+
+  bidi_category_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    fprintf (stream, "#define bidi_category_header_%d %d\n", i,
+            ((uint32_t *) t.result)[i]);
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    unsigned short level3[%d * %d + 1];\n", t.level3_size,
+          (1 << t.p) * 5 / 16);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "u_bidi_category =\n");
+  fprintf (stream, "{\n");
+  fprintf (stream, "  {");
+  if (t.level1_size > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+       fprintf (stream, ",");
+    }
+  if (t.level1_size > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level3_offset) / sizeof (uint8_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  /* Pack the level3 array.  Each entry needs 5 bits only.  Use 16-bit units,
+     not 32-bit units, in order to make the lookup function easier.  */
+  level3_packed =
+    (uint16_t *)
+    calloc ((t.level3_size << t.p) * 5 / 16 + 1, sizeof (uint16_t));
+  for (i = 0; i < t.level3_size << t.p; i++)
+    {
+      unsigned int j = (i * 5) / 16;
+      unsigned int k = (i * 5) % 16;
+      uint32_t value = ((unsigned char *) (t.result + level3_offset))[i];
+      value = level3_packed[j] | (level3_packed[j+1] << 16) | (value << k);
+      level3_packed[j] = value & 0xffff;
+      level3_packed[j+1] = value >> 16;
+    }
+  fprintf (stream, "  {");
+  if ((t.level3_size << t.p) * 5 / 16 + 1 > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < (t.level3_size << t.p) * 5 / 16 + 1; i++)
+    {
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " 0x%04x", level3_packed[i]);
+      if (i+1 < (t.level3_size << t.p) * 5 / 16 + 1)
+       fprintf (stream, ",");
+    }
+  if ((t.level3_size << t.p) * 5 / 16 + 1 > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  free (level3_packed);
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* Decimal digit value.  */
+/* See Unicode 3.0 book, section 4.6.  */
+
+static int
+get_decdigit_value (unsigned int ch)
+{
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].decdigit[0] != '\0')
+    return atoi (unicode_attributes[ch].decdigit);
+  return -1;
+}
+
+/* Construction of sparse 3-level tables.  */
+#define TABLE decdigit_table
+#define ELEMENT uint8_t
+#define DEFAULT 0
+#define xmalloc malloc
+#define xrealloc realloc
+#include "3level.h"
+
+/* Output the unit test for the per-character decimal digit value table.  */
+static void
+output_decimal_digit_test (const char *filename, const char *version)
+{
+  FILE *stream;
+  bool need_comma;
+  unsigned int ch;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Decimal digit values of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  need_comma = false;
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      int value = get_decdigit_value (ch);
+
+      if (!(value >= -1 && value < 10))
+       abort ();
+
+      if (value >= 0)
+       {
+         if (need_comma)
+           fprintf (stream, ",\n");
+         fprintf (stream, "    { 0x%04X, %d }", ch, value);
+         need_comma = true;
+       }
+    }
+  if (need_comma)
+    fprintf (stream, "\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* Output the per-character decimal digit value table.  */
+static void
+output_decimal_digit (const char *filename, const char *version)
+{
+  FILE *stream;
+  unsigned int ch, i;
+  struct decdigit_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Decimal digit values of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  t.p = 7;
+  t.q = 9;
+  decdigit_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      int value = 1 + get_decdigit_value (ch);
+
+      if (!(value >= 0 && value <= 10))
+       abort ();
+
+      decdigit_table_add (&t, ch, value);
+    }
+
+  decdigit_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    fprintf (stream, "#define decdigit_header_%d %d\n", i,
+            ((uint32_t *) t.result)[i]);
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    unsigned char level3[%d << %d];\n", t.level3_size,
+          t.p - 1);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "u_decdigit =\n");
+  fprintf (stream, "{\n");
+  fprintf (stream, "  {");
+  if (t.level1_size > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+       fprintf (stream, ",");
+    }
+  if (t.level1_size > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level3_offset) / sizeof (uint8_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  /* Pack the level3 array.  Each entry needs 4 bits only.  */
+  fprintf (stream, "  {");
+  if (t.level3_size << (t.p - 1) > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level3_size << (t.p - 1); i++)
+    {
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " 0x%02x",
+              ((uint8_t *) (t.result + level3_offset))[2*i]
+              + (((uint8_t *) (t.result + level3_offset))[2*i+1] << 4));
+      if (i+1 < t.level3_size << (t.p - 1))
+       fprintf (stream, ",");
+    }
+  if (t.level3_size << (t.p - 1) > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* Digit value.  */
+/* See Unicode 3.0 book, section 4.6.  */
+
+static int
+get_digit_value (unsigned int ch)
+{
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].digit[0] != '\0')
+    return atoi (unicode_attributes[ch].digit);
+  return -1;
+}
+
+/* Output the unit test for the per-character digit value table.  */
+static void
+output_digit_test (const char *filename, const char *version)
+{
+  FILE *stream;
+  bool need_comma;
+  unsigned int ch;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Digit values of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  need_comma = false;
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      int value = get_digit_value (ch);
+
+      if (!(value >= -1 && value < 10))
+       abort ();
+
+      if (value >= 0)
+       {
+         if (need_comma)
+           fprintf (stream, ",\n");
+         fprintf (stream, "    { 0x%04X, %d }", ch, value);
+         need_comma = true;
+       }
+    }
+  if (need_comma)
+    fprintf (stream, "\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* Output the per-character digit value table.  */
+static void
+output_digit (const char *filename, const char *version)
+{
+  FILE *stream;
+  unsigned int ch, i;
+  struct decdigit_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Digit values of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  t.p = 7;
+  t.q = 9;
+  decdigit_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      int value = 1 + get_digit_value (ch);
+
+      if (!(value >= 0 && value <= 10))
+       abort ();
+
+      decdigit_table_add (&t, ch, value);
+    }
+
+  decdigit_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    fprintf (stream, "#define digit_header_%d %d\n", i,
+            ((uint32_t *) t.result)[i]);
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    unsigned char level3[%d << %d];\n", t.level3_size,
+          t.p - 1);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "u_digit =\n");
+  fprintf (stream, "{\n");
+  fprintf (stream, "  {");
+  if (t.level1_size > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+       fprintf (stream, ",");
+    }
+  if (t.level1_size > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level3_offset) / sizeof (uint8_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  /* Pack the level3 array.  Each entry needs 4 bits only.  */
+  fprintf (stream, "  {");
+  if (t.level3_size << (t.p - 1) > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level3_size << (t.p - 1); i++)
+    {
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " 0x%02x",
+              ((uint8_t *) (t.result + level3_offset))[2*i]
+              + (((uint8_t *) (t.result + level3_offset))[2*i+1] << 4));
+      if (i+1 < t.level3_size << (t.p - 1))
+       fprintf (stream, ",");
+    }
+  if (t.level3_size << (t.p - 1) > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* Numeric value.  */
+/* See Unicode 3.0 book, section 4.6.  */
+
+typedef struct { int numerator; int denominator; } uc_fraction_t;
+
+static uc_fraction_t
+get_numeric_value (unsigned int ch)
+{
+  uc_fraction_t value;
+
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].numeric[0] != '\0')
+    {
+      const char *str = unicode_attributes[ch].numeric;
+      /* str is of the form "integer" or "integer/posinteger".  */
+      value.numerator = atoi (str);
+      if (strchr (str, '/') != NULL)
+       value.denominator = atoi (strchr (str, '/') + 1);
+      else
+       value.denominator = 1;
+    }
+  else
+    {
+      value.numerator = 0;
+      value.denominator = 0;
+    }
+  return value;
+}
+
+/* Output the unit test for the per-character numeric value table.  */
+static void
+output_numeric_test (const char *filename, const char *version)
+{
+  FILE *stream;
+  bool need_comma;
+  unsigned int ch;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Numeric values of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  need_comma = false;
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      uc_fraction_t value = get_numeric_value (ch);
+
+      if (value.numerator != 0 || value.denominator != 0)
+       {
+         if (need_comma)
+           fprintf (stream, ",\n");
+         fprintf (stream, "    { 0x%04X, %d, %d }",
+                  ch, value.numerator, value.denominator);
+         need_comma = true;
+       }
+    }
+  if (need_comma)
+    fprintf (stream, "\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* Construction of sparse 3-level tables.  */
+#define TABLE numeric_table
+#define ELEMENT uint8_t
+#define DEFAULT 0
+#define xmalloc malloc
+#define xrealloc realloc
+#include "3level.h"
+
+/* Output the per-character numeric value table.  */
+static void
+output_numeric (const char *filename, const char *version)
+{
+  FILE *stream;
+  uc_fraction_t fractions[128];
+  unsigned int nfractions;
+  unsigned int ch, i, j;
+  struct numeric_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+  uint16_t *level3_packed;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Numeric values of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  /* Create table of occurring fractions.  */
+  nfractions = 0;
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      uc_fraction_t value = get_numeric_value (ch);
+
+      for (i = 0; i < nfractions; i++)
+       if (value.numerator == fractions[i].numerator
+           && value.denominator == fractions[i].denominator)
+         break;
+      if (i == nfractions)
+       {
+         if (nfractions == 128)
+           abort ();
+         for (i = 0; i < nfractions; i++)
+           if (value.denominator < fractions[i].denominator
+               || (value.denominator == fractions[i].denominator
+                   && value.numerator < fractions[i].numerator))
+             break;
+         for (j = nfractions; j > i; j--)
+           fractions[j] = fractions[j - 1];
+         fractions[i] = value;
+         nfractions++;
+       }
+    }
+
+  fprintf (stream, "static const uc_fraction_t u_numeric_values[%d] =\n",
+          nfractions);
+  fprintf (stream, "{\n");
+  for (i = 0; i < nfractions; i++)
+    {
+      fprintf (stream, "  { %d, %d }", fractions[i].numerator,
+              fractions[i].denominator);
+      if (i+1 < nfractions)
+       fprintf (stream, ",");
+      fprintf (stream, "\n");
+    }
+  fprintf (stream, "};\n");
+
+  t.p = 7;
+  t.q = 9;
+  numeric_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      uc_fraction_t value = get_numeric_value (ch);
+
+      for (i = 0; i < nfractions; i++)
+       if (value.numerator == fractions[i].numerator
+           && value.denominator == fractions[i].denominator)
+         break;
+      if (i == nfractions)
+       abort ();
+
+      numeric_table_add (&t, ch, i);
+    }
+
+  numeric_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    fprintf (stream, "#define numeric_header_%d %d\n", i,
+            ((uint32_t *) t.result)[i]);
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    unsigned short level3[%d * %d + 1];\n", t.level3_size,
+          (1 << t.p) * 7 / 16);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "u_numeric =\n");
+  fprintf (stream, "{\n");
+  fprintf (stream, "  {");
+  if (t.level1_size > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+       fprintf (stream, ",");
+    }
+  if (t.level1_size > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level3_offset) / sizeof (uint8_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  /* Pack the level3 array.  Each entry needs 7 bits only.  Use 16-bit units,
+     not 32-bit units, in order to make the lookup function easier.  */
+  level3_packed =
+    (uint16_t *)
+    calloc ((t.level3_size << t.p) * 7 / 16 + 1, sizeof (uint16_t));
+  for (i = 0; i < t.level3_size << t.p; i++)
+    {
+      unsigned int j = (i * 7) / 16;
+      unsigned int k = (i * 7) % 16;
+      uint32_t value = ((unsigned char *) (t.result + level3_offset))[i];
+      value = level3_packed[j] | (level3_packed[j+1] << 16) | (value << k);
+      level3_packed[j] = value & 0xffff;
+      level3_packed[j+1] = value >> 16;
+    }
+  fprintf (stream, "  {");
+  if ((t.level3_size << t.p) * 7 / 16 + 1 > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < (t.level3_size << t.p) * 7 / 16 + 1; i++)
+    {
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " 0x%04x", level3_packed[i]);
+      if (i+1 < (t.level3_size << t.p) * 7 / 16 + 1)
+       fprintf (stream, ",");
+    }
+  if ((t.level3_size << t.p) * 7 / 16 + 1 > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  free (level3_packed);
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* Mirrored.  */
+/* See Unicode 3.0 book, section 4.7,
+       UAX #9.  */
+
+/* List of mirrored character pairs.  This is a subset of the characters
+   having the BidiMirrored property.  */
+static unsigned int mirror_pairs[][2] =
+{
+  { 0x0028, 0x0029 },
+  { 0x003C, 0x003E },
+  { 0x005B, 0x005D },
+  { 0x007B, 0x007D },
+  { 0x00AB, 0x00BB },
+  { 0x2039, 0x203A },
+  { 0x2045, 0x2046 },
+  { 0x207D, 0x207E },
+  { 0x208D, 0x208E },
+  { 0x2208, 0x220B },
+  { 0x220A, 0x220D },
+  { 0x223C, 0x223D },
+  { 0x2243, 0x22CD },
+  { 0x2252, 0x2253 },
+  { 0x2254, 0x2255 },
+  { 0x2264, 0x2265 },
+  { 0x2266, 0x2267 },
+  { 0x226A, 0x226B },
+  { 0x2276, 0x2277 },
+  { 0x2278, 0x2279 },
+  { 0x227A, 0x227B },
+  { 0x227C, 0x227D },
+  { 0x2282, 0x2283 },
+  { 0x2286, 0x2287 },
+  { 0x228F, 0x2290 },
+  { 0x2291, 0x2292 },
+  { 0x22A2, 0x22A3 },
+  { 0x22B0, 0x22B1 },
+  { 0x22B2, 0x22B3 },
+  { 0x22B4, 0x22B5 },
+  { 0x22B6, 0x22B7 },
+  { 0x22C9, 0x22CA },
+  { 0x22CB, 0x22CC },
+  { 0x22D0, 0x22D1 },
+  { 0x22D6, 0x22D7 },
+  { 0x22D8, 0x22D9 },
+  { 0x22DA, 0x22DB },
+  { 0x22DC, 0x22DD },
+  { 0x22DE, 0x22DF },
+  { 0x22F0, 0x22F1 },
+  { 0x2308, 0x2309 },
+  { 0x230A, 0x230B },
+  { 0x2329, 0x232A },
+  { 0x3008, 0x3009 },
+  { 0x300A, 0x300B },
+  { 0x300C, 0x300D },
+  { 0x300E, 0x300F },
+  { 0x3010, 0x3011 },
+  { 0x3014, 0x3015 },
+  { 0x3016, 0x3017 },
+  { 0x3018, 0x3019 },
+  { 0x301A, 0x301B }
+};
+
+static int
+get_mirror_value (unsigned int ch)
+{
+  bool mirrored;
+  unsigned int mirror_char;
+  unsigned int i;
+
+  mirrored = (unicode_attributes[ch].name != NULL
+             && unicode_attributes[ch].mirrored);
+  mirror_char = 0xfffd;
+  for (i = 0; i < sizeof (mirror_pairs) / sizeof (mirror_pairs[0]); i++)
+    if (ch == mirror_pairs[i][0])
+      {
+       mirror_char = mirror_pairs[i][1];
+       break;
+      }
+    else if (ch == mirror_pairs[i][1])
+      {
+       mirror_char = mirror_pairs[i][0];
+       break;
+      }
+  if (mirrored)
+    return (int) mirror_char - (int) ch;
+  else
+    {
+      if (mirror_char != 0xfffd)
+       abort ();
+      return 0;
+    }
+}
+
+/* Construction of sparse 3-level tables.  */
+#define TABLE mirror_table
+#define ELEMENT int32_t
+#define DEFAULT 0
+#define xmalloc malloc
+#define xrealloc realloc
+#include "3level.h"
+
+/* Output the per-character mirror table.  */
+static void
+output_mirror (const char *filename, const char *version)
+{
+  FILE *stream;
+  unsigned int ch, i;
+  struct mirror_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Mirrored Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  t.p = 7;
+  t.q = 9;
+  mirror_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      int value = get_mirror_value (ch);
+
+      mirror_table_add (&t, ch, value);
+    }
+
+  mirror_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    fprintf (stream, "#define mirror_header_%d %d\n", i,
+            ((uint32_t *) t.result)[i]);
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    int level3[%d << %d];\n", t.level3_size, t.p);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "u_mirror =\n");
+  fprintf (stream, "{\n");
+  fprintf (stream, "  {");
+  if (t.level1_size > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+       fprintf (stream, ",");
+    }
+  if (t.level1_size > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level3_offset) / sizeof (int32_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level3_size << t.p > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level3_size << t.p; i++)
+    {
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " %5d", ((int32_t *) (t.result + level3_offset))[i]);
+      if (i+1 < t.level3_size << t.p)
+       fprintf (stream, ",");
+    }
+  if (t.level3_size << t.p > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* Properties.  */
+
+/* Reading PropList.txt and DerivedCoreProperties.txt.  */
+enum
+{
+  /* PropList.txt */
+  PROP_WHITE_SPACE,
+  PROP_BIDI_CONTROL,
+  PROP_JOIN_CONTROL,
+  PROP_DASH,
+  PROP_HYPHEN,
+  PROP_QUOTATION_MARK,
+  PROP_TERMINAL_PUNCTUATION,
+  PROP_OTHER_MATH,
+  PROP_HEX_DIGIT,
+  PROP_ASCII_HEX_DIGIT,
+  PROP_OTHER_ALPHABETIC,
+  PROP_IDEOGRAPHIC,
+  PROP_DIACRITIC,
+  PROP_EXTENDER,
+  PROP_OTHER_LOWERCASE,
+  PROP_OTHER_UPPERCASE,
+  PROP_NONCHARACTER_CODE_POINT,
+  PROP_OTHER_GRAPHEME_EXTEND,
+  PROP_IDS_BINARY_OPERATOR,
+  PROP_IDS_TRINARY_OPERATOR,
+  PROP_RADICAL,
+  PROP_UNIFIED_IDEOGRAPH,
+  PROP_OTHER_DEFAULT_IGNORABLE_CODE_POINT,
+  PROP_DEPRECATED,
+  PROP_SOFT_DOTTED,
+  PROP_LOGICAL_ORDER_EXCEPTION,
+  PROP_OTHER_ID_START,
+  PROP_OTHER_ID_CONTINUE,
+  PROP_STERM,
+  PROP_VARIATION_SELECTOR,
+  PROP_PATTERN_WHITE_SPACE,
+  PROP_PATTERN_SYNTAX,
+  /* DerivedCoreProperties.txt */
+  PROP_MATH,
+  PROP_ALPHABETIC,
+  PROP_LOWERCASE,
+  PROP_UPPERCASE,
+  PROP_ID_START,
+  PROP_ID_CONTINUE,
+  PROP_XID_START,
+  PROP_XID_CONTINUE,
+  PROP_DEFAULT_IGNORABLE_CODE_POINT,
+  PROP_GRAPHEME_EXTEND,
+  PROP_GRAPHEME_BASE,
+  PROP_GRAPHEME_LINK
+};
+unsigned long long unicode_properties[0x110000];
+
+static void
+clear_properties (void)
+{
+  unsigned int i;
+
+  for (i = 0; i < 0x110000; i++)
+    unicode_properties[i] = 0;
+}
+
+/* Stores in unicode_properties[] the properties from the
+   PropList.txt or DerivedCoreProperties.txt file.  */
+static void
+fill_properties (const char *proplist_filename)
+{
+  unsigned int i;
+  FILE *stream;
+
+  stream = fopen (proplist_filename, "r");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "error during fopen of '%s'\n", proplist_filename);
+      exit (1);
+    }
+
+  for (;;)
+    {
+      char buf[200+1];
+      unsigned int i1, i2;
+      char padding[200+1];
+      char propname[200+1];
+      unsigned int propvalue;
+
+      if (fscanf (stream, "%200[^\n]\n", buf) < 1)
+       break;
+
+      if (buf[0] == '\0' || buf[0] == '#')
+       continue;
+
+      if (sscanf (buf, "%X..%X%[ ;]%[^ ]", &i1, &i2, padding, propname) != 4)
+       {
+         if (sscanf (buf, "%X%[ ;]%[^ ]", &i1, padding, propname) != 3)
+           {
+             fprintf (stderr, "parse error in '%s'\n", proplist_filename);
+             exit (1);
+           }
+         i2 = i1;
+       }
+#define PROP(name,value) \
+      if (strcmp (propname, name) == 0) propvalue = value; else
+      /* PropList.txt */
+      PROP ("White_Space", PROP_WHITE_SPACE)
+      PROP ("Bidi_Control", PROP_BIDI_CONTROL)
+      PROP ("Join_Control", PROP_JOIN_CONTROL)
+      PROP ("Dash", PROP_DASH)
+      PROP ("Hyphen", PROP_HYPHEN)
+      PROP ("Quotation_Mark", PROP_QUOTATION_MARK)
+      PROP ("Terminal_Punctuation", PROP_TERMINAL_PUNCTUATION)
+      PROP ("Other_Math", PROP_OTHER_MATH)
+      PROP ("Hex_Digit", PROP_HEX_DIGIT)
+      PROP ("ASCII_Hex_Digit", PROP_ASCII_HEX_DIGIT)
+      PROP ("Other_Alphabetic", PROP_OTHER_ALPHABETIC)
+      PROP ("Ideographic", PROP_IDEOGRAPHIC)
+      PROP ("Diacritic", PROP_DIACRITIC)
+      PROP ("Extender", PROP_EXTENDER)
+      PROP ("Other_Lowercase", PROP_OTHER_LOWERCASE)
+      PROP ("Other_Uppercase", PROP_OTHER_UPPERCASE)
+      PROP ("Noncharacter_Code_Point", PROP_NONCHARACTER_CODE_POINT)
+      PROP ("Other_Grapheme_Extend", PROP_OTHER_GRAPHEME_EXTEND)
+      PROP ("IDS_Binary_Operator", PROP_IDS_BINARY_OPERATOR)
+      PROP ("IDS_Trinary_Operator", PROP_IDS_TRINARY_OPERATOR)
+      PROP ("Radical", PROP_RADICAL)
+      PROP ("Unified_Ideograph", PROP_UNIFIED_IDEOGRAPH)
+      PROP ("Other_Default_Ignorable_Code_Point", PROP_OTHER_DEFAULT_IGNORABLE_CODE_POINT)
+      PROP ("Deprecated", PROP_DEPRECATED)
+      PROP ("Soft_Dotted", PROP_SOFT_DOTTED)
+      PROP ("Logical_Order_Exception", PROP_LOGICAL_ORDER_EXCEPTION)
+      PROP ("Other_ID_Start", PROP_OTHER_ID_START)
+      PROP ("Other_ID_Continue", PROP_OTHER_ID_CONTINUE)
+      PROP ("STerm", PROP_STERM)
+      PROP ("Variation_Selector", PROP_VARIATION_SELECTOR)
+      PROP ("Pattern_White_Space", PROP_PATTERN_WHITE_SPACE)
+      PROP ("Pattern_Syntax", PROP_PATTERN_SYNTAX)
+      /* DerivedCoreProperties.txt */
+      PROP ("Math", PROP_MATH)
+      PROP ("Alphabetic", PROP_ALPHABETIC)
+      PROP ("Lowercase", PROP_LOWERCASE)
+      PROP ("Uppercase", PROP_UPPERCASE)
+      PROP ("ID_Start", PROP_ID_START)
+      PROP ("ID_Continue", PROP_ID_CONTINUE)
+      PROP ("XID_Start", PROP_XID_START)
+      PROP ("XID_Continue", PROP_XID_CONTINUE)
+      PROP ("Default_Ignorable_Code_Point", PROP_DEFAULT_IGNORABLE_CODE_POINT)
+      PROP ("Grapheme_Extend", PROP_GRAPHEME_EXTEND)
+      PROP ("Grapheme_Base", PROP_GRAPHEME_BASE)
+      PROP ("Grapheme_Link", PROP_GRAPHEME_LINK)
+#undef PROP
+       {
+         fprintf (stderr, "unknown property named '%s' in '%s'\n", propname,
+                  proplist_filename);
+         exit (1);
+       }
+      if (!(i1 <= i2 && i2 < 0x110000))
+       abort ();
+
+      for (i = i1; i <= i2; i++)
+       unicode_properties[i] |= 1ULL << propvalue;
+    }
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error reading from '%s'\n", proplist_filename);
+      exit (1);
+    }
+}
+
+/* Stores in array the given property from the Unicode 3.0 PropList.txt
+   file.  */
+static void
+fill_property30 (char array[0x110000], const char *proplist_filename, const char *property_name)
+{
+  unsigned int i;
+  FILE *stream;
+  char buf[100+1];
+
+  for (i = 0; i < 0x110000; i++)
+    array[i] = 0;
+
+  stream = fopen (proplist_filename, "r");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "error during fopen of '%s'\n", proplist_filename);
+      exit (1);
+    }
+
+  /* Search for the "Property dump for: ..." line.  */
+  do
+    {
+      if (fscanf (stream, "%100[^\n]\n", buf) < 1)
+       {
+         fprintf (stderr, "no property found in '%s'\n", proplist_filename);
+         exit (1);
+       }
+    }
+  while (strstr (buf, property_name) == NULL);
+
+  for (;;)
+    {
+      unsigned int i1, i2;
+
+      if (fscanf (stream, "%100[^\n]\n", buf) < 1)
+       break;
+      if (buf[0] == '*')
+       break;
+      if (strlen (buf) >= 10 && buf[4] == '.' && buf[5] == '.')
+       {
+         if (sscanf (buf, "%4X..%4X", &i1, &i2) < 2)
+           {
+             fprintf (stderr, "parse error in property in '%s'\n",
+                      proplist_filename);
+             exit (1);
+           }
+       }
+      else if (strlen (buf) >= 4)
+       {
+         if (sscanf (buf, "%4X", &i1) < 1)
+           {
+             fprintf (stderr, "parse error in property in '%s'\n",
+                      proplist_filename);
+             exit (1);
+           }
+         i2 = i1;
+       }
+      else
+       {
+         fprintf (stderr, "parse error in property in '%s'\n",
+                  proplist_filename);
+         exit (1);
+       }
+      if (!(i1 <= i2 && i2 < 0x110000))
+       abort ();
+      for (i = i1; i <= i2; i++)
+       array[i] = 1;
+    }
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error reading from '%s'\n", proplist_filename);
+      exit (1);
+    }
+}
+
+/* Properties from Unicode 3.0 PropList.txt file.  */
+
+/* The paired punctuation property from the PropList.txt file.  */
+char unicode_pairedpunctuation[0x110000];
+
+/* The left of pair property from the PropList.txt file.  */
+char unicode_leftofpair[0x110000];
+
+static void
+fill_properties30 (const char *proplist30_filename)
+{
+  fill_property30 (unicode_pairedpunctuation, proplist30_filename, "(Paired Punctuation)");
+  fill_property30 (unicode_leftofpair, proplist30_filename, "(Left of Pair)");
+}
+
+/* ------------------------------------------------------------------------- */
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_white_space (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_WHITE_SPACE)) != 0);
+}
+
+/* See Unicode 3.0 book, section 4.10,
+       PropList.txt, UCD.html,
+       DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_alphabetic (unsigned int ch)
+{
+  bool result1 =
+    is_category_L (ch)
+    || ((unicode_properties[ch] & (1ULL << PROP_OTHER_ALPHABETIC)) != 0)
+    /* For some reason, the following are listed as having property
+       Alphabetic but not as having property Other_Alphabetic.  */
+    || (ch >= 0x16EE && ch <= 0x16F0) /* RUNIC SYMBOLS */
+    || (ch >= 0x2160 && ch <= 0x2182) /* ROMAN NUMERALS */
+    || (ch >= 0x24D0 && ch <= 0x24E9) /* CIRCLED LATIN SMALL LETTER */
+    || (ch == 0x3007) /* IDEOGRAPHIC NUMBER ZERO */
+    || (ch >= 0x3021 && ch <= 0x3029) /* HANGZHOU NUMERAL */
+    || (ch >= 0x3038 && ch <= 0x303A) /* HANGZHOU NUMERAL */
+    || (ch >= 0x10140 && ch <= 0x10174) /* GREEK ACROPHONICS */
+    || (ch == 0x10341) /* GOTHIC LETTER NINETY */
+    || (ch == 0x1034A) /* GOTHIC LETTER NINE HUNDRED */
+    || (ch >= 0x103D1 && ch <= 0x103D5) /* OLD PERSIAN NUMBERS */
+    || (ch >= 0x12400 && ch <= 0x12462); /* CUNEIFORM NUMERIC SIGNS */
+  bool result2 =
+    ((unicode_properties[ch] & (1ULL << PROP_ALPHABETIC)) != 0);
+
+  if (result1 != result2)
+    abort ();
+  return result1;
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_other_alphabetic (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_OTHER_ALPHABETIC)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_not_a_character (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_NONCHARACTER_CODE_POINT)) != 0);
+}
+
+/* See PropList.txt, UCD.html,
+       DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_default_ignorable_code_point (unsigned int ch)
+{
+  bool result1 =
+    (is_category_Cf (ch)
+     && !(ch >= 0xFFF9 && ch <= 0xFFFB)) /* Annotations */
+    || ((is_category_Cc (ch) || is_category_Cs (ch))
+       && !is_property_white_space (ch))
+    || ((unicode_properties[ch] & (1ULL << PROP_OTHER_DEFAULT_IGNORABLE_CODE_POINT)) != 0)
+    || ((unicode_properties[ch] & (1ULL << PROP_VARIATION_SELECTOR)) != 0)
+    || is_property_not_a_character (ch);
+  bool result2 =
+    ((unicode_properties[ch] & (1ULL << PROP_DEFAULT_IGNORABLE_CODE_POINT)) != 0);
+
+  if (result1 != result2)
+    abort ();
+  return result1;
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_other_default_ignorable_code_point (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_OTHER_DEFAULT_IGNORABLE_CODE_POINT)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_deprecated (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_DEPRECATED)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_logical_order_exception (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_LOGICAL_ORDER_EXCEPTION)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_variation_selector (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_VARIATION_SELECTOR)) != 0);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_private_use (unsigned int ch)
+{
+  /* Determined through "grep 'Private Use,' UnicodeData-3.1.0.txt".  */
+  return (ch >= 0xE000 && ch <= 0xF8FF)
+        || (ch >= 0xF0000 && ch <= 0xFFFFD)
+        || (ch >= 0x100000 && ch <= 0x10FFFD);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_unassigned_code_value (unsigned int ch)
+{
+  return (is_category_Cn (ch) && !is_property_not_a_character (ch));
+}
+
+/* See PropList.txt, UCD.html,
+       DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_uppercase (unsigned int ch)
+{
+  bool result1 =
+    is_category_Lu (ch)
+    || ((unicode_properties[ch] & (1ULL << PROP_OTHER_UPPERCASE)) != 0);
+  bool result2 =
+    ((unicode_properties[ch] & (1ULL << PROP_UPPERCASE)) != 0);
+
+  if (result1 != result2)
+    abort ();
+  return result1;
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_other_uppercase (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_OTHER_UPPERCASE)) != 0);
+}
+
+/* See PropList.txt, UCD.html,
+       DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_lowercase (unsigned int ch)
+{
+  bool result1 =
+    is_category_Ll (ch)
+    || ((unicode_properties[ch] & (1ULL << PROP_OTHER_LOWERCASE)) != 0);
+  bool result2 =
+    ((unicode_properties[ch] & (1ULL << PROP_LOWERCASE)) != 0);
+
+  if (result1 != result2)
+    abort ();
+  return result1;
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_other_lowercase (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_OTHER_LOWERCASE)) != 0);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_titlecase (unsigned int ch)
+{
+  return is_category_Lt (ch);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_soft_dotted (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_SOFT_DOTTED)) != 0);
+}
+
+/* See DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_id_start (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_ID_START)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_other_id_start (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_OTHER_ID_START)) != 0);
+}
+
+/* See DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_id_continue (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_ID_CONTINUE)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_other_id_continue (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_OTHER_ID_CONTINUE)) != 0);
+}
+
+/* See DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_xid_start (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_XID_START)) != 0);
+}
+
+/* See DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_xid_continue (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_XID_CONTINUE)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_pattern_white_space (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_PATTERN_WHITE_SPACE)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_pattern_syntax (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_PATTERN_SYNTAX)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_join_control (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_JOIN_CONTROL)) != 0);
+}
+
+/* See DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_grapheme_base (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_GRAPHEME_BASE)) != 0);
+}
+
+/* See DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_grapheme_extend (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_GRAPHEME_EXTEND)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_other_grapheme_extend (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_OTHER_GRAPHEME_EXTEND)) != 0);
+}
+
+/* See DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_grapheme_link (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_GRAPHEME_LINK)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_bidi_control (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_BIDI_CONTROL)) != 0);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_left_to_right (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_L);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_hebrew_right_to_left (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_R);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_arabic_right_to_left (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_AL);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_european_digit (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_EN);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_eur_num_separator (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_ES);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_eur_num_terminator (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_ET);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_arabic_digit (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_AN);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_common_separator (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_CS);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_block_separator (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_B);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_segment_separator (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_S);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_whitespace (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_WS);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_non_spacing_mark (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_NSM);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_boundary_neutral (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_BN);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_pdf (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_PDF);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_embedding_or_override (unsigned int ch)
+{
+  int category = get_bidi_category (ch);
+  return (category == UC_BIDI_LRE || category == UC_BIDI_LRO
+         || category == UC_BIDI_RLE || category == UC_BIDI_RLO);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_bidi_other_neutral (unsigned int ch)
+{
+  return (get_bidi_category (ch) == UC_BIDI_ON);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_hex_digit (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_HEX_DIGIT)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_ascii_hex_digit (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_ASCII_HEX_DIGIT)) != 0);
+}
+
+/* See Unicode 3.0 book, section 4.10,
+       PropList.txt, UCD.html.  */
+static bool
+is_property_ideographic (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_IDEOGRAPHIC)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_unified_ideograph (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_UNIFIED_IDEOGRAPH)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_radical (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_RADICAL)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_ids_binary_operator (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_IDS_BINARY_OPERATOR)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_ids_trinary_operator (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_IDS_TRINARY_OPERATOR)) != 0);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_zero_width (unsigned int ch)
+{
+  return is_category_Cf (ch)
+        || (unicode_attributes[ch].name != NULL
+            && strstr (unicode_attributes[ch].name, "ZERO WIDTH") != NULL);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_space (unsigned int ch)
+{
+  return is_category_Zs (ch);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_non_break (unsigned int ch)
+{
+  /* This is exactly the set of characters having line breaking
+     property GL.  */
+  return (ch == 0x00A0 /* NO-BREAK SPACE */
+         || ch == 0x034F /* COMBINING GRAPHEME JOINER */
+         || ch == 0x035C /* COMBINING DOUBLE BREVE BELOW */
+         || ch == 0x035D /* COMBINING DOUBLE BREVE */
+         || ch == 0x035E /* COMBINING DOUBLE MACRON */
+         || ch == 0x035F /* COMBINING DOUBLE MACRON BELOW */
+         || ch == 0x0360 /* COMBINING DOUBLE TILDE */
+         || ch == 0x0361 /* COMBINING DOUBLE INVERTED BREVE */
+         || ch == 0x0362 /* COMBINING DOUBLE RIGHTWARDS ARROW BELOW */
+         || ch == 0x0F08 /* TIBETAN MARK SBRUL SHAD */
+         || ch == 0x0F0C /* TIBETAN MARK DELIMITER TSHEG BSTAR */
+         || ch == 0x0F12 /* TIBETAN MARK RGYA GRAM SHAD */
+         || ch == 0x180E /* MONGOLIAN VOWEL SEPARATOR */
+         || ch == 0x2007 /* FIGURE SPACE */
+         || ch == 0x2011 /* NON-BREAKING HYPHEN */
+         || ch == 0x202F /* NARROW NO-BREAK SPACE */);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_iso_control (unsigned int ch)
+{
+  bool result1 =
+    (unicode_attributes[ch].name != NULL
+     && strcmp (unicode_attributes[ch].name, "<control>") == 0);
+  bool result2 =
+    is_category_Cc (ch);
+
+  if (result1 != result2)
+    abort ();
+  return result1;
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_format_control (unsigned int ch)
+{
+  return (is_category_Cf (ch)
+         && get_bidi_category (ch) == UC_BIDI_BN
+         && !is_property_join_control (ch)
+         && ch != 0xFEFF);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_dash (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_DASH)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_hyphen (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_HYPHEN)) != 0);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_punctuation (unsigned int ch)
+{
+  return is_category_P (ch);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_line_separator (unsigned int ch)
+{
+  return is_category_Zl (ch);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_paragraph_separator (unsigned int ch)
+{
+  return is_category_Zp (ch);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_quotation_mark (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_QUOTATION_MARK)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_sentence_terminal (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_STERM)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_terminal_punctuation (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_TERMINAL_PUNCTUATION)) != 0);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_currency_symbol (unsigned int ch)
+{
+  return is_category_Sc (ch);
+}
+
+/* See Unicode 3.0 book, section 4.9,
+       PropList.txt, UCD.html,
+       DerivedCoreProperties.txt, UCD.html.  */
+static bool
+is_property_math (unsigned int ch)
+{
+  bool result1 =
+    is_category_Sm (ch)
+    || ((unicode_properties[ch] & (1ULL << PROP_OTHER_MATH)) != 0);
+  bool result2 =
+    ((unicode_properties[ch] & (1ULL << PROP_MATH)) != 0);
+
+  if (result1 != result2)
+    abort ();
+  return result1;
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_other_math (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_OTHER_MATH)) != 0);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_paired_punctuation (unsigned int ch)
+{
+  return unicode_pairedpunctuation[ch];
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_left_of_pair (unsigned int ch)
+{
+  return unicode_leftofpair[ch];
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_combining (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && (strcmp (unicode_attributes[ch].combining, "0") != 0
+             || is_category_Mc (ch)
+             || is_category_Me (ch)
+             || is_category_Mn (ch)));
+}
+
+#if 0 /* same as is_property_bidi_non_spacing_mark */
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_non_spacing (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && get_bidi_category (ch) == UC_BIDI_NSM);
+}
+#endif
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_composite (unsigned int ch)
+{
+  /* This definition differs from the one in PropList-3.0.1.txt, but is more
+     logical in some sense.  */
+  if (ch >= 0xAC00 && ch <= 0xD7A4) /* Hangul Syllables */
+    return true;
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].decomposition != NULL)
+    {
+      /* Test whether the decomposition contains more than one character,
+        and the first is not a space.  */
+      const char *decomp = unicode_attributes[ch].decomposition;
+      if (decomp[0] == '<')
+       {
+         decomp = strchr (decomp, '>') + 1;
+         if (decomp[0] == ' ')
+           decomp++;
+       }
+      return strchr (decomp, ' ') != NULL && strncmp (decomp, "0020 ", 5) != 0;
+    }
+  return false;
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_decimal_digit (unsigned int ch)
+{
+  return is_category_Nd (ch);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_numeric (unsigned int ch)
+{
+  return ((get_numeric_value (ch)).denominator > 0)
+        || (ch == 0x09F8) /* BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR */
+        || (ch == 0x2183); /* ROMAN NUMERAL REVERSED ONE HUNDRED */
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_diacritic (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_DIACRITIC)) != 0);
+}
+
+/* See PropList.txt, UCD.html.  */
+static bool
+is_property_extender (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_EXTENDER)) != 0);
+}
+
+/* See PropList-3.0.1.txt.  */
+static bool
+is_property_ignorable_control (unsigned int ch)
+{
+  return ((is_category_Cc (ch) && get_bidi_category (ch) == UC_BIDI_BN)
+         || is_category_Cf (ch))
+        && ch != 0x0000;
+}
+
+/* ------------------------------------------------------------------------- */
+
+/* Output all properties.  */
+static void
+output_properties (const char *version)
+{
+#define PROPERTY(P) \
+  debug_output_predicate ("pr_" #P ".txt", is_property_ ## P); \
+  output_predicate_test ("test-pr_" #P ".c", is_property_ ## P, "uc_is_property_" #P " (c)"); \
+  output_predicate ("pr_" #P ".h", is_property_ ## P, "u_property_" #P, "Properties", version);
+  PROPERTY(white_space)
+  PROPERTY(alphabetic)
+  PROPERTY(other_alphabetic)
+  PROPERTY(not_a_character)
+  PROPERTY(default_ignorable_code_point)
+  PROPERTY(other_default_ignorable_code_point)
+  PROPERTY(deprecated)
+  PROPERTY(logical_order_exception)
+  PROPERTY(variation_selector)
+  PROPERTY(private_use)
+  PROPERTY(unassigned_code_value)
+  PROPERTY(uppercase)
+  PROPERTY(other_uppercase)
+  PROPERTY(lowercase)
+  PROPERTY(other_lowercase)
+  PROPERTY(titlecase)
+  PROPERTY(soft_dotted)
+  PROPERTY(id_start)
+  PROPERTY(other_id_start)
+  PROPERTY(id_continue)
+  PROPERTY(other_id_continue)
+  PROPERTY(xid_start)
+  PROPERTY(xid_continue)
+  PROPERTY(pattern_white_space)
+  PROPERTY(pattern_syntax)
+  PROPERTY(join_control)
+  PROPERTY(grapheme_base)
+  PROPERTY(grapheme_extend)
+  PROPERTY(other_grapheme_extend)
+  PROPERTY(grapheme_link)
+  PROPERTY(bidi_control)
+  PROPERTY(bidi_left_to_right)
+  PROPERTY(bidi_hebrew_right_to_left)
+  PROPERTY(bidi_arabic_right_to_left)
+  PROPERTY(bidi_european_digit)
+  PROPERTY(bidi_eur_num_separator)
+  PROPERTY(bidi_eur_num_terminator)
+  PROPERTY(bidi_arabic_digit)
+  PROPERTY(bidi_common_separator)
+  PROPERTY(bidi_block_separator)
+  PROPERTY(bidi_segment_separator)
+  PROPERTY(bidi_whitespace)
+  PROPERTY(bidi_non_spacing_mark)
+  PROPERTY(bidi_boundary_neutral)
+  PROPERTY(bidi_pdf)
+  PROPERTY(bidi_embedding_or_override)
+  PROPERTY(bidi_other_neutral)
+  PROPERTY(hex_digit)
+  PROPERTY(ascii_hex_digit)
+  PROPERTY(ideographic)
+  PROPERTY(unified_ideograph)
+  PROPERTY(radical)
+  PROPERTY(ids_binary_operator)
+  PROPERTY(ids_trinary_operator)
+  PROPERTY(zero_width)
+  PROPERTY(space)
+  PROPERTY(non_break)
+  PROPERTY(iso_control)
+  PROPERTY(format_control)
+  PROPERTY(dash)
+  PROPERTY(hyphen)
+  PROPERTY(punctuation)
+  PROPERTY(line_separator)
+  PROPERTY(paragraph_separator)
+  PROPERTY(quotation_mark)
+  PROPERTY(sentence_terminal)
+  PROPERTY(terminal_punctuation)
+  PROPERTY(currency_symbol)
+  PROPERTY(math)
+  PROPERTY(other_math)
+  PROPERTY(paired_punctuation)
+  PROPERTY(left_of_pair)
+  PROPERTY(combining)
+  PROPERTY(composite)
+  PROPERTY(decimal_digit)
+  PROPERTY(numeric)
+  PROPERTY(diacritic)
+  PROPERTY(extender)
+  PROPERTY(ignorable_control)
+#undef PROPERTY
+}
+
+/* ========================================================================= */
+
+/* Scripts.  */
+
+static const char *scripts[256];
+static unsigned int numscripts;
+
+static uint8_t unicode_scripts[0x110000];
+
+static void
+fill_scripts (const char *scripts_filename)
+{
+  FILE *stream;
+  unsigned int i;
+
+  stream = fopen (scripts_filename, "r");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "error during fopen of '%s'\n", scripts_filename);
+      exit (1);
+    }
+
+  numscripts = 0;
+
+  for (i = 0; i < 0x110000; i++)
+    unicode_scripts[i] = (uint8_t)~(uint8_t)0;
+
+  for (;;)
+    {
+      char buf[200+1];
+      unsigned int i1, i2;
+      char padding[200+1];
+      char scriptname[200+1];
+      int script;
+
+      if (fscanf (stream, "%200[^\n]\n", buf) < 1)
+       break;
+
+      if (buf[0] == '\0' || buf[0] == '#')
+       continue;
+
+      if (sscanf (buf, "%X..%X%[ ;]%[^ ]", &i1, &i2, padding, scriptname) != 4)
+       {
+         if (sscanf (buf, "%X%[ ;]%[^ ]", &i1, padding, scriptname) != 3)
+           {
+             fprintf (stderr, "parse error in '%s'\n", scripts_filename);
+             exit (1);
+           }
+         i2 = i1;
+       }
+      if (i2 < i1)
+       abort ();
+      if (i2 >= 0x110000)
+       abort ();
+
+      for (script = numscripts - 1; script >= 0; script--)
+       if (strcmp (scripts[script], scriptname) == 0)
+         break;
+      if (script < 0)
+       {
+         scripts[numscripts] = strdup (scriptname);
+         script = numscripts;
+         numscripts++;
+         if (numscripts == 256)
+           abort ();
+       }
+
+      for (i = i1; i <= i2; i++)
+       {
+         if (unicode_scripts[i] != (uint8_t)~(uint8_t)0)
+           fprintf (stderr, "0x%04X belongs to multiple scripts\n", i);
+         unicode_scripts[i] = script;
+       }
+    }
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error reading from '%s'\n", scripts_filename);
+      exit (1);
+    }
+}
+
+/* Construction of sparse 3-level tables.  */
+#define TABLE script_table
+#define ELEMENT uint8_t
+#define DEFAULT (uint8_t)~(uint8_t)0
+#define xmalloc malloc
+#define xrealloc realloc
+#include "3level.h"
+
+static void
+output_scripts (const char *version)
+{
+  const char *filename = "scripts.h";
+  FILE *stream;
+  unsigned int ch, s, i;
+  struct script_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+
+  typedef struct
+  {
+    const char *lowercase_name;
+  }
+  scriptinfo_t;
+  scriptinfo_t scriptinfo[256];
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Unicode scripts.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  for (s = 0; s < numscripts; s++)
+    {
+      char *lcp = strdup (scripts[s]);
+      char *cp;
+
+      for (cp = lcp; *cp != '\0'; cp++)
+       if (*cp >= 'A' && *cp <= 'Z')
+         *cp += 'a' - 'A';
+
+      scriptinfo[s].lowercase_name = lcp;
+    }
+
+  for (s = 0; s < numscripts; s++)
+    {
+      fprintf (stream, "static const uc_interval_t script_%s_intervals[] =\n",
+              scriptinfo[s].lowercase_name);
+      fprintf (stream, "{\n");
+      i = 0;
+      for (ch = 0; ch < 0x110000; ch++)
+       if (unicode_scripts[ch] == s)
+         {
+           unsigned int start;
+           unsigned int end;
+
+           start = ch;
+           while (ch + 1 < 0x110000 && unicode_scripts[ch + 1] == s)
+             ch++;
+           end = ch;
+
+           if (i > 0)
+             fprintf (stream, ",\n");
+           if (start == end)
+             fprintf (stream, "  { 0x%04X, 1, 1 }", start);
+           else
+             fprintf (stream, "  { 0x%04X, 1, 0 }, { 0x%04X, 0, 1 }",
+                      start, end);
+           i++;
+         }
+      fprintf (stream, "\n");
+      fprintf (stream, "};\n");
+    }
+
+  fprintf (stream, "static const uc_script_t scripts[%d] =\n", numscripts);
+  fprintf (stream, "{\n");
+  for (s = 0; s < numscripts; s++)
+    {
+      fprintf (stream, "  {\n");
+      fprintf (stream, "    sizeof (script_%s_intervals) / sizeof (uc_interval_t),\n",
+              scriptinfo[s].lowercase_name);
+      fprintf (stream, "    script_%s_intervals,\n",
+              scriptinfo[s].lowercase_name);
+      fprintf (stream, "    \"%s\"\n", scripts[s]);
+      fprintf (stream, "  }");
+      if (s+1 < numscripts)
+       fprintf (stream, ",");
+      fprintf (stream, "\n");
+    }
+  fprintf (stream, "};\n");
+
+  t.p = 7;
+  t.q = 9;
+  script_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      unsigned int s = unicode_scripts[ch];
+      if (s != (uint8_t)~(uint8_t)0)
+       script_table_add (&t, ch, s);
+    }
+
+  script_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    fprintf (stream, "#define script_header_%d %d\n", i,
+            ((uint32_t *) t.result)[i]);
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    unsigned char level3[%d << %d];\n", t.level3_size, t.p);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "u_script =\n");
+  fprintf (stream, "{\n");
+  fprintf (stream, "  {");
+  if (t.level1_size > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+       fprintf (stream, ",");
+    }
+  if (t.level1_size > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level3_offset) / sizeof (uint8_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level3_size << t.p > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level3_size << t.p; i++)
+    {
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " %3d", ((uint8_t *) (t.result + level3_offset))[i]);
+      if (i+1 < t.level3_size << t.p)
+       fprintf (stream, ",");
+    }
+  if (t.level3_size << t.p > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+static void
+output_scripts_byname (const char *version)
+{
+  const char *filename = "scripts_byname.gperf";
+  FILE *stream;
+  unsigned int s;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Unicode scripts.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+  fprintf (stream, "struct named_script { const char *name; unsigned int index; };\n");
+  fprintf (stream, "%%struct-type\n");
+  fprintf (stream, "%%language=ANSI-C\n");
+  fprintf (stream, "%%define hash-function-name scripts_hash\n");
+  fprintf (stream, "%%define lookup-function-name uc_script_lookup\n");
+  fprintf (stream, "%%readonly-tables\n");
+  fprintf (stream, "%%global-table\n");
+  fprintf (stream, "%%define word-array-name script_names\n");
+  fprintf (stream, "%%%%\n");
+  for (s = 0; s < numscripts; s++)
+    fprintf (stream, "%s, %u\n", scripts[s], s);
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* Blocks.  */
+
+typedef struct { unsigned int start; unsigned int end; const char *name; }
+  block_t;
+static block_t blocks[256];
+static unsigned int numblocks;
+
+static void
+fill_blocks (const char *blocks_filename)
+{
+  FILE *stream;
+
+  stream = fopen (blocks_filename, "r");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "error during fopen of '%s'\n", blocks_filename);
+      exit (1);
+    }
+
+  for (;;)
+    {
+      char buf[200+1];
+      unsigned int i1, i2;
+      char padding[200+1];
+      char blockname[200+1];
+
+      if (fscanf (stream, "%200[^\n]\n", buf) < 1)
+       break;
+
+      if (buf[0] == '\0' || buf[0] == '#')
+       continue;
+
+      if (sscanf (buf, "%X..%X%[ ;]%[^\r]", &i1, &i2, padding, blockname) != 4)
+       {
+         fprintf (stderr, "parse error in '%s'\n", blocks_filename);
+         exit (1);
+       }
+      blocks[numblocks].start = i1;
+      blocks[numblocks].end = i2;
+      blocks[numblocks].name = strdup (blockname);
+      /* It must be sorted.  */
+      if (numblocks > 0 && !(blocks[numblocks-1].end < blocks[numblocks].start))
+       abort ();
+      numblocks++;
+      if (numblocks == 256)
+       abort ();
+    }
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error reading from '%s'\n", blocks_filename);
+      exit (1);
+    }
+}
+
+/* Return the smallest block index among the blocks for characters >= ch.  */
+static unsigned int
+block_first_index (unsigned int ch)
+{
+  /* Binary search.  */
+  unsigned int lo = 0;
+  unsigned int hi = numblocks;
+  /* Invariants:
+     All blocks[i], i < lo, have blocks[i].end < ch,
+     all blocks[i], i >= hi, have blocks[i].end >= ch.  */
+  while (lo < hi)
+    {
+      unsigned int mid = (lo + hi) / 2; /* >= lo, < hi */
+      if (blocks[mid].end < ch)
+       lo = mid + 1;
+      else
+       hi = mid;
+    }
+  return hi;
+}
+
+/* Return the largest block index among the blocks for characters <= ch,
+   plus 1.  */
+static unsigned int
+block_last_index (unsigned int ch)
+{
+  /* Binary search.  */
+  unsigned int lo = 0;
+  unsigned int hi = numblocks;
+  /* Invariants:
+     All blocks[i], i < lo, have blocks[i].start <= ch,
+     all blocks[i], i >= hi, have blocks[i].start > ch.  */
+  while (lo < hi)
+    {
+      unsigned int mid = (lo + hi) / 2; /* >= lo, < hi */
+      if (blocks[mid].start <= ch)
+       lo = mid + 1;
+      else
+       hi = mid;
+    }
+  return hi;
+}
+
+static void
+output_blocks (const char *version)
+{
+  const char *filename = "blocks.h";
+  const unsigned int shift = 8; /* bits to shift away for array access */
+  const unsigned int threshold = 0x30000; /* cut-off table here to save space */
+  FILE *stream;
+  unsigned int i;
+  unsigned int i1;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Unicode blocks.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  fprintf (stream, "static const uc_block_t blocks[] =\n");
+  fprintf (stream, "{\n");
+  for (i = 0; i < numblocks; i++)
+    {
+      fprintf (stream, "  { 0x%04X, 0x%04X, \"%s\" }", blocks[i].start,
+              blocks[i].end, blocks[i].name);
+      if (i+1 < numblocks)
+       fprintf (stream, ",");
+      fprintf (stream, "\n");
+    }
+  fprintf (stream, "};\n");
+  fprintf (stream, "#define blocks_level1_shift %d\n", shift);
+  fprintf (stream, "#define blocks_level1_threshold 0x%04X\n", threshold);
+  fprintf (stream, "static const uint8_t blocks_level1[%d * 2] =\n",
+          threshold >> shift);
+  fprintf (stream, "{\n");
+  for (i1 = 0; i1 < (threshold >> shift); i1++)
+    {
+      unsigned int first_index = block_first_index (i1 << shift);
+      unsigned int last_index = block_last_index (((i1 + 1) << shift) - 1);
+      fprintf (stream, "  %3d, %3d", first_index, last_index);
+      if (i1+1 < (threshold >> shift))
+       fprintf (stream, ",");
+      fprintf (stream, "\n");
+    }
+  fprintf (stream, "};\n");
+  fprintf (stream, "#define blocks_upper_first_index %d\n",
+          block_first_index (threshold));
+  fprintf (stream, "#define blocks_upper_last_index %d\n",
+          block_last_index (0x10FFFF));
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+/* ========================================================================= */
+
+/* C and Java syntax.  */
+
+enum
+{
+  UC_IDENTIFIER_START,    /* valid as first or subsequent character */
+  UC_IDENTIFIER_VALID,    /* valid as subsequent character only */
+  UC_IDENTIFIER_INVALID,  /* not valid */
+  UC_IDENTIFIER_IGNORABLE /* ignorable (Java only) */
+};
+
+/* ISO C 99 section 6.4.(3).  */
+static bool
+is_c_whitespace (unsigned int ch)
+{
+  return (ch == ' ' /* space */
+         || ch == '\t' /* horizontal tab */
+         || ch == '\n' || ch == '\r' /* new-line */
+         || ch == '\v' /* vertical tab */
+         || ch == '\f'); /* form-feed */
+}
+
+/* ISO C 99 section 6.4.2.1 and appendix D.  */
+static int
+c_ident_category (unsigned int ch)
+{
+  /* Section 6.4.2.1.  */
+  if (ch >= '0' && ch <= '9')
+    return UC_IDENTIFIER_VALID;
+  if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || ch == '_')
+    return UC_IDENTIFIER_START;
+  /* Appendix D.  */
+  if (0
+      /* Latin */
+      || (ch == 0x00AA)
+      || (ch == 0x00BA)
+      || (ch >= 0x00C0 && ch <= 0x00D6)
+      || (ch >= 0x00D8 && ch <= 0x00F6)
+      || (ch >= 0x00F8 && ch <= 0x01F5)
+      || (ch >= 0x01FA && ch <= 0x0217)
+      || (ch >= 0x0250 && ch <= 0x02A8)
+      || (ch >= 0x1E00 && ch <= 0x1E9B)
+      || (ch >= 0x1EA0 && ch <= 0x1EF9)
+      || (ch == 0x207F)
+      /* Greek */
+      || (ch == 0x0386)
+      || (ch >= 0x0388 && ch <= 0x038A)
+      || (ch == 0x038C)
+      || (ch >= 0x038E && ch <= 0x03A1)
+      || (ch >= 0x03A3 && ch <= 0x03CE)
+      || (ch >= 0x03D0 && ch <= 0x03D6)
+      || (ch == 0x03DA)
+      || (ch == 0x03DC)
+      || (ch == 0x03DE)
+      || (ch == 0x03E0)
+      || (ch >= 0x03E2 && ch <= 0x03F3)
+      || (ch >= 0x1F00 && ch <= 0x1F15)
+      || (ch >= 0x1F18 && ch <= 0x1F1D)
+      || (ch >= 0x1F20 && ch <= 0x1F45)
+      || (ch >= 0x1F48 && ch <= 0x1F4D)
+      || (ch >= 0x1F50 && ch <= 0x1F57)
+      || (ch == 0x1F59)
+      || (ch == 0x1F5B)
+      || (ch == 0x1F5D)
+      || (ch >= 0x1F5F && ch <= 0x1F7D)
+      || (ch >= 0x1F80 && ch <= 0x1FB4)
+      || (ch >= 0x1FB6 && ch <= 0x1FBC)
+      || (ch >= 0x1FC2 && ch <= 0x1FC4)
+      || (ch >= 0x1FC6 && ch <= 0x1FCC)
+      || (ch >= 0x1FD0 && ch <= 0x1FD3)
+      || (ch >= 0x1FD6 && ch <= 0x1FDB)
+      || (ch >= 0x1FE0 && ch <= 0x1FEC)
+      || (ch >= 0x1FF2 && ch <= 0x1FF4)
+      || (ch >= 0x1FF6 && ch <= 0x1FFC)
+      /* Cyrillic */
+      || (ch >= 0x0401 && ch <= 0x040C)
+      || (ch >= 0x040E && ch <= 0x044F)
+      || (ch >= 0x0451 && ch <= 0x045C)
+      || (ch >= 0x045E && ch <= 0x0481)
+      || (ch >= 0x0490 && ch <= 0x04C4)
+      || (ch >= 0x04C7 && ch <= 0x04C8)
+      || (ch >= 0x04CB && ch <= 0x04CC)
+      || (ch >= 0x04D0 && ch <= 0x04EB)
+      || (ch >= 0x04EE && ch <= 0x04F5)
+      || (ch >= 0x04F8 && ch <= 0x04F9)
+      /* Armenian */
+      || (ch >= 0x0531 && ch <= 0x0556)
+      || (ch >= 0x0561 && ch <= 0x0587)
+      /* Hebrew */
+      || (ch >= 0x05B0 && ch <= 0x05B9)
+      || (ch >= 0x05BB && ch <= 0x05BD)
+      || (ch == 0x05BF)
+      || (ch >= 0x05C1 && ch <= 0x05C2)
+      || (ch >= 0x05D0 && ch <= 0x05EA)
+      || (ch >= 0x05F0 && ch <= 0x05F2)
+      /* Arabic */
+      || (ch >= 0x0621 && ch <= 0x063A)
+      || (ch >= 0x0640 && ch <= 0x0652)
+      || (ch >= 0x0670 && ch <= 0x06B7)
+      || (ch >= 0x06BA && ch <= 0x06BE)
+      || (ch >= 0x06C0 && ch <= 0x06CE)
+      || (ch >= 0x06D0 && ch <= 0x06DC)
+      || (ch >= 0x06E5 && ch <= 0x06E8)
+      || (ch >= 0x06EA && ch <= 0x06ED)
+      /* Devanagari */
+      || (ch >= 0x0901 && ch <= 0x0903)
+      || (ch >= 0x0905 && ch <= 0x0939)
+      || (ch >= 0x093E && ch <= 0x094D)
+      || (ch >= 0x0950 && ch <= 0x0952)
+      || (ch >= 0x0958 && ch <= 0x0963)
+      /* Bengali */
+      || (ch >= 0x0981 && ch <= 0x0983)
+      || (ch >= 0x0985 && ch <= 0x098C)
+      || (ch >= 0x098F && ch <= 0x0990)
+      || (ch >= 0x0993 && ch <= 0x09A8)
+      || (ch >= 0x09AA && ch <= 0x09B0)
+      || (ch == 0x09B2)
+      || (ch >= 0x09B6 && ch <= 0x09B9)
+      || (ch >= 0x09BE && ch <= 0x09C4)
+      || (ch >= 0x09C7 && ch <= 0x09C8)
+      || (ch >= 0x09CB && ch <= 0x09CD)
+      || (ch >= 0x09DC && ch <= 0x09DD)
+      || (ch >= 0x09DF && ch <= 0x09E3)
+      || (ch >= 0x09F0 && ch <= 0x09F1)
+      /* Gurmukhi */
+      || (ch == 0x0A02)
+      || (ch >= 0x0A05 && ch <= 0x0A0A)
+      || (ch >= 0x0A0F && ch <= 0x0A10)
+      || (ch >= 0x0A13 && ch <= 0x0A28)
+      || (ch >= 0x0A2A && ch <= 0x0A30)
+      || (ch >= 0x0A32 && ch <= 0x0A33)
+      || (ch >= 0x0A35 && ch <= 0x0A36)
+      || (ch >= 0x0A38 && ch <= 0x0A39)
+      || (ch >= 0x0A3E && ch <= 0x0A42)
+      || (ch >= 0x0A47 && ch <= 0x0A48)
+      || (ch >= 0x0A4B && ch <= 0x0A4D)
+      || (ch >= 0x0A59 && ch <= 0x0A5C)
+      || (ch == 0x0A5E)
+      || (ch == 0x0A74)
+      /* Gujarati */
+      || (ch >= 0x0A81 && ch <= 0x0A83)
+      || (ch >= 0x0A85 && ch <= 0x0A8B)
+      || (ch == 0x0A8D)
+      || (ch >= 0x0A8F && ch <= 0x0A91)
+      || (ch >= 0x0A93 && ch <= 0x0AA8)
+      || (ch >= 0x0AAA && ch <= 0x0AB0)
+      || (ch >= 0x0AB2 && ch <= 0x0AB3)
+      || (ch >= 0x0AB5 && ch <= 0x0AB9)
+      || (ch >= 0x0ABD && ch <= 0x0AC5)
+      || (ch >= 0x0AC7 && ch <= 0x0AC9)
+      || (ch >= 0x0ACB && ch <= 0x0ACD)
+      || (ch == 0x0AD0)
+      || (ch == 0x0AE0)
+      /* Oriya */
+      || (ch >= 0x0B01 && ch <= 0x0B03)
+      || (ch >= 0x0B05 && ch <= 0x0B0C)
+      || (ch >= 0x0B0F && ch <= 0x0B10)
+      || (ch >= 0x0B13 && ch <= 0x0B28)
+      || (ch >= 0x0B2A && ch <= 0x0B30)
+      || (ch >= 0x0B32 && ch <= 0x0B33)
+      || (ch >= 0x0B36 && ch <= 0x0B39)
+      || (ch >= 0x0B3E && ch <= 0x0B43)
+      || (ch >= 0x0B47 && ch <= 0x0B48)
+      || (ch >= 0x0B4B && ch <= 0x0B4D)
+      || (ch >= 0x0B5C && ch <= 0x0B5D)
+      || (ch >= 0x0B5F && ch <= 0x0B61)
+      /* Tamil */
+      || (ch >= 0x0B82 && ch <= 0x0B83)
+      || (ch >= 0x0B85 && ch <= 0x0B8A)
+      || (ch >= 0x0B8E && ch <= 0x0B90)
+      || (ch >= 0x0B92 && ch <= 0x0B95)
+      || (ch >= 0x0B99 && ch <= 0x0B9A)
+      || (ch == 0x0B9C)
+      || (ch >= 0x0B9E && ch <= 0x0B9F)
+      || (ch >= 0x0BA3 && ch <= 0x0BA4)
+      || (ch >= 0x0BA8 && ch <= 0x0BAA)
+      || (ch >= 0x0BAE && ch <= 0x0BB5)
+      || (ch >= 0x0BB7 && ch <= 0x0BB9)
+      || (ch >= 0x0BBE && ch <= 0x0BC2)
+      || (ch >= 0x0BC6 && ch <= 0x0BC8)
+      || (ch >= 0x0BCA && ch <= 0x0BCD)
+      /* Telugu */
+      || (ch >= 0x0C01 && ch <= 0x0C03)
+      || (ch >= 0x0C05 && ch <= 0x0C0C)
+      || (ch >= 0x0C0E && ch <= 0x0C10)
+      || (ch >= 0x0C12 && ch <= 0x0C28)
+      || (ch >= 0x0C2A && ch <= 0x0C33)
+      || (ch >= 0x0C35 && ch <= 0x0C39)
+      || (ch >= 0x0C3E && ch <= 0x0C44)
+      || (ch >= 0x0C46 && ch <= 0x0C48)
+      || (ch >= 0x0C4A && ch <= 0x0C4D)
+      || (ch >= 0x0C60 && ch <= 0x0C61)
+      /* Kannada */
+      || (ch >= 0x0C82 && ch <= 0x0C83)
+      || (ch >= 0x0C85 && ch <= 0x0C8C)
+      || (ch >= 0x0C8E && ch <= 0x0C90)
+      || (ch >= 0x0C92 && ch <= 0x0CA8)
+      || (ch >= 0x0CAA && ch <= 0x0CB3)
+      || (ch >= 0x0CB5 && ch <= 0x0CB9)
+      || (ch >= 0x0CBE && ch <= 0x0CC4)
+      || (ch >= 0x0CC6 && ch <= 0x0CC8)
+      || (ch >= 0x0CCA && ch <= 0x0CCD)
+      || (ch == 0x0CDE)
+      || (ch >= 0x0CE0 && ch <= 0x0CE1)
+      /* Malayalam */
+      || (ch >= 0x0D02 && ch <= 0x0D03)
+      || (ch >= 0x0D05 && ch <= 0x0D0C)
+      || (ch >= 0x0D0E && ch <= 0x0D10)
+      || (ch >= 0x0D12 && ch <= 0x0D28)
+      || (ch >= 0x0D2A && ch <= 0x0D39)
+      || (ch >= 0x0D3E && ch <= 0x0D43)
+      || (ch >= 0x0D46 && ch <= 0x0D48)
+      || (ch >= 0x0D4A && ch <= 0x0D4D)
+      || (ch >= 0x0D60 && ch <= 0x0D61)
+      /* Thai */
+      || (ch >= 0x0E01 && ch <= 0x0E3A)
+      || (ch >= 0x0E40 && ch <= 0x0E5B)
+      /* Lao */
+      || (ch >= 0x0E81 && ch <= 0x0E82)
+      || (ch == 0x0E84)
+      || (ch >= 0x0E87 && ch <= 0x0E88)
+      || (ch == 0x0E8A)
+      || (ch == 0x0E8D)
+      || (ch >= 0x0E94 && ch <= 0x0E97)
+      || (ch >= 0x0E99 && ch <= 0x0E9F)
+      || (ch >= 0x0EA1 && ch <= 0x0EA3)
+      || (ch == 0x0EA5)
+      || (ch == 0x0EA7)
+      || (ch >= 0x0EAA && ch <= 0x0EAB)
+      || (ch >= 0x0EAD && ch <= 0x0EAE)
+      || (ch >= 0x0EB0 && ch <= 0x0EB9)
+      || (ch >= 0x0EBB && ch <= 0x0EBD)
+      || (ch >= 0x0EC0 && ch <= 0x0EC4)
+      || (ch == 0x0EC6)
+      || (ch >= 0x0EC8 && ch <= 0x0ECD)
+      || (ch >= 0x0EDC && ch <= 0x0EDD)
+      /* Tibetan */
+      || (ch == 0x0F00)
+      || (ch >= 0x0F18 && ch <= 0x0F19)
+      || (ch == 0x0F35)
+      || (ch == 0x0F37)
+      || (ch == 0x0F39)
+      || (ch >= 0x0F3E && ch <= 0x0F47)
+      || (ch >= 0x0F49 && ch <= 0x0F69)
+      || (ch >= 0x0F71 && ch <= 0x0F84)
+      || (ch >= 0x0F86 && ch <= 0x0F8B)
+      || (ch >= 0x0F90 && ch <= 0x0F95)
+      || (ch == 0x0F97)
+      || (ch >= 0x0F99 && ch <= 0x0FAD)
+      || (ch >= 0x0FB1 && ch <= 0x0FB7)
+      || (ch == 0x0FB9)
+      /* Georgian */
+      || (ch >= 0x10A0 && ch <= 0x10C5)
+      || (ch >= 0x10D0 && ch <= 0x10F6)
+      /* Hiragana */
+      || (ch >= 0x3041 && ch <= 0x3093)
+      || (ch >= 0x309B && ch <= 0x309C)
+      /* Katakana */
+      || (ch >= 0x30A1 && ch <= 0x30F6)
+      || (ch >= 0x30FB && ch <= 0x30FC)
+      /* Bopomofo */
+      || (ch >= 0x3105 && ch <= 0x312C)
+      /* CJK Unified Ideographs */
+      || (ch >= 0x4E00 && ch <= 0x9FA5)
+      /* Hangul */
+      || (ch >= 0xAC00 && ch <= 0xD7A3)
+      /* Digits */
+      || (ch >= 0x0660 && ch <= 0x0669)
+      || (ch >= 0x06F0 && ch <= 0x06F9)
+      || (ch >= 0x0966 && ch <= 0x096F)
+      || (ch >= 0x09E6 && ch <= 0x09EF)
+      || (ch >= 0x0A66 && ch <= 0x0A6F)
+      || (ch >= 0x0AE6 && ch <= 0x0AEF)
+      || (ch >= 0x0B66 && ch <= 0x0B6F)
+      || (ch >= 0x0BE7 && ch <= 0x0BEF)
+      || (ch >= 0x0C66 && ch <= 0x0C6F)
+      || (ch >= 0x0CE6 && ch <= 0x0CEF)
+      || (ch >= 0x0D66 && ch <= 0x0D6F)
+      || (ch >= 0x0E50 && ch <= 0x0E59)
+      || (ch >= 0x0ED0 && ch <= 0x0ED9)
+      || (ch >= 0x0F20 && ch <= 0x0F33)
+      /* Special characters */
+      || (ch == 0x00B5)
+      || (ch == 0x00B7)
+      || (ch >= 0x02B0 && ch <= 0x02B8)
+      || (ch == 0x02BB)
+      || (ch >= 0x02BD && ch <= 0x02C1)
+      || (ch >= 0x02D0 && ch <= 0x02D1)
+      || (ch >= 0x02E0 && ch <= 0x02E4)
+      || (ch == 0x037A)
+      || (ch == 0x0559)
+      || (ch == 0x093D)
+      || (ch == 0x0B3D)
+      || (ch == 0x1FBE)
+      || (ch >= 0x203F && ch <= 0x2040)
+      || (ch == 0x2102)
+      || (ch == 0x2107)
+      || (ch >= 0x210A && ch <= 0x2113)
+      || (ch == 0x2115)
+      || (ch >= 0x2118 && ch <= 0x211D)
+      || (ch == 0x2124)
+      || (ch == 0x2126)
+      || (ch == 0x2128)
+      || (ch >= 0x212A && ch <= 0x2131)
+      || (ch >= 0x2133 && ch <= 0x2138)
+      || (ch >= 0x2160 && ch <= 0x2182)
+      || (ch >= 0x3005 && ch <= 0x3007)
+      || (ch >= 0x3021 && ch <= 0x3029)
+     )
+    return UC_IDENTIFIER_START;
+  return UC_IDENTIFIER_INVALID;
+}
+
+/* The Java Language Specification, 3rd edition, Â§3.6.
+   http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#95710  */
+static bool
+is_java_whitespace (unsigned int ch)
+{
+  return (ch == ' ' || ch == '\t' || ch == '\f'
+         || ch == '\n' || ch == '\r');
+}
+
+/* The Java Language Specification, 3rd edition, Â§3.8.
+   http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625
+   and Character.isJavaIdentifierStart and Character.isJavaIdentifierPart  */
+static int
+java_ident_category (unsigned int ch)
+{
+  /* FIXME: Check this against Sun's JDK implementation.  */
+  if (is_category_L (ch) /* = Character.isLetter(ch) */
+      || is_category_Nl (ch) /* = Character.getType(ch)==LETTER_NUMBER */
+      || is_category_Sc (ch) /* currency symbol */
+      || is_category_Pc (ch) /* connector punctuation */
+     )
+    return UC_IDENTIFIER_START;
+  if (is_category_Nd (ch) /* digit */
+      || is_category_Mc (ch) /* combining mark */
+      || is_category_Mn (ch) /* non-spacing mark */
+     )
+    return UC_IDENTIFIER_VALID;
+  if ((ch >= 0x0000 && ch <= 0x0008)
+      || (ch >= 0x000E && ch <= 0x001B)
+      || (ch >= 0x007F && ch <= 0x009F)
+      || is_category_Cf (ch) /* = Character.getType(ch)==FORMAT */
+     )
+    return UC_IDENTIFIER_IGNORABLE;
+  return UC_IDENTIFIER_INVALID;
+}
+
+/* Construction of sparse 3-level tables.  */
+#define TABLE identsyntax_table
+#define ELEMENT uint8_t
+#define DEFAULT UC_IDENTIFIER_INVALID
+#define xmalloc malloc
+#define xrealloc realloc
+#include "3level.h"
+
+/* Output an identifier syntax categorization in a three-level bitmap.  */
+static void
+output_ident_category (const char *filename, int (*predicate) (unsigned int), const char *name, const char *version)
+{
+  FILE *stream;
+  unsigned int ch, i;
+  struct identsyntax_table t;
+  unsigned int level1_offset, level2_offset, level3_offset;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
+  fprintf (stream, "/* Language syntax properties of Unicode characters.  */\n");
+  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+          version);
+
+  t.p = 7; /* or 8 */
+  t.q = 5; /* or 4 */
+  identsyntax_table_init (&t);
+
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      int syntaxcode = predicate (ch);
+      if (syntaxcode != UC_IDENTIFIER_INVALID)
+       identsyntax_table_add (&t, ch, syntaxcode);
+    }
+
+  identsyntax_table_finalize (&t);
+
+  /* Offsets in t.result, in memory of this process.  */
+  level1_offset =
+    5 * sizeof (uint32_t);
+  level2_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t);
+  level3_offset =
+    5 * sizeof (uint32_t)
+    + t.level1_size * sizeof (uint32_t)
+    + (t.level2_size << t.q) * sizeof (uint32_t);
+
+  for (i = 0; i < 5; i++)
+    fprintf (stream, "#define identsyntax_header_%d %d\n", i,
+            ((uint32_t *) t.result)[i]);
+  fprintf (stream, "static const\n");
+  fprintf (stream, "struct\n");
+  fprintf (stream, "  {\n");
+  fprintf (stream, "    int level1[%d];\n", t.level1_size);
+  fprintf (stream, "    short level2[%d << %d];\n", t.level2_size, t.q);
+  fprintf (stream, "    unsigned short level3[%d * %d];\n", t.level3_size,
+          (1 << t.p) * 2 / 16);
+  fprintf (stream, "  }\n");
+  fprintf (stream, "%s =\n", name);
+  fprintf (stream, "{\n");
+  fprintf (stream, "  {");
+  if (t.level1_size > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level1_size; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level1_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level2_offset) / sizeof (uint32_t));
+      if (i+1 < t.level1_size)
+       fprintf (stream, ",");
+    }
+  if (t.level1_size > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  fprintf (stream, "  {");
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < t.level2_size << t.q; i++)
+    {
+      uint32_t offset;
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      offset = ((uint32_t *) (t.result + level2_offset))[i];
+      if (offset == 0)
+       fprintf (stream, " %5d", -1);
+      else
+       fprintf (stream, " %5d",
+                (offset - level3_offset) / sizeof (uint8_t));
+      if (i+1 < t.level2_size << t.q)
+       fprintf (stream, ",");
+    }
+  if (t.level2_size << t.q > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " },\n");
+  /* Pack the level3 array.  Each entry needs 2 bits only.  */
+  fprintf (stream, "  {");
+  if ((t.level3_size << t.p) * 2 / 16 > 8)
+    fprintf (stream, "\n   ");
+  for (i = 0; i < (t.level3_size << t.p) * 2 / 16; i++)
+    {
+      if (i > 0 && (i % 8) == 0)
+       fprintf (stream, "\n   ");
+      fprintf (stream, " 0x%04x",
+              (((uint8_t *) (t.result + level3_offset))[8 * i] << 0)
+              | (((uint8_t *) (t.result + level3_offset))[8 * i + 1] << 2)
+              | (((uint8_t *) (t.result + level3_offset))[8 * i + 2] << 4)
+              | (((uint8_t *) (t.result + level3_offset))[8 * i + 3] << 6)
+              | (((uint8_t *) (t.result + level3_offset))[8 * i + 4] << 8)
+              | (((uint8_t *) (t.result + level3_offset))[8 * i + 5] << 10)
+              | (((uint8_t *) (t.result + level3_offset))[8 * i + 6] << 12)
+              | (((uint8_t *) (t.result + level3_offset))[8 * i + 7] << 14));
+      if (i+1 < (t.level3_size << t.p) * 2 / 16)
+       fprintf (stream, ",");
+    }
+  if ((t.level3_size << t.p) * 2 / 16 > 8)
+    fprintf (stream, "\n ");
+  fprintf (stream, " }\n");
+  fprintf (stream, "};\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+static void
+output_ident_properties (const char *version)
+{
+#define PROPERTY(P) \
+  debug_output_predicate ("sy_" #P ".txt", is_ ## P); \
+  output_predicate_test ("test-sy_" #P ".c", is_ ## P, "uc_is_" #P " (c)"); \
+  output_predicate ("sy_" #P ".h", is_ ## P, "u_" #P, "Language syntax properties", version);
+  PROPERTY(c_whitespace)
+  PROPERTY(java_whitespace)
+#undef PROPERTY
+
+  output_ident_category ("sy_c_ident.h", c_ident_category, "u_c_ident", version);
+  output_ident_category ("sy_java_ident.h", java_ident_category, "u_java_ident", version);
+}
+
+/* ========================================================================= */
+
+/* Like ISO C <ctype.h> and <wctype.h>.  Compatible to glibc's
+   glibc/localedata/locales/i18n file, generated by
+   glibc/localedata/gen-unicode-ctype.c.  */
+
+/* Character mappings.  */
+
+static unsigned int
+to_upper (unsigned int ch)
+{
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].upper != NONE)
+    return unicode_attributes[ch].upper;
+  else
+    return ch;
+}
+
+static unsigned int
+to_lower (unsigned int ch)
+{
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].lower != NONE)
+    return unicode_attributes[ch].lower;
+  else
+    return ch;
+}
+
+static unsigned int
+to_title (unsigned int ch)
+{
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].title != NONE)
+    return unicode_attributes[ch].title;
+  else
+    return ch;
+}
+
+/* Character class properties.  */
+
+static bool
+is_upper (unsigned int ch)
+{
+  return (to_lower (ch) != ch);
+}
+
+static bool
+is_lower (unsigned int ch)
+{
+  return (to_upper (ch) != ch)
+        /* <U00DF> is lowercase, but without simple to_upper mapping.  */
+        || (ch == 0x00DF);
+}
+
+static bool
+is_alpha (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && ((unicode_attributes[ch].category[0] == 'L'
+              /* Theppitak Karoonboonyanan <thep@links.nectec.or.th> says
+                 <U0E2F>, <U0E46> should belong to is_punct.  */
+              && (ch != 0x0E2F) && (ch != 0x0E46))
+             /* Theppitak Karoonboonyanan <thep@links.nectec.or.th> says
+                <U0E31>, <U0E34>..<U0E3A>, <U0E47>..<U0E4E> are is_alpha.  */
+             || (ch == 0x0E31)
+             || (ch >= 0x0E34 && ch <= 0x0E3A)
+             || (ch >= 0x0E47 && ch <= 0x0E4E)
+             /* Avoid warning for <U0345>.  */
+             || (ch == 0x0345)
+             /* Avoid warnings for <U2160>..<U217F>.  */
+             || (unicode_attributes[ch].category[0] == 'N'
+                 && unicode_attributes[ch].category[1] == 'l')
+             /* Avoid warnings for <U24B6>..<U24E9>.  */
+             || (unicode_attributes[ch].category[0] == 'S'
+                 && unicode_attributes[ch].category[1] == 'o'
+                 && strstr (unicode_attributes[ch].name, " LETTER ")
+                    != NULL)
+             /* Consider all the non-ASCII digits as alphabetic.
+                ISO C 99 forbids us to have them in category "digit",
+                but we want iswalnum to return true on them.  */
+             || (unicode_attributes[ch].category[0] == 'N'
+                 && unicode_attributes[ch].category[1] == 'd'
+                 && !(ch >= 0x0030 && ch <= 0x0039))));
+}
+
+static bool
+is_digit (unsigned int ch)
+{
+#if 0
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'N'
+         && unicode_attributes[ch].category[1] == 'd');
+  /* Note: U+0BE7..U+0BEF and U+1369..U+1371 are digit systems without
+     a zero.  Must add <0> in front of them by hand.  */
+#else
+  /* SUSV2 gives us some freedom for the "digit" category, but ISO C 99
+     takes it away:
+     7.25.2.1.5:
+        The iswdigit function tests for any wide character that corresponds
+        to a decimal-digit character (as defined in 5.2.1).
+     5.2.1:
+        the 10 decimal digits 0 1 2 3 4 5 6 7 8 9
+   */
+  return (ch >= 0x0030 && ch <= 0x0039);
+#endif
+}
+
+static bool
+is_outdigit (unsigned int ch)
+{
+  return (ch >= 0x0030 && ch <= 0x0039);
+}
+
+static bool
+is_alnum (unsigned int ch)
+{
+  return is_alpha (ch) || is_digit (ch);
+}
+
+static bool
+is_blank (unsigned int ch)
+{
+  return (ch == 0x0009 /* '\t' */
+         /* Category Zs without mention of "<noBreak>" */
+         || (unicode_attributes[ch].name != NULL
+             && unicode_attributes[ch].category[0] == 'Z'
+             && unicode_attributes[ch].category[1] == 's'
+             && !strstr (unicode_attributes[ch].decomposition, "<noBreak>")));
+}
+
+static bool
+is_space (unsigned int ch)
+{
+  /* Don't make U+00A0 a space. Non-breaking space means that all programs
+     should treat it like a punctuation character, not like a space. */
+  return (ch == 0x0020 /* ' ' */
+         || ch == 0x000C /* '\f' */
+         || ch == 0x000A /* '\n' */
+         || ch == 0x000D /* '\r' */
+         || ch == 0x0009 /* '\t' */
+         || ch == 0x000B /* '\v' */
+         /* Categories Zl, Zp, and Zs without mention of "<noBreak>" */
+         || (unicode_attributes[ch].name != NULL
+             && unicode_attributes[ch].category[0] == 'Z'
+             && (unicode_attributes[ch].category[1] == 'l'
+                 || unicode_attributes[ch].category[1] == 'p'
+                 || (unicode_attributes[ch].category[1] == 's'
+                     && !strstr (unicode_attributes[ch].decomposition,
+                                 "<noBreak>")))));
+}
+
+static bool
+is_cntrl (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && (strcmp (unicode_attributes[ch].name, "<control>") == 0
+             /* Categories Zl and Zp */
+             || (unicode_attributes[ch].category[0] == 'Z'
+                 && (unicode_attributes[ch].category[1] == 'l'
+                     || unicode_attributes[ch].category[1] == 'p'))));
+}
+
+static bool
+is_xdigit (unsigned int ch)
+{
+#if 0
+  return is_digit (ch)
+        || (ch >= 0x0041 && ch <= 0x0046)
+        || (ch >= 0x0061 && ch <= 0x0066);
+#else
+  /* SUSV2 gives us some freedom for the "xdigit" category, but ISO C 99
+     takes it away:
+     7.25.2.1.12:
+        The iswxdigit function tests for any wide character that corresponds
+        to a hexadecimal-digit character (as defined in 6.4.4.1).
+     6.4.4.1:
+        hexadecimal-digit: one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
+   */
+  return (ch >= 0x0030 && ch <= 0x0039)
+        || (ch >= 0x0041 && ch <= 0x0046)
+        || (ch >= 0x0061 && ch <= 0x0066);
+#endif
+}
+
+static bool
+is_graph (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && strcmp (unicode_attributes[ch].name, "<control>")
+         && !is_space (ch));
+}
+
+static bool
+is_print (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+         && strcmp (unicode_attributes[ch].name, "<control>")
+         /* Categories Zl and Zp */
+         && !(unicode_attributes[ch].name != NULL
+              && unicode_attributes[ch].category[0] == 'Z'
+              && (unicode_attributes[ch].category[1] == 'l'
+                  || unicode_attributes[ch].category[1] == 'p')));
+}
+
+static bool
+is_punct (unsigned int ch)
+{
+#if 0
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'P');
+#else
+  /* The traditional POSIX definition of punctuation is every graphic,
+     non-alphanumeric character.  */
+  return (is_graph (ch) && !is_alpha (ch) && !is_digit (ch));
+#endif
+}
+
+/* Output all properties.  */
+static void
+output_old_ctype (const char *version)
+{
+#define PROPERTY(P) \
+  debug_output_predicate ("ctype_" #P ".txt", is_ ## P); \
+  output_predicate_test ("test-ctype_" #P ".c", is_ ## P, "uc_is_" #P " (c)"); \
+  output_predicate ("ctype_" #P ".h", is_ ## P, "u_is_" #P, "ISO C <ctype.h> like properties", version);
+  PROPERTY(alnum)
+  PROPERTY(alpha)
+  PROPERTY(cntrl)
+  PROPERTY(digit)
+  PROPERTY(graph)
+  PROPERTY(lower)
+  PROPERTY(print)
+  PROPERTY(punct)
+  PROPERTY(space)
+  PROPERTY(upper)
+  PROPERTY(xdigit)
+  PROPERTY(blank)
+#undef PROPERTY
+}
+
+#if 0
+
+static bool
+is_combining (unsigned int ch)
+{
+  /* Up to Unicode 3.0.1 we took the Combining property from the PropList.txt
+     file. In 3.0.1 it was identical to the union of the general categories
+     "Mn", "Mc", "Me". In Unicode 3.1 this property has been dropped from the
+     PropList.txt file, so we take the latter definition.  */
+  return (unicode_attributes[ch].name != NULL
+         && unicode_attributes[ch].category[0] == 'M'
+         && (unicode_attributes[ch].category[1] == 'n'
+             || unicode_attributes[ch].category[1] == 'c'
+             || unicode_attributes[ch].category[1] == 'e'));
+}
+
+static bool
+is_combining_level3 (unsigned int ch)
+{
+  return is_combining (ch)
+        && !(unicode_attributes[ch].combining[0] != '\0'
+             && unicode_attributes[ch].combining[0] != '0'
+             && strtoul (unicode_attributes[ch].combining, NULL, 10) >= 200);
+}
+
+/* Return the UCS symbol string for a Unicode character.  */
+static const char *
+ucs_symbol (unsigned int i)
+{
+  static char buf[11+1];
+
+  sprintf (buf, (i < 0x10000 ? "<U%04X>" : "<U%08X>"), i);
+  return buf;
+}
+
+/* Return the UCS symbol range string for a Unicode characters interval.  */
+static const char *
+ucs_symbol_range (unsigned int low, unsigned int high)
+{
+  static char buf[24+1];
+
+  strcpy (buf, ucs_symbol (low));
+  strcat (buf, "..");
+  strcat (buf, ucs_symbol (high));
+  return buf;
+}
+
+/* Output a character class (= property) table.  */
+
+static void
+output_charclass (FILE *stream, const char *classname,
+                 bool (*func) (unsigned int))
+{
+  char table[0x110000];
+  unsigned int i;
+  bool need_semicolon;
+  const int max_column = 75;
+  int column;
+
+  for (i = 0; i < 0x110000; i++)
+    table[i] = (int) func (i);
+
+  fprintf (stream, "%s ", classname);
+  need_semicolon = false;
+  column = 1000;
+  for (i = 0; i < 0x110000; )
+    {
+      if (!table[i])
+       i++;
+      else
+       {
+         unsigned int low, high;
+         char buf[25];
+
+         low = i;
+         do
+           i++;
+         while (i < 0x110000 && table[i]);
+         high = i - 1;
+
+         if (low == high)
+           strcpy (buf, ucs_symbol (low));
+         else
+           strcpy (buf, ucs_symbol_range (low, high));
+
+         if (need_semicolon)
+           {
+             fprintf (stream, ";");
+             column++;
+           }
+
+         if (column + strlen (buf) > max_column)
+           {
+             fprintf (stream, "/\n   ");
+             column = 3;
+           }
+
+         fprintf (stream, "%s", buf);
+         column += strlen (buf);
+         need_semicolon = true;
+       }
+    }
+  fprintf (stream, "\n");
+}
+
+/* Output a character mapping table.  */
+
+static void
+output_charmap (FILE *stream, const char *mapname,
+               unsigned int (*func) (unsigned int))
+{
+  char table[0x110000];
+  unsigned int i;
+  bool need_semicolon;
+  const int max_column = 75;
+  int column;
+
+  for (i = 0; i < 0x110000; i++)
+    table[i] = (func (i) != i);
+
+  fprintf (stream, "%s ", mapname);
+  need_semicolon = false;
+  column = 1000;
+  for (i = 0; i < 0x110000; i++)
+    if (table[i])
+      {
+       char buf[25+1];
+
+       strcpy (buf, "(");
+       strcat (buf, ucs_symbol (i));
+       strcat (buf, ",");
+       strcat (buf, ucs_symbol (func (i)));
+       strcat (buf, ")");
+
+       if (need_semicolon)
+         {
+           fprintf (stream, ";");
+           column++;
+         }
+
+       if (column + strlen (buf) > max_column)
+         {
+           fprintf (stream, "/\n   ");
+           column = 3;
+         }
+
+       fprintf (stream, "%s", buf);
+       column += strlen (buf);
+       need_semicolon = true;
+      }
+  fprintf (stream, "\n");
+}
+
+/* Output the width table.  */
+
+static void
+output_widthmap (FILE *stream)
+{
+}
+
+/* Output the tables to the given file.  */
+
+static void
+output_tables (const char *filename, const char *version)
+{
+  FILE *stream;
+  unsigned int ch;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "escape_char /\n");
+  fprintf (stream, "comment_char %%\n");
+  fprintf (stream, "\n");
+  fprintf (stream, "%% Generated automatically by gen-unicode-ctype for Unicode %s.\n",
+          version);
+  fprintf (stream, "\n");
+
+  fprintf (stream, "LC_IDENTIFICATION\n");
+  fprintf (stream, "title     \"Unicode %s FDCC-set\"\n", version);
+  fprintf (stream, "source    \"UnicodeData.txt, PropList.txt\"\n");
+  fprintf (stream, "address   \"\"\n");
+  fprintf (stream, "contact   \"\"\n");
+  fprintf (stream, "email     \"bug-glibc@gnu.org\"\n");
+  fprintf (stream, "tel       \"\"\n");
+  fprintf (stream, "fax       \"\"\n");
+  fprintf (stream, "language  \"\"\n");
+  fprintf (stream, "territory \"Earth\"\n");
+  fprintf (stream, "revision  \"%s\"\n", version);
+  {
+    time_t now;
+    char date[11];
+    now = time (NULL);
+    strftime (date, sizeof (date), "%Y-%m-%d", gmtime (&now));
+    fprintf (stream, "date      \"%s\"\n", date);
+  }
+  fprintf (stream, "category  \"unicode:2001\";LC_CTYPE\n");
+  fprintf (stream, "END LC_IDENTIFICATION\n");
+  fprintf (stream, "\n");
+
+  /* Verifications. */
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      /* toupper restriction: "Only characters specified for the keywords
+        lower and upper shall be specified.  */
+      if (to_upper (ch) != ch && !(is_lower (ch) || is_upper (ch)))
+       fprintf (stderr,
+                "%s is not upper|lower but toupper(0x%04X) = 0x%04X\n",
+                ucs_symbol (ch), ch, to_upper (ch));
+
+      /* tolower restriction: "Only characters specified for the keywords
+        lower and upper shall be specified.  */
+      if (to_lower (ch) != ch && !(is_lower (ch) || is_upper (ch)))
+       fprintf (stderr,
+                "%s is not upper|lower but tolower(0x%04X) = 0x%04X\n",
+                ucs_symbol (ch), ch, to_lower (ch));
+
+      /* alpha restriction: "Characters classified as either upper or lower
+        shall automatically belong to this class.  */
+      if ((is_lower (ch) || is_upper (ch)) && !is_alpha (ch))
+       fprintf (stderr, "%s is upper|lower but not alpha\n", ucs_symbol (ch));
+
+      /* alpha restriction: "No character specified for the keywords cntrl,
+        digit, punct or space shall be specified."  */
+      if (is_alpha (ch) && is_cntrl (ch))
+       fprintf (stderr, "%s is alpha and cntrl\n", ucs_symbol (ch));
+      if (is_alpha (ch) && is_digit (ch))
+       fprintf (stderr, "%s is alpha and digit\n", ucs_symbol (ch));
+      if (is_alpha (ch) && is_punct (ch))
+       fprintf (stderr, "%s is alpha and punct\n", ucs_symbol (ch));
+      if (is_alpha (ch) && is_space (ch))
+       fprintf (stderr, "%s is alpha and space\n", ucs_symbol (ch));
+
+      /* space restriction: "No character specified for the keywords upper,
+        lower, alpha, digit, graph or xdigit shall be specified."
+        upper, lower, alpha already checked above.  */
+      if (is_space (ch) && is_digit (ch))
+       fprintf (stderr, "%s is space and digit\n", ucs_symbol (ch));
+      if (is_space (ch) && is_graph (ch))
+       fprintf (stderr, "%s is space and graph\n", ucs_symbol (ch));
+      if (is_space (ch) && is_xdigit (ch))
+       fprintf (stderr, "%s is space and xdigit\n", ucs_symbol (ch));
+
+      /* cntrl restriction: "No character specified for the keywords upper,
+        lower, alpha, digit, punct, graph, print or xdigit shall be
+        specified."  upper, lower, alpha already checked above.  */
+      if (is_cntrl (ch) && is_digit (ch))
+       fprintf (stderr, "%s is cntrl and digit\n", ucs_symbol (ch));
+      if (is_cntrl (ch) && is_punct (ch))
+       fprintf (stderr, "%s is cntrl and punct\n", ucs_symbol (ch));
+      if (is_cntrl (ch) && is_graph (ch))
+       fprintf (stderr, "%s is cntrl and graph\n", ucs_symbol (ch));
+      if (is_cntrl (ch) && is_print (ch))
+       fprintf (stderr, "%s is cntrl and print\n", ucs_symbol (ch));
+      if (is_cntrl (ch) && is_xdigit (ch))
+       fprintf (stderr, "%s is cntrl and xdigit\n", ucs_symbol (ch));
+
+      /* punct restriction: "No character specified for the keywords upper,
+        lower, alpha, digit, cntrl, xdigit or as the <space> character shall
+        be specified."  upper, lower, alpha, cntrl already checked above.  */
+      if (is_punct (ch) && is_digit (ch))
+       fprintf (stderr, "%s is punct and digit\n", ucs_symbol (ch));
+      if (is_punct (ch) && is_xdigit (ch))
+       fprintf (stderr, "%s is punct and xdigit\n", ucs_symbol (ch));
+      if (is_punct (ch) && (ch == 0x0020))
+       fprintf (stderr, "%s is punct\n", ucs_symbol (ch));
+
+      /* graph restriction: "No character specified for the keyword cntrl
+        shall be specified."  Already checked above.  */
+
+      /* print restriction: "No character specified for the keyword cntrl
+        shall be specified."  Already checked above.  */
+
+      /* graph - print relation: differ only in the <space> character.
+        How is this possible if there are more than one space character?!
+        I think susv2/xbd/locale.html should speak of "space characters",
+        not "space character".  */
+      if (is_print (ch) && !(is_graph (ch) || /* ch == 0x0020 */ is_space (ch)))
+       fprintf (stderr,
+                "%s is print but not graph|<space>\n", ucs_symbol (ch));
+      if (!is_print (ch) && (is_graph (ch) || ch == 0x0020))
+       fprintf (stderr,
+                "%s is graph|<space> but not print\n", ucs_symbol (ch));
+    }
+
+  fprintf (stream, "LC_CTYPE\n");
+  output_charclass (stream, "upper", is_upper);
+  output_charclass (stream, "lower", is_lower);
+  output_charclass (stream, "alpha", is_alpha);
+  output_charclass (stream, "digit", is_digit);
+  output_charclass (stream, "outdigit", is_outdigit);
+  output_charclass (stream, "blank", is_blank);
+  output_charclass (stream, "space", is_space);
+  output_charclass (stream, "cntrl", is_cntrl);
+  output_charclass (stream, "punct", is_punct);
+  output_charclass (stream, "xdigit", is_xdigit);
+  output_charclass (stream, "graph", is_graph);
+  output_charclass (stream, "print", is_print);
+  output_charclass (stream, "class \"combining\";", is_combining);
+  output_charclass (stream, "class \"combining_level3\";", is_combining_level3);
+  output_charmap (stream, "toupper", to_upper);
+  output_charmap (stream, "tolower", to_lower);
+  output_charmap (stream, "map \"totitle\";", to_title);
+  output_widthmap (stream);
+  fprintf (stream, "END LC_CTYPE\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+#endif
+
+int
+main (int argc, char * argv[])
+{
+  const char *unicodedata_filename;
+  const char *proplist_filename;
+  const char *derivedproplist_filename;
+  const char *scripts_filename;
+  const char *blocks_filename;
+  const char *proplist30_filename;
+  const char *version;
+
+  if (argc != 8)
+    {
+      fprintf (stderr, "Usage: %s UnicodeData.txt PropList.txt DerivedCoreProperties.txt Scripts.txt Blocks.txt PropList-3.0.1.txt version\n",
+              argv[0]);
+      exit (1);
+    }
+
+  unicodedata_filename = argv[1];
+  proplist_filename = argv[2];
+  derivedproplist_filename = argv[3];
+  scripts_filename = argv[4];
+  blocks_filename = argv[5];
+  proplist30_filename = argv[6];
+  version = argv[7];
+
+  fill_attributes (unicodedata_filename);
+  clear_properties ();
+  fill_properties (proplist_filename);
+  fill_properties (derivedproplist_filename);
+  fill_properties30 (proplist30_filename);
+  fill_scripts (scripts_filename);
+  fill_blocks (blocks_filename);
+
+  output_categories (version);
+  output_category ("categ_of.h", version);
+  output_combclass ("combining.h", version);
+  output_bidi_category ("bidi_of.h", version);
+  output_decimal_digit_test ("test-decdigit.h", version);
+  output_decimal_digit ("decdigit.h", version);
+  output_digit_test ("test-digit.h", version);
+  output_digit ("digit.h", version);
+  output_numeric_test ("test-numeric.h", version);
+  output_numeric ("numeric.h", version);
+  output_mirror ("mirror.h", version);
+  output_properties (version);
+  output_scripts (version);
+  output_scripts_byname (version);
+  output_blocks (version);
+  output_ident_properties (version);
+  output_old_ctype (version);
+
+  return 0;
+}
+
+/*
+ * For Emacs M-x compile
+ * Local Variables:
+ * compile-command: "
+   gcc -O -Wall gen-ctype.c -o gen-ctype && \
+   ./gen-ctype \
+        /gfs/ibook/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.0.0/ucd/UnicodeData.txt \
+        /gfs/ibook/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.0.0/ucd/PropList.txt \
+        /gfs/ibook/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.0.0/ucd/DerivedCoreProperties.txt \
+        /gfs/ibook/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.0.0/ucd/Scripts.txt \
+        /gfs/ibook/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.0.0/ucd/Blocks.txt \
+        /gfs/ibook/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/3.0.1/PropList-3.0.1.txt \
+        5.0.0
+   "
+ * End:
+ */
diff --git a/lib/unictype/identsyntaxmap.h b/lib/unictype/identsyntaxmap.h
new file mode 100644 (file)
index 0000000..5d9db39
--- /dev/null
@@ -0,0 +1,42 @@
+/* Three-level bitmap lookup.
+   Copyright (C) 2000-2002, 2005-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2000-2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+static inline int identsyntax_lookup (ucs4_t uc);
+
+static inline int
+identsyntax_lookup (ucs4_t uc)
+{
+  unsigned int index1 = uc >> identsyntax_header_0;
+  if (index1 < identsyntax_header_1)
+    {
+      int lookup1 = TABLE.level1[index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> identsyntax_header_2) & identsyntax_header_3;
+         int lookup2 = TABLE.level2[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = (uc & identsyntax_header_4) + lookup2;
+             /* level3 contains 2-bit values.  */
+             unsigned int lookup3 = TABLE.level3[index3 >> 3];
+
+             return (lookup3 >> (2 * (index3 & 7))) & 3;
+           }
+       }
+    }
+  return UC_IDENTIFIER_INVALID;
+}
diff --git a/lib/unictype/mirror.c b/lib/unictype/mirror.c
new file mode 100644 (file)
index 0000000..7577544
--- /dev/null
@@ -0,0 +1,49 @@
+/* Mirrored Unicode characters.
+   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_mirror table.  */
+#include "mirror.h"
+
+bool
+uc_mirror_char (ucs4_t uc, ucs4_t *puc)
+{
+  unsigned int index1 = uc >> mirror_header_0;
+  if (index1 < mirror_header_1)
+    {
+      int lookup1 = u_mirror.level1[index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> mirror_header_2) & mirror_header_3;
+         int lookup2 = u_mirror.level2[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = (uc & mirror_header_4);
+             int lookup3 = u_mirror.level3[lookup2 + index3];
+
+             *puc = uc + lookup3;
+             return (lookup3 != 0);
+           }
+       }
+    }
+  *puc = uc;
+  return false;
+}
diff --git a/lib/unictype/mirror.h b/lib/unictype/mirror.h
new file mode 100644 (file)
index 0000000..8abad38
--- /dev/null
@@ -0,0 +1,503 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Mirrored Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define mirror_header_0 16
+#define mirror_header_1 2
+#define mirror_header_2 7
+#define mirror_header_3 511
+#define mirror_header_4 127
+static const
+struct
+  {
+    int level1[2];
+    short level2[2 << 9];
+    int level3[22 << 7];
+  }
+u_mirror =
+{
+  {     0,   512 },
+  {
+        0,   128,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,   256,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,   384,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      512,   640,   768,    -1,   896,  1024,  1152,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  1280,  1408,
+       -1,    -1,    -1,  1536,  1664,  1792,    -1,    -1,
+       -1,    -1,    -1,    -1,  1920,    -1,    -1,    -1,
+     2048,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  2176,    -1,  2304,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,  2432,  2560,  2688,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
+  },
+  {
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        1,    -1,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     2,     0,    -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,     2,     0,    -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,     2,     0,    -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,    16,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,   -16,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0, 61635, 61634, 61633, 61632,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0, 59746, 59745,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+    57317, 57316, 57315, 57314, 57313, 57312, 57311, 57310,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     1,    -1,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     1,    -1,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     1,    -1,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     1,    -1,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+    57021,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0, 56828, 56827, 56826, 56825,     0,     0,     0,
+        3, 56820,     3,    -3, 56817,    -3,     0,     0,
+        0, 56812,     0,     0,     0, 56808, 56807,     0,
+        0,     0, 56803, 56802, 56801, 56800,     0, 56798,
+    56797, 56796, 56795,     0, 56793,     0, 56791,     0,
+        0,     0,     0, 56786, 56785, 56784, 56783, 56782,
+    56781, 56780, 56779, 56778,     0,     0,     0,     0,
+        0, 56772,     0, 56770,     1,    -1, 56767, 56766,
+    56765, 56764, 56763,   138, 56761, 56760, 56759, 56758,
+    56757, 56756, 56755, 56754, 56753,     0,     0,     0,
+        0,     0,     1,    -1,     1,    -1,     0,     0,
+        0,     0,     0,     0,     0,     0,     0, 56734,
+    56733,     0, 56731,     0,     1,    -1,     1,    -1,
+    56725, 56724,     1,    -1,     0,     0, 56719, 56718,
+    56717, 56716, 56715, 56714, 56713, 56712,     1,    -1,
+        1,    -1,     1,    -1,     1,    -1, 56703, 56702,
+    56701, 56700,     1,    -1, 56697, 56696,     1,    -1,
+    56693, 56692, 56691, 56690, 56689,     0,     0,     1,
+       -1,     1,    -1,     0,     0,     0,     0,     0,
+    56677,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     1,    -1,     0,     0, 56663, 56662,
+    56661, 56660, 56659, 56658, 56657, 56656, 56655, 56654,
+        1,    -1,     1,    -1,     1,    -1,     1,    -1,
+    56645,     0,     0,     0,     0,     0, 56639, 56638,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     1,    -1,     1,    -1,  -138,     0,     0,
+        1,    -1,     0,     0,     0,     0,     1,    -1,
+        1,    -1,     1,    -1,     1,    -1,     1,    -1,
+    56605, 56604, 56603, 56602, 56601, 56600, 56599, 56598,
+    56597, 56596, 56595, 56594, 56593, 56592,     0,     0,
+        1,    -1, 56587, 56586, 56585, 56584, 56583, 56582,
+    56581, 56580, 56579, 56578, 56577, 56576, 56575, 56574,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        1,    -1,     1,    -1,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+    56541, 56540,     0,     0,     0,     0,     0,     0,
+        0,     1,    -1,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+    55445, 55444, 55443, 55442, 55441, 55440, 55439, 55438,
+    55437, 55436, 55435, 55434, 55433, 55432,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+    55357,     0,     0, 55354, 55353, 55352, 55351,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0, 55338, 55337, 55336, 55335,     0,
+        0,     0,     0,     0, 55329, 55328, 55327,     0,
+        0,     0, 55323, 55322, 55321, 55320, 55319, 55318,
+    55317, 55316, 55315, 55314,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0, 54906, 54905, 54904, 54903, 54902,
+    54901, 54900, 54899, 54898, 54897, 54896, 54895, 54894,
+    54893, 54892, 54891, 54890, 54889, 54888, 54887, 54886,
+    54885,     0,     0, 54882, 54881, 54880, 54879, 54878,
+    54877, 54876, 54875, 54874, 54873, 54872, 54871, 54870,
+    54869, 54868, 54867, 54866, 54865, 54864, 54863, 54862,
+        0,     0,     0,     0,     0,     0,     0,     0,
+    54853,     0,     0,     0,     0,     0,     0,     0,
+    54845, 54844, 54843, 54842, 54841, 54840,     0,     0,
+        0, 54836,     0,     0,     0,     0, 54831, 54830,
+    54829, 54828, 54827,     0, 54825, 54824,     0,     0,
+    54821, 54820, 54819, 54818, 54817,     0,     0,     0,
+        0, 54812,     0, 54810, 54809, 54808,     0,     0,
+    54805, 54804,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0, 54793, 54792, 54791, 54790,
+    54789, 54788,     0,     0, 54785, 54784,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0, 54771, 54770, 54769, 54768, 54767, 54766,
+    54765, 54764, 54763, 54762, 54761, 54760, 54759, 54758,
+    54757, 54756, 54755, 54754, 54753,     0, 54751, 54750,
+    54749, 54748,     0,     0, 54745,     0, 54743,     0,
+        0, 54740,     0, 54738, 54737, 54736, 54735,     0,
+        0,     0,     0,     0, 54729, 54728,     0,     0,
+        0,     0,     0,     0, 54721, 54720, 54719,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0, 54694,
+    54693,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0, 54681, 54680,     0,     0,
+        0,     0, 54675, 54674, 54673, 54672,     0, 54670,
+    54669,     0,     0, 54666, 54665,     0,     0,     0,
+        0, 54660, 54659, 54658, 54657, 54656, 54655, 54654,
+    54653, 54652, 54651, 54650, 54649, 54648, 54647, 54646,
+    54645, 54644, 54643, 54642, 54641, 54640, 54639, 54638,
+    54637, 54636, 54635, 54634, 54633, 54632, 54631, 54630,
+    54629, 54628, 54627, 54626, 54625, 54624, 54623, 54622,
+    54621, 54620, 54619, 54618,     0,     0, 54615, 54614,
+    54613, 54612, 54611, 54610, 54609, 54608,     0, 54606,
+    54605, 54604, 54603, 54602, 54601, 54600, 54599, 54598,
+    54597, 54596, 54595, 54594, 54593, 54592, 54591, 54590,
+    54589, 54588, 54587, 54586, 54585, 54584, 54583, 54582,
+    54581, 54580, 54579, 54578, 54577, 54576, 54575, 54574,
+    54573, 54572, 54571, 54570, 54569, 54568, 54567,     0,
+        0,     0,     0,     0, 54561,     0, 54559,     0,
+        0,     0, 54555, 54554, 54553, 54552, 54551,     0,
+        0,     0,     0,     0, 54545, 54544, 54543,     0,
+        0,     0,     0, 54538,     0,     0,     0, 54534,
+    54533, 54532, 54531, 54530,     0, 54528,     0,     0,
+        0,     0, 53755, 53754, 53753, 53752,     0,     0,
+        0, 53748, 53747,     0, 53745, 53744,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0, 53729, 53728,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        1,    -1,     1,    -1,     1,    -1,     1,    -1,
+        1,    -1,     0,     0,     1,    -1,     1,    -1,
+        1,    -1,     1,    -1,     0, 53216, 53215, 53214,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,   420,   419,   418,   417,   416,   415,     0,
+        0,     0,     0,     0,   409,   408,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+      245,   244,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,   225,     0,   223,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,   194,     0,   192,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,   162,     0,   160,     0,   158,
+      157,     0,   155,   154,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0, -55006,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0, -55064,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0, -55122,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0, -55180,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0, -55238,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0
+  }
+};
diff --git a/lib/unictype/numeric.c b/lib/unictype/numeric.c
new file mode 100644 (file)
index 0000000..fb1512e
--- /dev/null
@@ -0,0 +1,55 @@
+/* Values of numeric Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+/* Define u_numeric_values and u_numeric tables.  */
+#include "numeric.h"
+
+uc_fraction_t
+uc_numeric_value (ucs4_t uc)
+{
+  unsigned int index1 = uc >> numeric_header_0;
+  if (index1 < numeric_header_1)
+    {
+      int lookup1 = u_numeric.level1[index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> numeric_header_2) & numeric_header_3;
+         int lookup2 = u_numeric.level2[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = ((uc & numeric_header_4) + lookup2) * 7;
+             /* level3 contains 7-bit values, packed into 16-bit words.  */
+             unsigned int lookup3 =
+               ((u_numeric.level3[index3>>4]
+                 | (u_numeric.level3[(index3>>4)+1] << 16))
+                >> (index3 % 16))
+               & 0x7f;
+
+             return u_numeric_values[lookup3];
+           }
+       }
+    }
+  {
+    const uc_fraction_t default_value = { 0, 0 };
+    return default_value;
+  }
+}
diff --git a/lib/unictype/numeric.h b/lib/unictype/numeric.h
new file mode 100644 (file)
index 0000000..8d952ff
--- /dev/null
@@ -0,0 +1,528 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Numeric values of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+static const uc_fraction_t u_numeric_values[107] =
+{
+  { 0, 0 },
+  { 0, 1 },
+  { 1, 1 },
+  { 2, 1 },
+  { 3, 1 },
+  { 4, 1 },
+  { 5, 1 },
+  { 6, 1 },
+  { 7, 1 },
+  { 8, 1 },
+  { 9, 1 },
+  { 10, 1 },
+  { 11, 1 },
+  { 12, 1 },
+  { 13, 1 },
+  { 14, 1 },
+  { 15, 1 },
+  { 16, 1 },
+  { 17, 1 },
+  { 18, 1 },
+  { 19, 1 },
+  { 20, 1 },
+  { 21, 1 },
+  { 22, 1 },
+  { 23, 1 },
+  { 24, 1 },
+  { 25, 1 },
+  { 26, 1 },
+  { 27, 1 },
+  { 28, 1 },
+  { 29, 1 },
+  { 30, 1 },
+  { 31, 1 },
+  { 32, 1 },
+  { 33, 1 },
+  { 34, 1 },
+  { 35, 1 },
+  { 36, 1 },
+  { 37, 1 },
+  { 38, 1 },
+  { 39, 1 },
+  { 40, 1 },
+  { 41, 1 },
+  { 42, 1 },
+  { 43, 1 },
+  { 44, 1 },
+  { 45, 1 },
+  { 46, 1 },
+  { 47, 1 },
+  { 48, 1 },
+  { 49, 1 },
+  { 50, 1 },
+  { 60, 1 },
+  { 70, 1 },
+  { 80, 1 },
+  { 90, 1 },
+  { 100, 1 },
+  { 200, 1 },
+  { 300, 1 },
+  { 400, 1 },
+  { 500, 1 },
+  { 600, 1 },
+  { 700, 1 },
+  { 800, 1 },
+  { 900, 1 },
+  { 1000, 1 },
+  { 2000, 1 },
+  { 3000, 1 },
+  { 4000, 1 },
+  { 5000, 1 },
+  { 6000, 1 },
+  { 7000, 1 },
+  { 8000, 1 },
+  { 9000, 1 },
+  { 10000, 1 },
+  { 20000, 1 },
+  { 30000, 1 },
+  { 40000, 1 },
+  { 50000, 1 },
+  { 60000, 1 },
+  { 70000, 1 },
+  { 80000, 1 },
+  { 90000, 1 },
+  { -1, 2 },
+  { 1, 2 },
+  { 3, 2 },
+  { 5, 2 },
+  { 7, 2 },
+  { 9, 2 },
+  { 11, 2 },
+  { 13, 2 },
+  { 15, 2 },
+  { 17, 2 },
+  { 1, 3 },
+  { 2, 3 },
+  { 1, 4 },
+  { 3, 4 },
+  { 1, 5 },
+  { 2, 5 },
+  { 3, 5 },
+  { 4, 5 },
+  { 1, 6 },
+  { 5, 6 },
+  { 1, 8 },
+  { 3, 8 },
+  { 5, 8 },
+  { 7, 8 }
+};
+#define numeric_header_0 16
+#define numeric_header_1 2
+#define numeric_header_2 7
+#define numeric_header_3 511
+#define numeric_header_4 127
+static const
+struct
+  {
+    int level1[2];
+    short level2[2 << 9];
+    unsigned short level3[38 * 56 + 1];
+  }
+u_numeric =
+{
+  {     0,   512 },
+  {
+        0,   128,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,   256,   384,    -1,   512,
+       -1,    -1,   640,   768,   640,   640,   640,   896,
+      640,   640,   640,    -1,  1024,  1024,  1152,    -1,
+      512,    -1,    -1,    -1,    -1,    -1,  1280,    -1,
+       -1,    -1,    -1,    -1,    -1,  1408,    -1,  1536,
+     1664,    -1,  1792,  1024,    -1,    -1,  1024,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     1920,  2048,  2176,  2304,    -1,    -1,    -1,    -1,
+     2432,  2560,    -1,    -1,    -1,    -1,  2688,  2816,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  2944,    -1,    -1,    -1,    -1,    -1,    -1,
+     3072,    -1,    -1,  3200,  3328,  3456,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  1664,    -1,
+       -1,    -1,  3584,  3712,    -1,    -1,  3840,  3968,
+       -1,  4096,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  4224,    -1,  4352,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4480,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  4608,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4736,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
+  },
+  {
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc101, 0x5080, 0x1c30,
+    0x0910, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc000, 0x0080, 0x0000,
+    0x0000, 0x0001, 0xa5f0, 0x0182, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xc101, 0x5080, 0x1c30, 0x0910, 0x0005, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xc101, 0x5080, 0x1c30, 0x0910, 0x0005, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xc101, 0x5080, 0x1c30, 0x0910,
+    0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0304, 0xc142, 0x4070,
+    0x1424, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0304, 0xc142, 0x4070,
+    0x1424, 0x0000, 0x2000, 0x1018, 0x800a, 0x0008, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0304, 0xc142, 0x4070,
+    0x1424, 0x5c0b, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0xc101, 0x5080, 0x1c30, 0x0910, 0x0005,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc101, 0x5080,
+    0x1c30, 0x0910, 0xb505, 0xbd6a, 0xb362, 0x2dda, 0x0a77, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x80c1, 0x3050,
+    0x101c, 0xc509, 0xf2a2, 0xcd49, 0x3568, 0x0ddb, 0x04a7, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x2648, 0x0014, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xc101, 0x5080, 0x1c30, 0x0910, 0x0005, 0x0000,
+    0x0000, 0xc101, 0x5080, 0x1c30, 0x0910, 0x0005, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc101,
+    0x5080, 0x1c30, 0x0910, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0304,
+    0xc142, 0x4070, 0x1424, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0001, 0x5000, 0x1c30, 0x0910, 0x0005, 0x0000, 0x0000,
+    0xc101, 0x5080, 0x1c30, 0x0910, 0x0005, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xeba0, 0x8b0d, 0xe4c7, 0xf9b2,
+    0x4e8c, 0x05ab, 0x0182, 0x60a1, 0x2038, 0x8a12, 0xa305, 0xc331,
+    0x82f1, 0x0182, 0x60a1, 0x2038, 0x8a12, 0xa305, 0xc331, 0x82f1,
+    0xa2c1, 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0182, 0x60a1, 0x2038, 0x8a12, 0xa305, 0x78e1,
+    0x2240, 0x0992, 0x22a5, 0x1018, 0x860a, 0x2203, 0x58a1, 0x1a30,
+    0x078e, 0x2224, 0x5099, 0x822a, 0xa101, 0x3860, 0x1220, 0x058a,
+    0xe1a3, 0x4078, 0x9222, 0xa509, 0x0002, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8040, 0x70d1,
+    0x203c, 0xc911, 0x5284, 0x0c11, 0x0508, 0x01c3, 0x5091, 0x022c,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0800, 0x8406, 0xe182, 0x4880, 0x1628,
+    0x0182, 0x60a1, 0x2038, 0x8a12, 0x6085, 0x2840, 0x0e18, 0x8488,
+    0x0162, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x0002,
+    0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc100, 0x5080,
+    0x1c30, 0x0910, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x8b00, 0x07ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+    0x4060, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0182, 0x60a1,
+    0x2038, 0x8a12, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0xcb00, 0x9305, 0x6cd1, 0x1d38, 0x07cf,
+    0x1214, 0x488d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0182, 0x60a1, 0x2038, 0x8a12, 0x0005, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9280, 0x84e9, 0xa94a,
+    0xac56, 0xeb96, 0x8b05, 0x66c9, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0304, 0xc142, 0x4070, 0x1424, 0xca8b,
+    0x3527, 0xd5a3, 0x376c, 0x4e5c, 0xe3b7, 0x7cf5, 0x603f, 0x3850,
+    0x1624, 0x478d, 0x5264, 0x64b9, 0x9d36, 0x684f, 0x0a54, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xaa5f, 0x30c0, 0x15e3, 0x869d,
+    0x0cc5, 0x0bc7, 0x0d16, 0x198b, 0x178e, 0x3a54, 0x0217, 0x6081,
+    0x1830, 0x0c0c, 0xc58b, 0xb162, 0xccf8, 0xb366, 0x4e19, 0xe3c7,
+    0x78f1, 0x60bc, 0x30d1, 0x52a3, 0x60bd, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc302, 0x0662,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x1b80, 0x0000, 0x0000, 0x0000,
+    0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0xc100, 0x5160, 0x01c1, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc101, 0x5080,
+    0x1c30, 0x0910, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0800, 0x1516, 0x001c, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0182, 0xb0a1, 0xe0a8, 0x0082,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x4203, 0x70c1, 0x2440, 0x8414, 0xe182, 0x4880, 0x0a28, 0x0386,
+    0xa122, 0x0c10, 0x0508, 0x01c3, 0x5091, 0x0608, 0x8284, 0x4061,
+    0x1420, 0x070c, 0x4244, 0x1821, 0x0810, 0x0305, 0x2000, 0x1018,
+    0x0508, 0x8103, 0x2850, 0x0a14, 0x0407, 0x9102, 0x2848, 0x0a14,
+    0x80c5, 0x3050, 0x041c, 0x4203, 0x60a1, 0x0030, 0x8200, 0xd741,
+    0xee6b, 0xcf7a, 0xf2df, 0x0017, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0182, 0x60a1, 0x2038, 0x8a12, 0xe545, 0x9a93,
+    0x6ad1, 0x1bb6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0404, 0x4203, 0x70c1, 0x2440, 0x0114, 0x80c1,
+    0x3050, 0x101c, 0x4509, 0x3040, 0x1420, 0x070c, 0x4244, 0x1011,
+    0x080c, 0xc305, 0x9101, 0x0450, 0x0304, 0xc142, 0x4070, 0x1424,
+    0x0000
+  }
+};
diff --git a/lib/unictype/pr_alphabetic.c b/lib/unictype/pr_alphabetic.c
new file mode 100644 (file)
index 0000000..9992091
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_alphabetic table.  */
+#include "pr_alphabetic.h"
+
+bool
+uc_is_property_alphabetic (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_alphabetic, uc);
+}
+
+const uc_property_t UC_PROPERTY_ALPHABETIC =
+  { &uc_is_property_alphabetic };
diff --git a/lib/unictype/pr_alphabetic.h b/lib/unictype/pr_alphabetic.h
new file mode 100644 (file)
index 0000000..979825d
--- /dev/null
@@ -0,0 +1,580 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[42 << 4];
+  }
+u_property_alphabetic =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+        4 * sizeof (int) / sizeof (short) +   128,
+        4 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+        4 +   384 * sizeof (short) / sizeof (int) +     0,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    32,
+        4 +   384 * sizeof (short) / sizeof (int) +    48,
+        4 +   384 * sizeof (short) / sizeof (int) +    64,
+        4 +   384 * sizeof (short) / sizeof (int) +    80,
+        4 +   384 * sizeof (short) / sizeof (int) +    96,
+        4 +   384 * sizeof (short) / sizeof (int) +   112,
+        4 +   384 * sizeof (short) / sizeof (int) +   128,
+        4 +   384 * sizeof (short) / sizeof (int) +   144,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   176,
+        4 +   384 * sizeof (short) / sizeof (int) +   192,
+        4 +   384 * sizeof (short) / sizeof (int) +   208,
+        4 +   384 * sizeof (short) / sizeof (int) +   224,
+        4 +   384 * sizeof (short) / sizeof (int) +   240,
+        4 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   352,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   368,
+        4 +   384 * sizeof (short) / sizeof (int) +   384,
+        4 +   384 * sizeof (short) / sizeof (int) +   400,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   416,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   432,
+        4 +   384 * sizeof (short) / sizeof (int) +   448,
+        4 +   384 * sizeof (short) / sizeof (int) +   464,
+        4 +   384 * sizeof (short) / sizeof (int) +   480,
+        4 +   384 * sizeof (short) / sizeof (int) +   496,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
+        4 +   384 * sizeof (short) / sizeof (int) +   528,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   544,
+        4 +   384 * sizeof (short) / sizeof (int) +   560,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000401F,
+    0x00000000, 0x00000000, 0x00000020, 0x3C000000,
+    0xFFFFD740, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFBFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
+    0x000000FF, 0xBFFF0000, 0xFFFF00B6, 0x000707FF,
+    0x003F0000, 0x07FFFFFE, 0x7EFFFFFF, 0xFFFFC000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x1FEFFFFF, 0x9C00E1FE,
+    0xFFFF0000, 0xFFFFFFFF, 0xFFFFE000, 0x00003FFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFFFFC00, 0x043007FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFE, 0xE3FFFFFF, 0xFF011FFF, 0xF800000F,
+    0xFFF99FEE, 0xE3C5FDFF, 0xB080599F, 0x0003000F,
+    0xFFF987EE, 0xC36DFDFF, 0x5E001987, 0x001F0000,
+    0xFFFBBFEE, 0xE3EDFDFF, 0x00011BBF, 0x0000000F,
+    0xFFF99FEE, 0xE3EDFDFF, 0xB0C0198F, 0x00020003,
+    0xD63DC7EC, 0xC3FFC718, 0x00801DC7, 0x00000000,
+    0xFFFDDFEE, 0xC3EFFDFF, 0x00601DDF, 0x00000003,
+    0xFFFDDFEC, 0xE3EFFDFF, 0x40601DDF, 0x0000000F,
+    0xFFFDDFEC, 0xC3FFFDFF, 0x00801DCF, 0x00000003,
+    0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F807F, 0x000C0000,
+    0xFFFFFFFE, 0x07FFFFFF, 0x0000207F, 0x00000000,
+    0xFEF02596, 0x3BFFECAE, 0x3000205F, 0x00000000,
+    0x00000001, 0x00000000, 0xFFFFFEFF, 0xFFFE07FF,
+    0xFEFF0F03, 0x1FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x0147F6FB, 0x03FF0000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x00000000,
+    0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
+    0x000FDFFF, 0x000FFFFF, 0x000FFFFF, 0x000DDFFF,
+    0xFFFFFFFF, 0xFFCFFFFF, 0x108001FF, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x01FF0FFF, 0xFFFF0000, 0x001F3FFF,
+    0xFFFFFFFF, 0xFFFF03FF, 0x000003FF, 0x00000000,
+    0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFEFFFFF, 0x00000FEF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x001F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x3E2FFC84, 0xF3FFBD50, 0x000043E0, 0xFFFFFFFF,
+    0x0000001F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xE07FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFF7BB, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xE0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFDF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x000FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+    0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+    0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_ascii_hex_digit.c b/lib/unictype/pr_ascii_hex_digit.c
new file mode 100644 (file)
index 0000000..90d3d3a
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_ascii_hex_digit table.  */
+#include "pr_ascii_hex_digit.h"
+
+bool
+uc_is_property_ascii_hex_digit (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_ascii_hex_digit, uc);
+}
+
+const uc_property_t UC_PROPERTY_ASCII_HEX_DIGIT =
+  { &uc_is_property_ascii_hex_digit };
diff --git a/lib/unictype/pr_ascii_hex_digit.h b/lib/unictype/pr_ascii_hex_digit.h
new file mode 100644 (file)
index 0000000..cb9905c
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_ascii_hex_digit =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x0000007E, 0x0000007E,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_arabic_digit.c b/lib/unictype/pr_bidi_arabic_digit.c
new file mode 100644 (file)
index 0000000..15f5f6b
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_arabic_digit table.  */
+#include "pr_bidi_arabic_digit.h"
+
+bool
+uc_is_property_bidi_arabic_digit (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_arabic_digit, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_arabic_digit (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_AN);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_ARABIC_DIGIT =
+  { &uc_is_property_bidi_arabic_digit };
diff --git a/lib/unictype/pr_bidi_arabic_digit.h b/lib/unictype/pr_bidi_arabic_digit.h
new file mode 100644 (file)
index 0000000..1b62d7e
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_bidi_arabic_digit =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00001BFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_arabic_right_to_left.c b/lib/unictype/pr_bidi_arabic_right_to_left.c
new file mode 100644 (file)
index 0000000..8166767
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_arabic_right_to_left table.  */
+#include "pr_bidi_arabic_right_to_left.h"
+
+bool
+uc_is_property_bidi_arabic_right_to_left (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_arabic_right_to_left, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_arabic_right_to_left (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_AL);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT =
+  { &uc_is_property_bidi_arabic_right_to_left };
diff --git a/lib/unictype/pr_bidi_arabic_right_to_left.h b/lib/unictype/pr_bidi_arabic_right_to_left.h
new file mode 100644 (file)
index 0000000..c7ce3aa
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_property_bidi_arabic_right_to_left =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        2 +   128 * sizeof (short) / sizeof (int) +    64
+  },
+  {
+    0xFFC02FFF, 0xFFFFFFFF, 0x800007FF, 0xFFFEE000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x203FFFFF, 0xFC00C060,
+    0xFFFD7FFF, 0x0000FFFF, 0xFFFFF800, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFE003F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000003F0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0xDFFF0000,
+    0xFC000000, 0x0000FFF0, 0x00080000, 0xFFFFF080,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_block_separator.c b/lib/unictype/pr_bidi_block_separator.c
new file mode 100644 (file)
index 0000000..1775d36
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_block_separator table.  */
+#include "pr_bidi_block_separator.h"
+
+bool
+uc_is_property_bidi_block_separator (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_block_separator, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_block_separator (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_B);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_BLOCK_SEPARATOR =
+  { &uc_is_property_bidi_block_separator };
diff --git a/lib/unictype/pr_bidi_block_separator.h b/lib/unictype/pr_bidi_block_separator.h
new file mode 100644 (file)
index 0000000..474a284
--- /dev/null
@@ -0,0 +1,160 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[2 << 4];
+  }
+u_property_bidi_block_separator =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x70002400, 0x00000000, 0x00000000, 0x00000000,
+    0x00000020, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_boundary_neutral.c b/lib/unictype/pr_bidi_boundary_neutral.c
new file mode 100644 (file)
index 0000000..923e89f
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_boundary_neutral table.  */
+#include "pr_bidi_boundary_neutral.h"
+
+bool
+uc_is_property_bidi_boundary_neutral (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_boundary_neutral, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_boundary_neutral (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_BN);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL =
+  { &uc_is_property_bidi_boundary_neutral };
diff --git a/lib/unictype/pr_bidi_boundary_neutral.h b/lib/unictype/pr_bidi_boundary_neutral.h
new file mode 100644 (file)
index 0000000..672a1e2
--- /dev/null
@@ -0,0 +1,590 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[4 << 7];
+    /*unsigned*/ int level3[9 << 4];
+  }
+u_property_bidi_boundary_neutral =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       18 +   512 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    48,
+       18 +   512 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    96,
+       18 +   512 * sizeof (short) / sizeof (int) +   112,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    96
+  },
+  {
+    0x0FFFC1FF, 0x00000000, 0x00000000, 0x80000000,
+    0xFFFFFFDF, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00008000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00003800, 0x00000000, 0x00000000, 0x0000FC0F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xC1FF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x07F80000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xC0000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_bidi_common_separator.c b/lib/unictype/pr_bidi_common_separator.c
new file mode 100644 (file)
index 0000000..2cc1f14
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_common_separator table.  */
+#include "pr_bidi_common_separator.h"
+
+bool
+uc_is_property_bidi_common_separator (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_common_separator, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_common_separator (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_CS);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_COMMON_SEPARATOR =
+  { &uc_is_property_bidi_common_separator };
diff --git a/lib/unictype/pr_bidi_common_separator.h b/lib/unictype/pr_bidi_common_separator.h
new file mode 100644 (file)
index 0000000..db47de4
--- /dev/null
@@ -0,0 +1,168 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[4 << 4];
+  }
+u_property_bidi_common_separator =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48
+  },
+  {
+    0x00000000, 0x0400D000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00001000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00008000, 0x00000010, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00250000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0400D000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_control.c b/lib/unictype/pr_bidi_control.c
new file mode 100644 (file)
index 0000000..9a4f209
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_control table.  */
+#include "pr_bidi_control.h"
+
+bool
+uc_is_property_bidi_control (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_control, uc);
+}
+
+const uc_property_t UC_PROPERTY_BIDI_CONTROL =
+  { &uc_is_property_bidi_control };
diff --git a/lib/unictype/pr_bidi_control.h b/lib/unictype/pr_bidi_control.h
new file mode 100644 (file)
index 0000000..e81caea
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_bidi_control =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x0000C000, 0x00007C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_embedding_or_override.c b/lib/unictype/pr_bidi_embedding_or_override.c
new file mode 100644 (file)
index 0000000..7026522
--- /dev/null
@@ -0,0 +1,49 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_embedding_or_override table.  */
+#include "pr_bidi_embedding_or_override.h"
+
+bool
+uc_is_property_bidi_embedding_or_override (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_embedding_or_override, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_embedding_or_override (ucs4_t uc)
+{
+  int category = uc_bidi_category (uc);
+  return (category == UC_BIDI_LRE || category == UC_BIDI_LRO
+         || category == UC_BIDI_RLE || category == UC_BIDI_RLO);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE =
+  { &uc_is_property_bidi_embedding_or_override };
diff --git a/lib/unictype/pr_bidi_embedding_or_override.h b/lib/unictype/pr_bidi_embedding_or_override.h
new file mode 100644 (file)
index 0000000..f2981d8
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_bidi_embedding_or_override =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00006C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_eur_num_separator.c b/lib/unictype/pr_bidi_eur_num_separator.c
new file mode 100644 (file)
index 0000000..53d3ea7
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_eur_num_separator table.  */
+#include "pr_bidi_eur_num_separator.h"
+
+bool
+uc_is_property_bidi_eur_num_separator (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_eur_num_separator, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_eur_num_separator (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_ES);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR =
+  { &uc_is_property_bidi_eur_num_separator };
diff --git a/lib/unictype/pr_bidi_eur_num_separator.h b/lib/unictype/pr_bidi_eur_num_separator.h
new file mode 100644 (file)
index 0000000..9d1d5cf
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_property_bidi_eur_num_separator =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64
+  },
+  {
+    0x00000000, 0x00002800, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0C000000,
+    0x00000C00, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00040000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000000C,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00002800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_eur_num_terminator.c b/lib/unictype/pr_bidi_eur_num_terminator.c
new file mode 100644 (file)
index 0000000..de1f4ab
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_eur_num_terminator table.  */
+#include "pr_bidi_eur_num_terminator.h"
+
+bool
+uc_is_property_bidi_eur_num_terminator (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_eur_num_terminator, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_eur_num_terminator (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_ET);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR =
+  { &uc_is_property_bidi_eur_num_terminator };
diff --git a/lib/unictype/pr_bidi_eur_num_terminator.h b/lib/unictype/pr_bidi_eur_num_terminator.h
new file mode 100644 (file)
index 0000000..7915bd5
--- /dev/null
@@ -0,0 +1,188 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[9 << 4];
+  }
+u_property_bidi_eur_num_terminator =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   128
+  },
+  {
+    0x00000000, 0x00000038, 0x00000000, 0x00000000,
+    0x00000000, 0x0003003C, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000400,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000C0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x02000000,
+    0x00000000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x08000000, 0x00000000,
+    0x00000000, 0x001F0000, 0x00000000, 0x00000000,
+    0x00000000, 0x003FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00004000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00080000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000600,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000038, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000063
+  }
+};
diff --git a/lib/unictype/pr_bidi_european_digit.c b/lib/unictype/pr_bidi_european_digit.c
new file mode 100644 (file)
index 0000000..e27c5d3
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_european_digit table.  */
+#include "pr_bidi_european_digit.h"
+
+bool
+uc_is_property_bidi_european_digit (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_european_digit, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_european_digit (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_EN);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_EUROPEAN_DIGIT =
+  { &uc_is_property_bidi_european_digit };
diff --git a/lib/unictype/pr_bidi_european_digit.h b/lib/unictype/pr_bidi_european_digit.h
new file mode 100644 (file)
index 0000000..ff54610
--- /dev/null
@@ -0,0 +1,307 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[6 << 4];
+  }
+u_property_bidi_european_digit =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x020C0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03F10000,
+    0x000003FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0FFFFF00, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_bidi_hebrew_right_to_left.c b/lib/unictype/pr_bidi_hebrew_right_to_left.c
new file mode 100644 (file)
index 0000000..9dced03
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_hebrew_right_to_left table.  */
+#include "pr_bidi_hebrew_right_to_left.h"
+
+bool
+uc_is_property_bidi_hebrew_right_to_left (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_hebrew_right_to_left, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_hebrew_right_to_left (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_R);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT =
+  { &uc_is_property_bidi_hebrew_right_to_left };
diff --git a/lib/unictype/pr_bidi_hebrew_right_to_left.h b/lib/unictype/pr_bidi_hebrew_right_to_left.h
new file mode 100644 (file)
index 0000000..105bdd4
--- /dev/null
@@ -0,0 +1,315 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[8 << 4];
+  }
+u_property_bidi_hebrew_right_to_left =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00010000, 0x40000000, 0xFFFFFF49, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xFC3007FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00008000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xA0000000, 0xFFFFFDFF, 0x0000FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF0F91, 0x78FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_bidi_left_to_right.c b/lib/unictype/pr_bidi_left_to_right.c
new file mode 100644 (file)
index 0000000..fee8443
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_left_to_right table.  */
+#include "pr_bidi_left_to_right.h"
+
+bool
+uc_is_property_bidi_left_to_right (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_left_to_right, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_left_to_right (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_L);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_LEFT_TO_RIGHT =
+  { &uc_is_property_bidi_left_to_right };
diff --git a/lib/unictype/pr_bidi_left_to_right.h b/lib/unictype/pr_bidi_left_to_right.h
new file mode 100644 (file)
index 0000000..7402e50
--- /dev/null
@@ -0,0 +1,698 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[4 << 7];
+    /*unsigned*/ int level3[36 << 4];
+  }
+u_property_bidi_left_to_right =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       18 +   512 * sizeof (short) / sizeof (int) +     0,
+       18 +   512 * sizeof (short) / sizeof (int) +    16,
+       18 +   512 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    48,
+       18 +   512 * sizeof (short) / sizeof (int) +    64,
+       18 +   512 * sizeof (short) / sizeof (int) +    80,
+       18 +   512 * sizeof (short) / sizeof (int) +    96,
+       18 +   512 * sizeof (short) / sizeof (int) +   112,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   160,
+       18 +   512 * sizeof (short) / sizeof (int) +   176,
+       18 +   512 * sizeof (short) / sizeof (int) +   192,
+       18 +   512 * sizeof (short) / sizeof (int) +   208,
+       18 +   512 * sizeof (short) / sizeof (int) +   224,
+       18 +   512 * sizeof (short) / sizeof (int) +   240,
+       18 +   512 * sizeof (short) / sizeof (int) +   256,
+       18 +   512 * sizeof (short) / sizeof (int) +   272,
+       18 +   512 * sizeof (short) / sizeof (int) +   288,
+       18 +   512 * sizeof (short) / sizeof (int) +   304,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   336,
+       18 +   512 * sizeof (short) / sizeof (int) +   352,
+       18 +   512 * sizeof (short) / sizeof (int) +   368,
+       18 +   512 * sizeof (short) / sizeof (int) +   384,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   416,
+       18 +   512 * sizeof (short) / sizeof (int) +   432,
+       18 +   512 * sizeof (short) / sizeof (int) +   448,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   480,
+       18 +   512 * sizeof (short) / sizeof (int) +   496,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   512,
+       18 +   512 * sizeof (short) / sizeof (int) +   528,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   544,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   560,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   560,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   560
+  },
+  {
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xF9FFFFFF, 0x00030003, 0x0000401F,
+    0x00000000, 0x00000000, 0x00000000, 0xBFCF0000,
+    0xFFFFFF4F, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFBFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC87, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0000FBFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF9, 0xEFFFFFFF, 0xFFE1DE01, 0xFFFFFFF3,
+    0xFFFFFFFD, 0xEFFFFFFF, 0xFFFFDFE1, 0xFFF3FFF3,
+    0xFFFFFFF9, 0xEFFFFFFF, 0xFFFFC679, 0xFFFCFFFF,
+    0xFFFFFFF9, 0xEFFFFFFF, 0xFFFFDE41, 0xFFFDFFF3,
+    0xFFFFFFFD, 0x6FFFFFFF, 0xFFBFDFF1, 0xFFFFFFFF,
+    0xFFFFFFFB, 0xFFFFFFFF, 0xFFFFDFFE, 0xF807FFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFF9FC23E, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xEFFFFFFF, 0xFFFFCFFF, 0xFFF9FFF3,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFDFF1, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFA3FBFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x780DFFFF, 0xFFFF807F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xE40DFFFF, 0xFFFFC0FF, 0xFFFFFFFF,
+    0xFCFFFFFF, 0xC15FFFFF, 0xFFFFFFFF, 0x8001FFFF,
+    0x0100FF20, 0xE0000000, 0xFFFFFFBF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFD3A1FFF, 0xFCFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFC00FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xE7FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFE3FFFF, 0xFFE3FFFF, 0xFFF3FFFF, 0xFFF3FFFF,
+    0xFFFFFFFF, 0xC07FFFFF, 0xD7F001BF, 0xFC00FFFF,
+    0xFFFF8000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFDFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xF1FBF078, 0xFFFFFFCE, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x00000000,
+    0xFE7FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFF0, 0xE82FFFFF, 0xFFFFFFFB, 0xFFF007FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFF800, 0x3FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x5FFFFFFF, 0x1FFF1FFC, 0x9FFF1FFF,
+    0x00004000, 0x00000000, 0x00000000, 0x800E0000,
+    0xFFFF8000, 0xFFC00000, 0x0000FFFF, 0xFFFF0000,
+    0x3E2FFC84, 0xF3FFBD50, 0x0007C3E0, 0xFFFFFFFF,
+    0x0000FFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00200000, 0x00000000, 0x00000000, 0xFFFFFF00,
+    0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
+    0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xE0000000, 0xFFF81000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000C21, 0x00000100, 0x80B85000, 0x00000001,
+    0x00E00000, 0x80010000, 0x0000F800, 0x0000F000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF8000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFF81F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xCF000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
+    0x000000E0, 0x1F3E03FE, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xE1FFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0x9FFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0x8FFFFFFF,
+    0xFFFFFFFF, 0x0001FFFF, 0xFFFF0FFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF87FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0000FFFF, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xF8000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFF7BB, 0xFFFFF09F, 0xFFFFFFFF, 0xFF0FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x1FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00008080,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFD, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFF800, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FC7F,
+    0xFFFFF018, 0xFFFFC3FF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFC0, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00003FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_bidi_non_spacing_mark.c b/lib/unictype/pr_bidi_non_spacing_mark.c
new file mode 100644 (file)
index 0000000..660d4c1
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_non_spacing_mark table.  */
+#include "pr_bidi_non_spacing_mark.h"
+
+bool
+uc_is_property_bidi_non_spacing_mark (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_non_spacing_mark, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_non_spacing_mark (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_NSM);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_NON_SPACING_MARK =
+  { &uc_is_property_bidi_non_spacing_mark };
diff --git a/lib/unictype/pr_bidi_non_spacing_mark.h b/lib/unictype/pr_bidi_non_spacing_mark.h
new file mode 100644 (file)
index 0000000..2318dcc
--- /dev/null
@@ -0,0 +1,512 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[22 << 4];
+  }
+u_property_bidi_non_spacing_mark =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
+       16 +   384 * sizeof (short) / sizeof (int) +   160,
+       16 +   384 * sizeof (short) / sizeof (int) +   176,
+       16 +   384 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   224,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   304,
+       16 +   384 * sizeof (short) / sizeof (int) +   320,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   336,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000378, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000,
+    0x003F0000, 0x00000000, 0x7FFFF800, 0x00010000,
+    0x00000000, 0x00000000, 0xDFC00000, 0x00003D9F,
+    0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000006, 0x10000000, 0x001E21FE, 0x0000000C,
+    0x00000002, 0x10000000, 0x0000201E, 0x0000000C,
+    0x00000006, 0x10000000, 0x00003986, 0x00030000,
+    0x00000006, 0x10000000, 0x000021BE, 0x0000000C,
+    0x00000002, 0x90000000, 0x0040200E, 0x00000000,
+    0x00000004, 0x00000000, 0x00002001, 0x00000000,
+    0x00000000, 0xC0000000, 0x00603DC1, 0x00000000,
+    0x00000000, 0x10000000, 0x00003000, 0x0000000C,
+    0x00000000, 0x00000000, 0x0000200E, 0x00000000,
+    0x00000000, 0x00000000, 0x005C0400, 0x00000000,
+    0x00000000, 0x07F20000, 0x00007F80, 0x00000000,
+    0x00000000, 0x1BF20000, 0x00003F00, 0x00000000,
+    0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000,
+    0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
+    0x00000000, 0x02C5E000, 0x03000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
+    0x00000000, 0x3F800000, 0x200FFE40, 0x00000000,
+    0x00003800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x0E040F87, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000F, 0x17D00000, 0x00000004, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007FF, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
+    0x06000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000844, 0x00000060, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x40000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000FFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000F06E, 0x87000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xF8000380,
+    0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001C, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
+  }
+};
diff --git a/lib/unictype/pr_bidi_other_neutral.c b/lib/unictype/pr_bidi_other_neutral.c
new file mode 100644 (file)
index 0000000..f87b5fb
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_other_neutral table.  */
+#include "pr_bidi_other_neutral.h"
+
+bool
+uc_is_property_bidi_other_neutral (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_other_neutral, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_other_neutral (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_ON);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_OTHER_NEUTRAL =
+  { &uc_is_property_bidi_other_neutral };
diff --git a/lib/unictype/pr_bidi_other_neutral.h b/lib/unictype/pr_bidi_other_neutral.h
new file mode 100644 (file)
index 0000000..6dbb141
--- /dev/null
@@ -0,0 +1,403 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[30 << 4];
+  }
+u_property_bidi_other_neutral =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
+        3 +   256 * sizeof (short) / sizeof (int) +   416,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0xF80007C6, 0xF8000001, 0x78000001,
+    0x00000000, 0xF9D0DBC2, 0x00800000, 0x00800000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x06000000, 0xFFFCFFFC, 0xFFFFBFE0,
+    0x00000000, 0x00000000, 0x00000000, 0x40300000,
+    0x000000B0, 0x00000000, 0x00000000, 0x00400000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000400, 0x00000000, 0x00000000, 0x00000000,
+    0x0000C000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000200,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03C00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x05F80000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00060000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x3C000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x18000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000031, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
+    0xFFFF0000, 0xFFE000FF, 0x7FFFFFEF, 0x70000000,
+    0x00007000, 0x00000000, 0x00000000, 0x00000000,
+    0xC1D0037B, 0x0C0002AF, 0xFFF83C1F, 0x00000000,
+    0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFF3FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0xF8000000,
+    0xFFDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
+    0x000000FF, 0x00000000, 0x00000000, 0xFFFFFC00,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x1FFFFFFF, 0x0007EFFF, 0x00000000, 0x00000000,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF07FF, 0xFFFF0FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x07FFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFE0007E0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x30FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
+    0xFFFFFF1E, 0xE0C10001, 0x00000000, 0x00000000,
+    0x18000000, 0x00000001, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FFFF, 0x00000000,
+    0x60000000, 0x00000000, 0xFFFF0000, 0x70000000,
+    0x00000000, 0xFFFE0000, 0x0000F000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x07800000,
+    0x00000000, 0x00000000, 0xC0000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07FFFFFF, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000F00, 0x00000000, 0x00F00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x20000000,
+    0x03FF0000, 0xFFFF0000, 0x7FD2FFFF, 0x00000973,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF80007C6, 0xF8000001, 0xF8000001, 0x0000003F,
+    0x00000000, 0x00000000, 0x00000000, 0x3E007F1C,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000002, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_pdf.c b/lib/unictype/pr_bidi_pdf.c
new file mode 100644 (file)
index 0000000..808a1ef
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_pdf table.  */
+#include "pr_bidi_pdf.h"
+
+bool
+uc_is_property_bidi_pdf (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_pdf, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_pdf (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_PDF);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_PDF =
+  { &uc_is_property_bidi_pdf };
diff --git a/lib/unictype/pr_bidi_pdf.h b/lib/unictype/pr_bidi_pdf.h
new file mode 100644 (file)
index 0000000..709f27d
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_bidi_pdf =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00001000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_segment_separator.c b/lib/unictype/pr_bidi_segment_separator.c
new file mode 100644 (file)
index 0000000..0b3b08a
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_segment_separator table.  */
+#include "pr_bidi_segment_separator.h"
+
+bool
+uc_is_property_bidi_segment_separator (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_segment_separator, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_segment_separator (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_S);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_SEGMENT_SEPARATOR =
+  { &uc_is_property_bidi_segment_separator };
diff --git a/lib/unictype/pr_bidi_segment_separator.h b/lib/unictype/pr_bidi_segment_separator.h
new file mode 100644 (file)
index 0000000..2b5a2bf
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_bidi_segment_separator =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x80000A00, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_bidi_whitespace.c b/lib/unictype/pr_bidi_whitespace.c
new file mode 100644 (file)
index 0000000..d16928a
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_bidi_whitespace table.  */
+#include "pr_bidi_whitespace.h"
+
+bool
+uc_is_property_bidi_whitespace (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_bidi_whitespace, uc);
+}
+
+#else
+
+bool
+uc_is_property_bidi_whitespace (ucs4_t uc)
+{
+  return (uc_bidi_category (uc) == UC_BIDI_WS);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_BIDI_WHITESPACE =
+  { &uc_is_property_bidi_whitespace };
diff --git a/lib/unictype/pr_bidi_whitespace.h b/lib/unictype/pr_bidi_whitespace.h
new file mode 100644 (file)
index 0000000..85770a1
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_property_bidi_whitespace =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00001000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00000100, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_byname.c b/lib/unictype/pr_byname.c
new file mode 100644 (file)
index 0000000..fae5043
--- /dev/null
@@ -0,0 +1,59 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include <string.h>
+
+/* Get gperf generated lookup function.  */
+#include "pr_byname.h"
+
+static const uc_property_t UC_PROPERTY_NONE = { NULL };
+
+uc_property_t
+uc_property_byname (const char *property_name)
+{
+  char buf[MAX_WORD_LENGTH + 1];
+  const char *cp;
+  char *bp;
+  unsigned int count;
+  const struct named_property *found;
+
+  for (cp = property_name, bp = buf, count = MAX_WORD_LENGTH + 1; ; cp++, bp++)
+    {
+      unsigned char c = (unsigned char) *cp;
+      if (c >= 0x80)
+       goto invalid;
+      if (c >= 'A' && c <= 'Z')
+       c += 'a' - 'A';
+      else if (c == ' ' || c == '-')
+       c = '_';
+      *bp = c;
+      if (c == '\0')
+       break;
+      if (--count == 0)
+       goto invalid;
+    }
+  found = uc_property_lookup (buf, bp - buf);
+  if (found != NULL)
+    return found->property;
+ invalid:
+  return UC_PROPERTY_NONE;
+}
diff --git a/lib/unictype/pr_byname.gperf b/lib/unictype/pr_byname.gperf
new file mode 100644 (file)
index 0000000..5d3daa0
--- /dev/null
@@ -0,0 +1,89 @@
+struct named_property { const char *name; uc_property_t property; };
+%struct-type
+%language=ANSI-C
+%define hash-function-name properties_hash
+%define lookup-function-name uc_property_lookup
+%7bit
+%readonly-tables
+%global-table
+%define word-array-name properties
+%%
+white_space, { &uc_is_property_white_space }
+alphabetic, { &uc_is_property_alphabetic }
+other_alphabetic, { &uc_is_property_other_alphabetic }
+not_a_character, { &uc_is_property_not_a_character }
+default_ignorable_code_point, { &uc_is_property_default_ignorable_code_point }
+other_default_ignorable_code_point, { &uc_is_property_other_default_ignorable_code_point }
+deprecated, { &uc_is_property_deprecated }
+logical_order_exception, { &uc_is_property_logical_order_exception }
+variation_selector, { &uc_is_property_variation_selector }
+private_use, { &uc_is_property_private_use }
+unassigned_code_value, { &uc_is_property_unassigned_code_value }
+uppercase, { &uc_is_property_uppercase }
+other_uppercase, { &uc_is_property_other_uppercase }
+lowercase, { &uc_is_property_lowercase }
+other_lowercase, { &uc_is_property_other_lowercase }
+titlecase, { &uc_is_property_titlecase }
+soft_dotted, { &uc_is_property_soft_dotted }
+id_start, { &uc_is_property_id_start }
+other_id_start, { &uc_is_property_other_id_start }
+id_continue, { &uc_is_property_id_continue }
+other_id_continue, { &uc_is_property_other_id_continue }
+xid_start, { &uc_is_property_xid_start }
+xid_continue, { &uc_is_property_xid_continue }
+pattern_white_space, { &uc_is_property_pattern_white_space }
+pattern_syntax, { &uc_is_property_pattern_syntax }
+join_control, { &uc_is_property_join_control }
+grapheme_base, { &uc_is_property_grapheme_base }
+grapheme_extend, { &uc_is_property_grapheme_extend }
+other_grapheme_extend, { &uc_is_property_other_grapheme_extend }
+grapheme_link, { &uc_is_property_grapheme_link }
+bidi_control, { &uc_is_property_bidi_control }
+bidi_left_to_right, { &uc_is_property_bidi_left_to_right }
+bidi_hebrew_right_to_left, { &uc_is_property_bidi_hebrew_right_to_left }
+bidi_arabic_right_to_left, { &uc_is_property_bidi_arabic_right_to_left }
+bidi_european_digit, { &uc_is_property_bidi_european_digit }
+bidi_eur_num_separator, { &uc_is_property_bidi_eur_num_separator }
+bidi_eur_num_terminator, { &uc_is_property_bidi_eur_num_terminator }
+bidi_arabic_digit, { &uc_is_property_bidi_arabic_digit }
+bidi_common_separator, { &uc_is_property_bidi_common_separator }
+bidi_block_separator, { &uc_is_property_bidi_block_separator }
+bidi_segment_separator, { &uc_is_property_bidi_segment_separator }
+bidi_whitespace, { &uc_is_property_bidi_whitespace }
+bidi_non_spacing_mark, { &uc_is_property_bidi_non_spacing_mark }
+bidi_boundary_neutral, { &uc_is_property_bidi_boundary_neutral }
+bidi_pdf, { &uc_is_property_bidi_pdf }
+bidi_embedding_or_override, { &uc_is_property_bidi_embedding_or_override }
+bidi_other_neutral, { &uc_is_property_bidi_other_neutral }
+hex_digit, { &uc_is_property_hex_digit }
+ascii_hex_digit, { &uc_is_property_ascii_hex_digit }
+ideographic, { &uc_is_property_ideographic }
+unified_ideograph, { &uc_is_property_unified_ideograph }
+radical, { &uc_is_property_radical }
+ids_binary_operator, { &uc_is_property_ids_binary_operator }
+ids_trinary_operator, { &uc_is_property_ids_trinary_operator }
+zero_width, { &uc_is_property_zero_width }
+space, { &uc_is_property_space }
+non_break, { &uc_is_property_non_break }
+iso_control, { &uc_is_property_iso_control }
+format_control, { &uc_is_property_format_control }
+dash, { &uc_is_property_dash }
+hyphen, { &uc_is_property_hyphen }
+punctuation, { &uc_is_property_punctuation }
+line_separator, { &uc_is_property_line_separator }
+paragraph_separator, { &uc_is_property_paragraph_separator }
+quotation_mark, { &uc_is_property_quotation_mark }
+sentence_terminal, { &uc_is_property_sentence_terminal }
+terminal_punctuation, { &uc_is_property_terminal_punctuation }
+currency_symbol, { &uc_is_property_currency_symbol }
+math, { &uc_is_property_math }
+other_math, { &uc_is_property_other_math }
+paired_punctuation, { &uc_is_property_paired_punctuation }
+left_of_pair, { &uc_is_property_left_of_pair }
+combining, { &uc_is_property_combining }
+composite, { &uc_is_property_composite }
+decimal_digit, { &uc_is_property_decimal_digit }
+numeric, { &uc_is_property_numeric }
+diacritic, { &uc_is_property_diacritic }
+extender, { &uc_is_property_extender }
+ignorable_control, { &uc_is_property_ignorable_control }
diff --git a/lib/unictype/pr_combining.c b/lib/unictype/pr_combining.c
new file mode 100644 (file)
index 0000000..5332b36
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_combining table.  */
+#include "pr_combining.h"
+
+bool
+uc_is_property_combining (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_combining, uc);
+}
+
+const uc_property_t UC_PROPERTY_COMBINING =
+  { &uc_is_property_combining };
diff --git a/lib/unictype/pr_combining.h b/lib/unictype/pr_combining.h
new file mode 100644 (file)
index 0000000..6fd195e
--- /dev/null
@@ -0,0 +1,512 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[22 << 4];
+  }
+u_property_combining =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
+       16 +   384 * sizeof (short) / sizeof (int) +   160,
+       16 +   384 * sizeof (short) / sizeof (int) +   176,
+       16 +   384 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   224,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   304,
+       16 +   384 * sizeof (short) / sizeof (int) +   320,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   336,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000378, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000,
+    0x003F0000, 0x00000000, 0x7FFFF800, 0x00010000,
+    0x00000000, 0x00000000, 0xDFC00000, 0x00003D9F,
+    0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000E, 0xD0000000, 0x001E3FFF, 0x0000000C,
+    0x0000000E, 0xD0000000, 0x0080399F, 0x0000000C,
+    0x0000000E, 0xD0000000, 0x00003987, 0x00030000,
+    0x0000000E, 0xD0000000, 0x00003BBF, 0x0000000C,
+    0x0000000E, 0xD0000000, 0x00C0398F, 0x00000000,
+    0x00000004, 0xC0000000, 0x00803DC7, 0x00000000,
+    0x0000000E, 0xC0000000, 0x00603DDF, 0x00000000,
+    0x0000000C, 0xD0000000, 0x00603DDF, 0x0000000C,
+    0x0000000C, 0xC0000000, 0x00803DCF, 0x00000000,
+    0x0000000C, 0x00000000, 0xFF5F8400, 0x000C0000,
+    0x00000000, 0x07F20000, 0x00007F80, 0x00000000,
+    0x00000000, 0x1BF20000, 0x00003F00, 0x00000000,
+    0x03000000, 0xC2A00000, 0x00000000, 0xFFFE0000,
+    0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
+    0x00000000, 0x03C7F000, 0x03C00000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
+    0x00000000, 0xFFC00000, 0x200FFFFF, 0x00000000,
+    0x00003800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x0FFF0FFF, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x00000301, 0x00000000,
+    0x0F800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000001F, 0xFFF00000, 0x0000001F, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007FF, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
+    0x06000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000844, 0x000000F8, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x40000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000FFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000F06E, 0x87000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xF807E3E0,
+    0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001C, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
+  }
+};
diff --git a/lib/unictype/pr_composite.c b/lib/unictype/pr_composite.c
new file mode 100644 (file)
index 0000000..4f01ea8
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_composite table.  */
+#include "pr_composite.h"
+
+bool
+uc_is_property_composite (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_composite, uc);
+}
+
+const uc_property_t UC_PROPERTY_COMPOSITE =
+  { &uc_is_property_composite };
diff --git a/lib/unictype/pr_composite.h b/lib/unictype/pr_composite.h
new file mode 100644 (file)
index 0000000..bfacbc9
--- /dev/null
@@ -0,0 +1,375 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[23 << 4];
+  }
+u_property_composite =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x70000000, 0x3E7EFFBF, 0xBE7EFFBF,
+    0xFFFCFFFF, 0xFEFDFF3F, 0xFFF3F3F9, 0x7FFFFF3F,
+    0x00000000, 0x00018003, 0xDFFFFFF0, 0xFF3FFFCF,
+    0xCFFFFFFF, 0x000FFFC0, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000010, 0x00000000,
+    0x0001D760, 0x0001FC00, 0x00187C00, 0x00000000,
+    0x0200708B, 0x02000000, 0x708B0000, 0x00C00000,
+    0x00000000, 0x00000000, 0xFCCF0006, 0x033FFCFC,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000080, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000007C, 0x00000000, 0x01E00000,
+    0x00000000, 0x00000000, 0x00080005, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00120200, 0xFF000000, 0x00000000,
+    0x00000000, 0x00000000, 0xB0001800, 0x00000000,
+    0x00000000, 0x00480000, 0x4E000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x30001900, 0x00000000,
+    0x00100000, 0x00000000, 0x00001C00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000100, 0x00000000,
+    0x00000000, 0x00000000, 0x00000D81, 0x00000000,
+    0x00000000, 0x00000000, 0x00001C00, 0x00000000,
+    0x00000000, 0x00000000, 0x74000000, 0x00000000,
+    0x00000000, 0x00080000, 0x00000000, 0x00000000,
+    0x00000000, 0x00080000, 0x30000000, 0x00000000,
+    0x00000000, 0x00000000, 0x10842008, 0x03E80200,
+    0x20080002, 0x02001084, 0x00000000, 0x00000000,
+    0x00000000, 0x00000040, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00045540, 0x28000000, 0x0000000B, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x1555FFFF,
+    0xFFFFFFFF, 0x17DFFFFF, 0xE7C7F5DE, 0x15DC37F7,
+    0x00000000, 0x10D80060, 0x00800380, 0x00000000,
+    0x00000000, 0x00000100, 0x00000000, 0x00000000,
+    0x0040026B, 0x08000007, 0xFFF80000, 0x0DEE0DEE,
+    0x0C000000, 0x00004000, 0x0000E000, 0x00000000,
+    0x00001210, 0x0001B050, 0x00000292, 0x0333E005,
+    0x00000333, 0x0000F000, 0x00000000, 0x00003C0F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFE00,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00001000, 0x00000000, 0x00000000, 0x00700000,
+    0x00000000, 0x00000000, 0x10000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x55555000, 0x36DB02A5,
+    0xC0100000, 0x55555000, 0x36DB02A5, 0xC7900000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0x7FFFC000,
+    0x00000000, 0xFFFE0000, 0x0000FFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000001F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xA0F8007F, 0x5F7FFC00, 0x0000FFDB, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0FFFFC00,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFFFFF0,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x1FFF0000,
+    0x00000000, 0x00000000, 0x00000000, 0xAA820000,
+    0x00000000, 0x00000000, 0x00000000, 0x1FE00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x0000001F,
+    0x00000000, 0xF8000000, 0x00000001, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_currency_symbol.c b/lib/unictype/pr_currency_symbol.c
new file mode 100644 (file)
index 0000000..8a8723b
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_currency_symbol table.  */
+#include "pr_currency_symbol.h"
+
+bool
+uc_is_property_currency_symbol (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_currency_symbol, uc);
+}
+
+#else
+
+bool
+uc_is_property_currency_symbol (ucs4_t uc)
+{
+  return uc_is_general_category (uc, UC_CATEGORY_Sc);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_CURRENCY_SYMBOL =
+  { &uc_is_property_currency_symbol };
diff --git a/lib/unictype/pr_currency_symbol.h b/lib/unictype/pr_currency_symbol.h
new file mode 100644 (file)
index 0000000..8ce0c6d
--- /dev/null
@@ -0,0 +1,188 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[9 << 4];
+  }
+u_property_currency_symbol =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
+        2 +   128 * sizeof (short) / sizeof (int) +   128
+  },
+  {
+    0x00000000, 0x00000010, 0x00000000, 0x00000000,
+    0x00000000, 0x0000003C, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000C0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x02000000,
+    0x00000000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x08000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x003FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x10000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000200,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000010, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000063
+  }
+};
diff --git a/lib/unictype/pr_dash.c b/lib/unictype/pr_dash.c
new file mode 100644 (file)
index 0000000..16bccad
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_dash table.  */
+#include "pr_dash.h"
+
+bool
+uc_is_property_dash (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_dash, uc);
+}
+
+const uc_property_t UC_PROPERTY_DASH =
+  { &uc_is_property_dash };
diff --git a/lib/unictype/pr_dash.h b/lib/unictype/pr_dash.h
new file mode 100644 (file)
index 0000000..7e31164
--- /dev/null
@@ -0,0 +1,184 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[8 << 4];
+  }
+u_property_dash =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112
+  },
+  {
+    0x00000000, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000400, 0x40000000, 0x00000000, 0x00000000,
+    0x00000040, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003F0000, 0x00000000, 0x00080000, 0x08000000,
+    0x00000800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00040000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x10000000, 0x00010000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00060000, 0x01000000, 0x00000008,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00002000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_decimal_digit.c b/lib/unictype/pr_decimal_digit.c
new file mode 100644 (file)
index 0000000..e344158
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_decimal_digit table.  */
+#include "pr_decimal_digit.h"
+
+bool
+uc_is_property_decimal_digit (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_decimal_digit, uc);
+}
+
+#else
+
+bool
+uc_is_property_decimal_digit (ucs4_t uc)
+{
+  return uc_is_general_category (uc, UC_CATEGORY_Nd);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_DECIMAL_DIGIT =
+  { &uc_is_property_decimal_digit };
diff --git a/lib/unictype/pr_decimal_digit.h b/lib/unictype/pr_decimal_digit.h
new file mode 100644 (file)
index 0000000..6882b30
--- /dev/null
@@ -0,0 +1,335 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[13 << 4];
+  }
+u_property_decimal_digit =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000003FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000003FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000003FF,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FFC0, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_default_ignorable_code_point.c b/lib/unictype/pr_default_ignorable_code_point.c
new file mode 100644 (file)
index 0000000..f4b7f19
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_default_ignorable_code_point table.  */
+#include "pr_default_ignorable_code_point.h"
+
+bool
+uc_is_property_default_ignorable_code_point (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_default_ignorable_code_point, uc);
+}
+
+const uc_property_t UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT =
+  { &uc_is_property_default_ignorable_code_point };
diff --git a/lib/unictype/pr_default_ignorable_code_point.h b/lib/unictype/pr_default_ignorable_code_point.h
new file mode 100644 (file)
index 0000000..bf71dfc
--- /dev/null
@@ -0,0 +1,606 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[4 << 7];
+    /*unsigned*/ int level3[13 << 4];
+  }
+u_property_default_ignorable_code_point =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   384,
+       18 * sizeof (int) / sizeof (short) +   256,
+       18 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       18 +   512 * sizeof (short) / sizeof (int) +     0,
+       18 +   512 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    64,
+       18 +   512 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   192,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       18 +   512 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   192
+  },
+  {
+    0xFFFFC1FF, 0x00000000, 0x00000000, 0x80000000,
+    0xFFFFFFDF, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x20000000, 0x00000000,
+    0x00008000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000001,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00300000, 0x00000000, 0x00000000,
+    0x00003800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000F800, 0x00007C00, 0x00000000, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000010,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x0000FFFF,
+    0x0000FFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0xC1FF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x07F80000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xC0000000
+  }
+};
diff --git a/lib/unictype/pr_deprecated.c b/lib/unictype/pr_deprecated.c
new file mode 100644 (file)
index 0000000..2b3903b
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_deprecated table.  */
+#include "pr_deprecated.h"
+
+bool
+uc_is_property_deprecated (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_deprecated, uc);
+}
+
+const uc_property_t UC_PROPERTY_DEPRECATED =
+  { &uc_is_property_deprecated };
diff --git a/lib/unictype/pr_deprecated.h b/lib/unictype/pr_deprecated.h
new file mode 100644 (file)
index 0000000..809b1a6
--- /dev/null
@@ -0,0 +1,164 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[3 << 4];
+  }
+u_property_deprecated =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000003, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000008, 0x00080000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FC00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_diacritic.c b/lib/unictype/pr_diacritic.c
new file mode 100644 (file)
index 0000000..f541cd1
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_diacritic table.  */
+#include "pr_diacritic.h"
+
+bool
+uc_is_property_diacritic (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_diacritic, uc);
+}
+
+const uc_property_t UC_PROPERTY_DIACRITIC =
+  { &uc_is_property_diacritic };
diff --git a/lib/unictype/pr_diacritic.h b/lib/unictype/pr_diacritic.h
new file mode 100644 (file)
index 0000000..5906bc6
--- /dev/null
@@ -0,0 +1,359 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[19 << 4];
+  }
+u_property_diacritic =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x40000000, 0x00000001,
+    0x00000000, 0x01908100, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xE0FF7FFF, 0x04300007,
+    0x00000030, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000078, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x02000000, 0x00000000,
+    0xFFFE0000, 0xBFFFFFFB, 0x00000016, 0x00000000,
+    0x00000000, 0x00000000, 0x0187F800, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00001C61,
+    0x00000000, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x00000000, 0x0001FFC0, 0x00000000, 0x003FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x10000000, 0x001E2000, 0x00000000,
+    0x00000000, 0x10000000, 0x00002000, 0x00000000,
+    0x00000000, 0x10000000, 0x00002000, 0x00000000,
+    0x00000000, 0x10000000, 0x00002000, 0x00000000,
+    0x00000000, 0x10000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x10000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000400, 0x00000000,
+    0x00000000, 0x00000000, 0x00005F80, 0x00000000,
+    0x00000000, 0x00000000, 0x00001F00, 0x00000000,
+    0x03000000, 0xC2A00000, 0x00000000, 0x00000000,
+    0x000000DC, 0x00000000, 0x00000040, 0x00000000,
+    0x00000000, 0x02800000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x200FFE00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0E000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00100000, 0x00000010, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x000007FF,
+    0x00000000, 0x00000000, 0x000007F0, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
+    0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
+    0x1E000000, 0x00000000, 0x00000000, 0x10000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x40000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x40000000, 0x00000001, 0x00010000,
+    0xC0000000, 0x00000000, 0x00000000, 0x00000008,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xF807E380,
+    0x00000FE7, 0x00003C00, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_extender.c b/lib/unictype/pr_extender.c
new file mode 100644 (file)
index 0000000..25f11f6
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_extender table.  */
+#include "pr_extender.h"
+
+bool
+uc_is_property_extender (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_extender, uc);
+}
+
+const uc_property_t UC_PROPERTY_EXTENDER =
+  { &uc_is_property_extender };
diff --git a/lib/unictype/pr_extender.h b/lib/unictype/pr_extender.h
new file mode 100644 (file)
index 0000000..33a6a0a
--- /dev/null
@@ -0,0 +1,184 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[8 << 4];
+  }
+u_property_extender =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00800000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00030000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x04000000,
+    0x00000000, 0x00000000, 0x00000040, 0x00000000,
+    0x00000000, 0x00000000, 0x00000040, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000008, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000020, 0x003E0000, 0x00000000, 0x00000000,
+    0x60000000, 0x00000000, 0x00000000, 0x70000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00200000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00010000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_format_control.c b/lib/unictype/pr_format_control.c
new file mode 100644 (file)
index 0000000..f63bb29
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_format_control table.  */
+#include "pr_format_control.h"
+
+bool
+uc_is_property_format_control (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_format_control, uc);
+}
+
+const uc_property_t UC_PROPERTY_FORMAT_CONTROL =
+  { &uc_is_property_format_control };
diff --git a/lib/unictype/pr_format_control.h b/lib/unictype/pr_format_control.h
new file mode 100644 (file)
index 0000000..ce8e995
--- /dev/null
@@ -0,0 +1,444 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_property_format_control =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00008000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000800, 0x00000000, 0x00000000, 0x0000FC0F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x07F80000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_grapheme_base.c b/lib/unictype/pr_grapheme_base.c
new file mode 100644 (file)
index 0000000..6b090bc
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_grapheme_base table.  */
+#include "pr_grapheme_base.h"
+
+bool
+uc_is_property_grapheme_base (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_grapheme_base, uc);
+}
+
+const uc_property_t UC_PROPERTY_GRAPHEME_BASE =
+  { &uc_is_property_grapheme_base };
diff --git a/lib/unictype/pr_grapheme_base.h b/lib/unictype/pr_grapheme_base.h
new file mode 100644 (file)
index 0000000..3401ba2
--- /dev/null
@@ -0,0 +1,608 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[49 << 4];
+  }
+u_property_grapheme_base =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+        4 * sizeof (int) / sizeof (short) +   128,
+        4 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+        4 +   384 * sizeof (short) / sizeof (int) +     0,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    32,
+        4 +   384 * sizeof (short) / sizeof (int) +    48,
+        4 +   384 * sizeof (short) / sizeof (int) +    64,
+        4 +   384 * sizeof (short) / sizeof (int) +    80,
+        4 +   384 * sizeof (short) / sizeof (int) +    96,
+        4 +   384 * sizeof (short) / sizeof (int) +   112,
+        4 +   384 * sizeof (short) / sizeof (int) +   128,
+        4 +   384 * sizeof (short) / sizeof (int) +   144,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   176,
+        4 +   384 * sizeof (short) / sizeof (int) +   192,
+        4 +   384 * sizeof (short) / sizeof (int) +   208,
+        4 +   384 * sizeof (short) / sizeof (int) +   224,
+        4 +   384 * sizeof (short) / sizeof (int) +   240,
+        4 +   384 * sizeof (short) / sizeof (int) +   256,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   352,
+        4 +   384 * sizeof (short) / sizeof (int) +   368,
+        4 +   384 * sizeof (short) / sizeof (int) +   384,
+        4 +   384 * sizeof (short) / sizeof (int) +   400,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   416,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   432,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   448,
+        4 +   384 * sizeof (short) / sizeof (int) +   464,
+        4 +   384 * sizeof (short) / sizeof (int) +   480,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   496,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
+        4 +   384 * sizeof (short) / sizeof (int) +   528,
+        4 +   384 * sizeof (short) / sizeof (int) +   544,
+        4 +   384 * sizeof (short) / sizeof (int) +   560,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   672,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
+        4 +   384 * sizeof (short) / sizeof (int) +   720,
+        4 +   384 * sizeof (short) / sizeof (int) +   736,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   752,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   768,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
+    0x00000000, 0xFFFFDFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x7C300000,
+    0xFFFFD7F0, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC07, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0xFE7FFFFF, 0xFFFFFFFE,
+    0x000006FF, 0x40000000, 0xFFFF0049, 0x001F07FF,
+    0xC800F800, 0x07FFFFFE, 0x000007FF, 0xFFFEFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0xFFFFC260,
+    0xFFFD3FFF, 0x0000FFFF, 0xFFFFE000, 0x00003FFF,
+    0xFFFFFFFF, 0x0002003F, 0xFFFFFFFF, 0x07F007FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF8, 0xE3FFFFFF, 0xFF011E01, 0xF801FFF3,
+    0xFFF99FEC, 0xA3C5FDFF, 0xB0005981, 0x07FFFFC3,
+    0xFFF987E8, 0xC36DFDFF, 0x5E000001, 0x001CFFC0,
+    0xFFFBBFE8, 0xE3EDFDFF, 0x00011A01, 0x0002FFC3,
+    0xFFF99FEC, 0x23EDFDFF, 0xB0001981, 0x0003FFC3,
+    0xD63DC7E8, 0x83FFC718, 0x00001DC6, 0x07FFFFC0,
+    0xFFFDDFEE, 0x03EFFDFF, 0x0000001E, 0x0000FFC3,
+    0xFFFDDFEC, 0x63EFFDFF, 0x40000D9B, 0x0006FFC3,
+    0xFFFDDFEC, 0x83FFFDFF, 0x00001DC1, 0x0000FFC3,
+    0xFC7FFFEC, 0x2FFBFFFF, 0x7F03007F, 0x001C0000,
+    0xFFFFFFFE, 0x800DFFFF, 0x0FFF807F, 0x00000000,
+    0xFEF02596, 0x200DECAE, 0x33FF005F, 0x00000000,
+    0xFCFFFFFF, 0xFD5FFFFF, 0xFFFFFEFF, 0x800007FF,
+    0x00000F20, 0xC0000000, 0x00039FBF, 0x00000000,
+    0xFFFFFFFF, 0x010216FB, 0x00FFFFFF, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x1FFFFFFF,
+    0x03FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF,
+    0x1FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF,
+    0x0003DFFF, 0x0063FFFF, 0x0003FFFF, 0x0001DFFF,
+    0xFFFFFFFF, 0xC04FFFFF, 0x1FF001BF, 0x03FF03FF,
+    0x03FF47FF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000001FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x01FB0E78, 0xFFFFFFF1, 0x001F3FFF,
+    0xFFFFFFFF, 0xFFFF03FF, 0xC3FF03FF, 0xFFFFFFFF,
+    0xCE7FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF0, 0xE82FFFFF, 0xFFFF0FFB, 0x1FF007FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0xFFDFFFFF, 0xEFCFFFDF, 0x7FDCFFFF,
+    0xFFFF07FF, 0xFFFF80FF, 0xFFFFFFFF, 0xFFF30000,
+    0x001F7FFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFF87FFF, 0xFFFFFFFF,
+    0xFFFF001F, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x1FFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF07FF, 0xFFFF0FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x07FFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0007FF,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x30FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
+    0xFFFFFFFF, 0xFFFF03FF, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xF87FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF7FFF, 0x00FFFFFF, 0x0000FFFF, 0xFFFF0000,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF1FFF, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07FFFFFF, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFF7BF, 0x00000F9F, 0xFFFFFFFF, 0x00FFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xA0F8007F, 0x5F7FFFFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x3FFF0000,
+    0x03FF0000, 0xFFFF0000, 0xFFF7FFFF, 0xFFDF0F7F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x30007F7F,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0xFFFFFF87, 0xFF8FFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF000F, 0x000007FF, 0x00000000,
+    0xBFFFFFFF, 0xFFFFFFFF, 0x003FFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x83FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x01FF00FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000F0007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFFFFFFF, 0xFFFFFC7F, 0xFFFFFFFF, 0x00003C5F,
+    0xFFFFF018, 0xFFFFC3FF, 0x3FFFFFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_grapheme_extend.c b/lib/unictype/pr_grapheme_extend.c
new file mode 100644 (file)
index 0000000..c51e82e
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_grapheme_extend table.  */
+#include "pr_grapheme_extend.h"
+
+bool
+uc_is_property_grapheme_extend (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_grapheme_extend, uc);
+}
+
+const uc_property_t UC_PROPERTY_GRAPHEME_EXTEND =
+  { &uc_is_property_grapheme_extend };
diff --git a/lib/unictype/pr_grapheme_extend.h b/lib/unictype/pr_grapheme_extend.h
new file mode 100644 (file)
index 0000000..46664e5
--- /dev/null
@@ -0,0 +1,512 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[22 << 4];
+  }
+u_property_grapheme_extend =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
+       16 +   384 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   144,
+       16 +   384 * sizeof (short) / sizeof (int) +   160,
+       16 +   384 * sizeof (short) / sizeof (int) +   176,
+       16 +   384 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   224,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   304,
+       16 +   384 * sizeof (short) / sizeof (int) +   320,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   336,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000378, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000,
+    0x003F0000, 0x00000000, 0x7FFFF800, 0x00010000,
+    0x00000000, 0x00000000, 0xDFC00000, 0x00003D9F,
+    0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000006, 0x10000000, 0x001E21FE, 0x0000000C,
+    0x00000002, 0x50000000, 0x0080201E, 0x0000000C,
+    0x00000006, 0x10000000, 0x00003986, 0x00030000,
+    0x00000006, 0x10000000, 0x000021BE, 0x0000000C,
+    0x00000002, 0xD0000000, 0x00C0200E, 0x00000000,
+    0x00000004, 0x40000000, 0x00802001, 0x00000000,
+    0x00000000, 0xC0000000, 0x00603DC1, 0x00000000,
+    0x00000000, 0x90000000, 0x00603044, 0x0000000C,
+    0x00000000, 0x40000000, 0x0080200E, 0x00000000,
+    0x00000000, 0x00000000, 0x805C8400, 0x00000000,
+    0x00000000, 0x07F20000, 0x00007F80, 0x00000000,
+    0x00000000, 0x1BF20000, 0x00003F00, 0x00000000,
+    0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000,
+    0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
+    0x00000000, 0x02C5E000, 0x03000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000,
+    0x00000000, 0x3F800000, 0x200FFE40, 0x00000000,
+    0x00003800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x0E040187, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000F, 0x17D00000, 0x00000004, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000007FF, 0xC0000000,
+    0x00003000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
+    0x06000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000840, 0x00000060, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x40000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000FFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000F06E, 0x87000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xF807C3A0,
+    0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001C, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
+  }
+};
diff --git a/lib/unictype/pr_grapheme_link.c b/lib/unictype/pr_grapheme_link.c
new file mode 100644 (file)
index 0000000..e7aa133
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_grapheme_link table.  */
+#include "pr_grapheme_link.h"
+
+bool
+uc_is_property_grapheme_link (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_grapheme_link, uc);
+}
+
+const uc_property_t UC_PROPERTY_GRAPHEME_LINK =
+  { &uc_is_property_grapheme_link };
diff --git a/lib/unictype/pr_grapheme_link.h b/lib/unictype/pr_grapheme_link.h
new file mode 100644 (file)
index 0000000..45e55dc
--- /dev/null
@@ -0,0 +1,319 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[9 << 4];
+  }
+u_property_grapheme_link =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000400, 0x00000000,
+    0x00000000, 0x04000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000010, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x02000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00100000, 0x00100000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00040000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000010, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000040, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_hex_digit.c b/lib/unictype/pr_hex_digit.c
new file mode 100644 (file)
index 0000000..09357b9
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_hex_digit table.  */
+#include "pr_hex_digit.h"
+
+bool
+uc_is_property_hex_digit (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_hex_digit, uc);
+}
+
+const uc_property_t UC_PROPERTY_HEX_DIGIT =
+  { &uc_is_property_hex_digit };
diff --git a/lib/unictype/pr_hex_digit.h b/lib/unictype/pr_hex_digit.h
new file mode 100644 (file)
index 0000000..54b1b71
--- /dev/null
@@ -0,0 +1,160 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[2 << 4];
+  }
+u_property_hex_digit =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16
+  },
+  {
+    0x00000000, 0x03FF0000, 0x0000007E, 0x0000007E,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF0000, 0x0000007E, 0x0000007E, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_hyphen.c b/lib/unictype/pr_hyphen.c
new file mode 100644 (file)
index 0000000..22a55b6
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_hyphen table.  */
+#include "pr_hyphen.h"
+
+bool
+uc_is_property_hyphen (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_hyphen, uc);
+}
+
+const uc_property_t UC_PROPERTY_HYPHEN =
+  { &uc_is_property_hyphen };
diff --git a/lib/unictype/pr_hyphen.h b/lib/unictype/pr_hyphen.h
new file mode 100644 (file)
index 0000000..5f3e55c
--- /dev/null
@@ -0,0 +1,180 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[7 << 4];
+  }
+u_property_hyphen =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    96
+  },
+  {
+    0x00000000, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000400, 0x00000000, 0x00000000, 0x00000000,
+    0x00000040, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00030000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000008,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00002000, 0x00000000, 0x00000000, 0x00000020,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_id_continue.c b/lib/unictype/pr_id_continue.c
new file mode 100644 (file)
index 0000000..5903dc6
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_id_continue table.  */
+#include "pr_id_continue.h"
+
+bool
+uc_is_property_id_continue (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_id_continue, uc);
+}
+
+const uc_property_t UC_PROPERTY_ID_CONTINUE =
+  { &uc_is_property_id_continue };
diff --git a/lib/unictype/pr_id_continue.h b/lib/unictype/pr_id_continue.h
new file mode 100644 (file)
index 0000000..e88bddb
--- /dev/null
@@ -0,0 +1,728 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[4 << 7];
+    /*unsigned*/ int level3[44 << 4];
+  }
+u_property_id_continue =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       16 * sizeof (int) / sizeof (short) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   384
+  },
+  {
+       16 +   512 * sizeof (short) / sizeof (int) +     0,
+       16 +   512 * sizeof (short) / sizeof (int) +    16,
+       16 +   512 * sizeof (short) / sizeof (int) +    32,
+       16 +   512 * sizeof (short) / sizeof (int) +    48,
+       16 +   512 * sizeof (short) / sizeof (int) +    64,
+       16 +   512 * sizeof (short) / sizeof (int) +    80,
+       16 +   512 * sizeof (short) / sizeof (int) +    96,
+       16 +   512 * sizeof (short) / sizeof (int) +   112,
+       16 +   512 * sizeof (short) / sizeof (int) +   128,
+       16 +   512 * sizeof (short) / sizeof (int) +   144,
+       16 +   512 * sizeof (short) / sizeof (int) +   160,
+       16 +   512 * sizeof (short) / sizeof (int) +   176,
+       16 +   512 * sizeof (short) / sizeof (int) +   192,
+       16 +   512 * sizeof (short) / sizeof (int) +   208,
+       16 +   512 * sizeof (short) / sizeof (int) +   224,
+       16 +   512 * sizeof (short) / sizeof (int) +   240,
+       16 +   512 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   320,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   336,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   352,
+       16 +   512 * sizeof (short) / sizeof (int) +   368,
+       16 +   512 * sizeof (short) / sizeof (int) +   384,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   416,
+       16 +   512 * sizeof (short) / sizeof (int) +   432,
+       16 +   512 * sizeof (short) / sizeof (int) +   448,
+       16 +   512 * sizeof (short) / sizeof (int) +   464,
+       16 +   512 * sizeof (short) / sizeof (int) +   480,
+       16 +   512 * sizeof (short) / sizeof (int) +   496,
+       16 +   512 * sizeof (short) / sizeof (int) +   512,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   528,
+       16 +   512 * sizeof (short) / sizeof (int) +   544,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   560,
+       16 +   512 * sizeof (short) / sizeof (int) +   576,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   592,
+       16 +   512 * sizeof (short) / sizeof (int) +   608,
+       16 +   512 * sizeof (short) / sizeof (int) +   624,
+       16 +   512 * sizeof (short) / sizeof (int) +   640,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   672,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   688,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x87FFFFFE, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000401F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3C00FFFF,
+    0xFFFFD740, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFBFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC7B, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFE00FF, 0xBFFFFFFF, 0xFFFF00B6, 0x000707FF,
+    0x003F0000, 0x07FFFFFE, 0x7FFFFFFF, 0xFFFFC3FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x9FEFFFFF, 0x9FFFFDFF,
+    0xFFFF0000, 0xFFFFFFFF, 0xFFFFE7FF, 0x00003FFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x043FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFE, 0xF3FFFFFF, 0xFF1F3FFF, 0xF800FFCF,
+    0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x0003FFCF,
+    0xFFF987EE, 0xD36DFDFF, 0x5E003987, 0x001FFFC0,
+    0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0000FFCF,
+    0xFFF99FEE, 0xF3EDFDFF, 0xB0C0398F, 0x0002FFC3,
+    0xD63DC7EC, 0xC3FFC718, 0x00803DC7, 0x0000FFC0,
+    0xFFFDDFEE, 0xC3EFFDFF, 0x00603DDF, 0x0000FFC3,
+    0xFFFDDFEC, 0xF3EFFDFF, 0x40603DDF, 0x0000FFCF,
+    0xFFFDDFEC, 0xC3FFFDFF, 0x00803DCF, 0x0000FFC3,
+    0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x000C0000,
+    0xFFFFFFFE, 0x07FFFFFF, 0x03FF7FFF, 0x00000000,
+    0xFEF02596, 0x3BFFECAE, 0x33FF3F5F, 0x00000000,
+    0x03000001, 0xC2A003FF, 0xFFFFFEFF, 0xFFFE07FF,
+    0xFEFF0FDF, 0x1FFFFFFF, 0x00000040, 0x00000000,
+    0xFFFFFFFF, 0x03C7F6FB, 0x03FF03FF, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x0003FE00,
+    0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
+    0x001FDFFF, 0x001FFFFF, 0x000FFFFF, 0x000DDFFF,
+    0xFFFFFFFF, 0xFFCFFFFF, 0x308FFFFF, 0x000003FF,
+    0x03FF3800, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x0FFF0FFF, 0xFFFFFFC0, 0x001F3FFF,
+    0xFFFFFFFF, 0xFFFF03FF, 0x03FF03FF, 0x00000000,
+    0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0FFF, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000007FF, 0xC0000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
+    0x00000000, 0x80000000, 0x00100001, 0x80020000,
+    0x001F0000, 0x00000000, 0x1FFF0000, 0x0000FFE2,
+    0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF,
+    0x0000001F, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x000000E0, 0x1F3EFFFE, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xFE7FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xE0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000,
+    0x0000FFFF, 0x0018000F, 0x0000E000, 0xFFDF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0x03FF0000, 0x87FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x870FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xF807E3E0,
+    0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001C, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+    0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+    0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
+  }
+};
diff --git a/lib/unictype/pr_id_start.c b/lib/unictype/pr_id_start.c
new file mode 100644 (file)
index 0000000..7d5f35f
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_id_start table.  */
+#include "pr_id_start.h"
+
+bool
+uc_is_property_id_start (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_id_start, uc);
+}
+
+const uc_property_t UC_PROPERTY_ID_START =
+  { &uc_is_property_id_start };
diff --git a/lib/unictype/pr_id_start.h b/lib/unictype/pr_id_start.h
new file mode 100644 (file)
index 0000000..f7a7acc
--- /dev/null
@@ -0,0 +1,576 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[41 << 4];
+  }
+u_property_id_start =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+        4 * sizeof (int) / sizeof (short) +   128,
+        4 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+        4 +   384 * sizeof (short) / sizeof (int) +     0,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    32,
+        4 +   384 * sizeof (short) / sizeof (int) +    48,
+        4 +   384 * sizeof (short) / sizeof (int) +    64,
+        4 +   384 * sizeof (short) / sizeof (int) +    80,
+        4 +   384 * sizeof (short) / sizeof (int) +    96,
+        4 +   384 * sizeof (short) / sizeof (int) +   112,
+        4 +   384 * sizeof (short) / sizeof (int) +   128,
+        4 +   384 * sizeof (short) / sizeof (int) +   144,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   176,
+        4 +   384 * sizeof (short) / sizeof (int) +   192,
+        4 +   384 * sizeof (short) / sizeof (int) +   208,
+        4 +   384 * sizeof (short) / sizeof (int) +   224,
+        4 +   384 * sizeof (short) / sizeof (int) +   240,
+        4 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   352,
+        4 +   384 * sizeof (short) / sizeof (int) +   368,
+        4 +   384 * sizeof (short) / sizeof (int) +   384,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   416,
+        4 +   384 * sizeof (short) / sizeof (int) +   432,
+        4 +   384 * sizeof (short) / sizeof (int) +   448,
+        4 +   384 * sizeof (short) / sizeof (int) +   464,
+        4 +   384 * sizeof (short) / sizeof (int) +   480,
+        4 +   384 * sizeof (short) / sizeof (int) +   496,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   528,
+        4 +   384 * sizeof (short) / sizeof (int) +   544,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   560,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000401F,
+    0x00000000, 0x00000000, 0x00000000, 0x3C000000,
+    0xFFFFD740, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFBFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
+    0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
+    0x00000000, 0x07FFFFFE, 0x000007FF, 0xFFFEC000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C060,
+    0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0x00003FFF,
+    0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF8000003,
+    0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x00030003,
+    0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
+    0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x00000003,
+    0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003,
+    0xD63DC7E8, 0x03FFC718, 0x00000000, 0x00000000,
+    0xFFFDDFE0, 0x03EFFDFF, 0x00000000, 0x00000003,
+    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x00000003,
+    0xFFFDDFE0, 0x03FFFDFF, 0x00000000, 0x00000003,
+    0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
+    0xFFFFFFFE, 0x000DFFFF, 0x0000007F, 0x00000000,
+    0xFEF02596, 0x200DECAE, 0x3000005F, 0x00000000,
+    0x00000001, 0x00000000, 0xFFFFFEFF, 0x000007FF,
+    0x00000F00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000006FB, 0x003F0000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
+    0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
+    0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
+    0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000001FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
+    0xFFFFFFFF, 0x000003FF, 0x000000FE, 0x00000000,
+    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x001F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF,
+    0x0000001F, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xF87FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFDF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+    0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+    0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_ideographic.c b/lib/unictype/pr_ideographic.c
new file mode 100644 (file)
index 0000000..18f7d02
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_ideographic table.  */
+#include "pr_ideographic.h"
+
+bool
+uc_is_property_ideographic (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_ideographic, uc);
+}
+
+const uc_property_t UC_PROPERTY_IDEOGRAPHIC =
+  { &uc_is_property_ideographic };
diff --git a/lib/unictype/pr_ideographic.h b/lib/unictype/pr_ideographic.h
new file mode 100644 (file)
index 0000000..5017da4
--- /dev/null
@@ -0,0 +1,316 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[8 << 4];
+  }
+u_property_ideographic =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+       -1,
+        4 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    32,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +    64,
+        4 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1
+  },
+  {
+    0x000000C0, 0x070003FE, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x00003FFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_ids_binary_operator.c b/lib/unictype/pr_ids_binary_operator.c
new file mode 100644 (file)
index 0000000..74e50c1
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_ids_binary_operator table.  */
+#include "pr_ids_binary_operator.h"
+
+bool
+uc_is_property_ids_binary_operator (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_ids_binary_operator, uc);
+}
+
+const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR =
+  { &uc_is_property_ids_binary_operator };
diff --git a/lib/unictype/pr_ids_binary_operator.h b/lib/unictype/pr_ids_binary_operator.h
new file mode 100644 (file)
index 0000000..a6f3118
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_ids_binary_operator =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0FF30000
+  }
+};
diff --git a/lib/unictype/pr_ids_trinary_operator.c b/lib/unictype/pr_ids_trinary_operator.c
new file mode 100644 (file)
index 0000000..422c219
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_ids_trinary_operator table.  */
+#include "pr_ids_trinary_operator.h"
+
+bool
+uc_is_property_ids_trinary_operator (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_ids_trinary_operator, uc);
+}
+
+const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR =
+  { &uc_is_property_ids_trinary_operator };
diff --git a/lib/unictype/pr_ids_trinary_operator.h b/lib/unictype/pr_ids_trinary_operator.h
new file mode 100644 (file)
index 0000000..73a4707
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_ids_trinary_operator =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000C0000
+  }
+};
diff --git a/lib/unictype/pr_ignorable_control.c b/lib/unictype/pr_ignorable_control.c
new file mode 100644 (file)
index 0000000..00a7223
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_ignorable_control table.  */
+#include "pr_ignorable_control.h"
+
+bool
+uc_is_property_ignorable_control (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_ignorable_control, uc);
+}
+
+const uc_property_t UC_PROPERTY_IGNORABLE_CONTROL =
+  { &uc_is_property_ignorable_control };
diff --git a/lib/unictype/pr_ignorable_control.h b/lib/unictype/pr_ignorable_control.h
new file mode 100644 (file)
index 0000000..f0f0a40
--- /dev/null
@@ -0,0 +1,452 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[7 << 4];
+  }
+u_property_ignorable_control =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x0FFFC1FE, 0x00000000, 0x00000000, 0x80000000,
+    0xFFFFFFDF, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x20000000, 0x00000000,
+    0x00008000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00300000, 0x00000000, 0x00000000,
+    0x0000F800, 0x00007C00, 0x00000000, 0x0000FC0F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0E000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x07F80000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_iso_control.c b/lib/unictype/pr_iso_control.c
new file mode 100644 (file)
index 0000000..9d2f392
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_iso_control table.  */
+#include "pr_iso_control.h"
+
+bool
+uc_is_property_iso_control (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_iso_control, uc);
+}
+
+#else
+
+bool
+uc_is_property_iso_control (ucs4_t uc)
+{
+  return uc_is_general_category (uc, UC_CATEGORY_Cc);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_ISO_CONTROL =
+  { &uc_is_property_iso_control };
diff --git a/lib/unictype/pr_iso_control.h b/lib/unictype/pr_iso_control.h
new file mode 100644 (file)
index 0000000..c05ff74
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_iso_control =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0xFFFFFFFF, 0x00000000, 0x00000000, 0x80000000,
+    0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_join_control.c b/lib/unictype/pr_join_control.c
new file mode 100644 (file)
index 0000000..ad22cea
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_join_control table.  */
+#include "pr_join_control.h"
+
+bool
+uc_is_property_join_control (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_join_control, uc);
+}
+
+#else
+
+bool
+uc_is_property_join_control (ucs4_t uc)
+{
+  return (uc >= 0x200C && uc <= 0x200D);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_JOIN_CONTROL =
+  { &uc_is_property_join_control };
diff --git a/lib/unictype/pr_join_control.h b/lib/unictype/pr_join_control.h
new file mode 100644 (file)
index 0000000..3680490
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_join_control =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00003000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_left_of_pair.c b/lib/unictype/pr_left_of_pair.c
new file mode 100644 (file)
index 0000000..62b45f4
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_left_of_pair table.  */
+#include "pr_left_of_pair.h"
+
+bool
+uc_is_property_left_of_pair (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_left_of_pair, uc);
+}
+
+const uc_property_t UC_PROPERTY_LEFT_OF_PAIR =
+  { &uc_is_property_left_of_pair };
diff --git a/lib/unictype/pr_left_of_pair.h b/lib/unictype/pr_left_of_pair.h
new file mode 100644 (file)
index 0000000..9148694
--- /dev/null
@@ -0,0 +1,184 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[8 << 4];
+  }
+u_property_left_of_pair =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+        2 +   128 * sizeof (short) / sizeof (int) +   112
+  },
+  {
+    0x00000000, 0x00000100, 0x08000000, 0x08000000,
+    0x00000000, 0x00000800, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x14000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x08000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xDD000000, 0x02000000, 0x00000020, 0x20000000,
+    0x00002000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x25515500, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x40000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xAAA00000, 0x2A00000A, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000100, 0x08000000, 0x08000000, 0x00000004,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_line_separator.c b/lib/unictype/pr_line_separator.c
new file mode 100644 (file)
index 0000000..0c0b320
--- /dev/null
@@ -0,0 +1,55 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_line_separator table.  */
+#include "pr_line_separator.h"
+
+bool
+uc_is_property_line_separator (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_line_separator, uc);
+}
+
+#elif 0
+
+bool
+uc_is_property_line_separator (ucs4_t uc)
+{
+  return uc_is_category_Zl (uc);
+}
+
+#else
+
+bool
+uc_is_property_line_separator (ucs4_t uc)
+{
+  return (uc == 0x2028);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_LINE_SEPARATOR =
+  { &uc_is_property_line_separator };
diff --git a/lib/unictype/pr_line_separator.h b/lib/unictype/pr_line_separator.h
new file mode 100644 (file)
index 0000000..24c1ee8
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_line_separator =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000100, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_logical_order_exception.c b/lib/unictype/pr_logical_order_exception.c
new file mode 100644 (file)
index 0000000..e06f271
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_logical_order_exception table.  */
+#include "pr_logical_order_exception.h"
+
+bool
+uc_is_property_logical_order_exception (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_logical_order_exception, uc);
+}
+
+const uc_property_t UC_PROPERTY_LOGICAL_ORDER_EXCEPTION =
+  { &uc_is_property_logical_order_exception };
diff --git a/lib/unictype/pr_logical_order_exception.h b/lib/unictype/pr_logical_order_exception.h
new file mode 100644 (file)
index 0000000..046f6b0
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_logical_order_exception =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x0000001F, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_lowercase.c b/lib/unictype/pr_lowercase.c
new file mode 100644 (file)
index 0000000..ed719da
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_lowercase table.  */
+#include "pr_lowercase.h"
+
+bool
+uc_is_property_lowercase (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_lowercase, uc);
+}
+
+const uc_property_t UC_PROPERTY_LOWERCASE =
+  { &uc_is_property_lowercase };
diff --git a/lib/unictype/pr_lowercase.h b/lib/unictype/pr_lowercase.h
new file mode 100644 (file)
index 0000000..87b9c4e
--- /dev/null
@@ -0,0 +1,335 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[13 << 4];
+  }
+u_property_lowercase =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0x80000000, 0xFF7FFFFF,
+    0xAAAAAAAA, 0x55AAAAAA, 0xAAAAAB55, 0xD4AAAAAA,
+    0x4E243129, 0xE6512D2A, 0xB5555240, 0xAA29AAAA,
+    0xAAAAAAAA, 0x93FAAAAA, 0xFFFFAA85, 0xFFFFFFFF,
+    0xFFEFFFFF, 0x01FFFFFF, 0x00000003, 0x0000001F,
+    0x00000000, 0x00000000, 0x00000020, 0x3C000000,
+    0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x192FAAAA,
+    0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA,
+    0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA,
+    0x000AAAAA, 0x00000000, 0x00000000, 0xFFFFFFFE,
+    0x000000FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
+    0x0FEAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x02AAAAAA,
+    0x003F00FF, 0x00FF00FF, 0x00FF003F, 0x3FFF00FF,
+    0x00FF00FF, 0x40DF00FF, 0x00CF00DC, 0x00DC00FF,
+    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x001F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x0008C400, 0x32108000, 0x000043C0, 0xFFFF0000,
+    0x00000010, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x00D01562,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000001A,
+    0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00F8007F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFC000000, 0x000FFFFF, 0xFFDFC000, 0x000000FF,
+    0x0FFFFFFC, 0xEBC00000, 0x0000FFEF, 0xFFFFFC00,
+    0xC000000F, 0x00FFFFFF, 0xFFFC0000, 0x00000FFF,
+    0xFFFFFFC0, 0xFC000000, 0x000FFFFF, 0xFFFFC000,
+    0x000000FF, 0x0FFFFFFC, 0xFFC00000, 0x0000FFFF,
+    0xFFFFFC00, 0x0000003F, 0xF7FFFFFC, 0xF0000003,
+    0x0FDFFFFF, 0xFFC00000, 0x003F7FFF, 0xFFFF0000,
+    0x0000FDFF, 0xFFFFFC00, 0x00000BF7, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_math.c b/lib/unictype/pr_math.c
new file mode 100644 (file)
index 0000000..a4971d2
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_math table.  */
+#include "pr_math.h"
+
+bool
+uc_is_property_math (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_math, uc);
+}
+
+const uc_property_t UC_PROPERTY_MATH =
+  { &uc_is_property_math };
diff --git a/lib/unictype/pr_math.h b/lib/unictype/pr_math.h
new file mode 100644 (file)
index 0000000..9975ccb
--- /dev/null
@@ -0,0 +1,331 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[12 << 4];
+  }
+u_property_math =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x70000800, 0x40000000, 0x50000000,
+    0x00000000, 0x00021000, 0x00800000, 0x00800000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00270000, 0x00730000,
+    0x00400000, 0x001C0000, 0x00040011, 0x7C00000E,
+    0x00007C00, 0x00000000, 0x1FFF0000, 0x0000F062,
+    0x3E2FFC04, 0xF1FBB310, 0x00000BFF, 0x00000000,
+    0x0C1F0000, 0x00004049, 0x0014C000, 0xFFF00000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000F00, 0x00000003, 0x00000000, 0x10000000,
+    0xF8000000, 0x008FFFFF, 0xF0010000, 0x00000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00800000, 0x00000002, 0xFF000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00008000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF07FF, 0xFFFF0FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000017E,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x70000800, 0x50000000, 0x50000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00001E04,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_non_break.c b/lib/unictype/pr_non_break.c
new file mode 100644 (file)
index 0000000..d1855d4
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_non_break table.  */
+#include "pr_non_break.h"
+
+bool
+uc_is_property_non_break (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_non_break, uc);
+}
+
+const uc_property_t UC_PROPERTY_NON_BREAK =
+  { &uc_is_property_non_break };
diff --git a/lib/unictype/pr_non_break.h b/lib/unictype/pr_non_break.h
new file mode 100644 (file)
index 0000000..aee5422
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_property_non_break =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xF0008000, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00041100, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00020080, 0x00008000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_not_a_character.c b/lib/unictype/pr_not_a_character.c
new file mode 100644 (file)
index 0000000..05910fe
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_not_a_character table.  */
+#include "pr_not_a_character.h"
+
+bool
+uc_is_property_not_a_character (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_not_a_character, uc);
+}
+
+const uc_property_t UC_PROPERTY_NOT_A_CHARACTER =
+  { &uc_is_property_not_a_character };
diff --git a/lib/unictype/pr_not_a_character.h b/lib/unictype/pr_not_a_character.h
new file mode 100644 (file)
index 0000000..53385d6
--- /dev/null
@@ -0,0 +1,306 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[2 << 4];
+  }
+u_property_not_a_character =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   256 * sizeof (short) / sizeof (int) +    16
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xC0000000
+  }
+};
diff --git a/lib/unictype/pr_numeric.c b/lib/unictype/pr_numeric.c
new file mode 100644 (file)
index 0000000..dfa2250
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_numeric table.  */
+#include "pr_numeric.h"
+
+bool
+uc_is_property_numeric (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_numeric, uc);
+}
+
+const uc_property_t UC_PROPERTY_NUMERIC =
+  { &uc_is_property_numeric };
diff --git a/lib/unictype/pr_numeric.h b/lib/unictype/pr_numeric.h
new file mode 100644 (file)
index 0000000..b649a2d
--- /dev/null
@@ -0,0 +1,387 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[26 << 4];
+  }
+u_property_numeric =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x720C0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000003FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x03F0FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0007FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x000FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000003FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x1FFFFE00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0001C000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF03FF,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FFC0, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03F10000,
+    0x000003FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF80000, 0xFFFFFFFF,
+    0x0000000F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
+    0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFC00000,
+    0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x20000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000080, 0x070003FE, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003C0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000003FF, 0xFFFE0000, 0x00000000,
+    0x000003FF, 0xFFFE0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFF80, 0x000FFFFF, 0xFFFFFFFF, 0x01FFFFFF,
+    0x00000400, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000000F, 0x00000402, 0x00000000,
+    0x00000000, 0x00000000, 0x003E0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03C00000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000000FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFF3FFFF, 0xFF3FFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_other_alphabetic.c b/lib/unictype/pr_other_alphabetic.c
new file mode 100644 (file)
index 0000000..1a880f5
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_other_alphabetic table.  */
+#include "pr_other_alphabetic.h"
+
+bool
+uc_is_property_other_alphabetic (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_other_alphabetic, uc);
+}
+
+const uc_property_t UC_PROPERTY_OTHER_ALPHABETIC =
+  { &uc_is_property_other_alphabetic };
diff --git a/lib/unictype/pr_other_alphabetic.h b/lib/unictype/pr_other_alphabetic.h
new file mode 100644 (file)
index 0000000..f7cc19d
--- /dev/null
@@ -0,0 +1,347 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[16 << 4];
+  }
+u_property_other_alphabetic =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000020, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xBFFF0000, 0x000000B6, 0x00000000,
+    0x003F0000, 0x00000000, 0x7EFFF800, 0x00010000,
+    0x00000000, 0x00000000, 0x1FC00000, 0x0000219E,
+    0x00020000, 0xFFFF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x0001FFC0, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000E, 0xC0000000, 0x00001FFF, 0x0000000C,
+    0x0000000E, 0xC0000000, 0x0080199F, 0x0000000C,
+    0x0000000E, 0xC0000000, 0x00001987, 0x00030000,
+    0x0000000E, 0xC0000000, 0x00001BBF, 0x0000000C,
+    0x0000000E, 0xC0000000, 0x00C0198F, 0x00000000,
+    0x00000004, 0xC0000000, 0x00801DC7, 0x00000000,
+    0x0000000E, 0xC0000000, 0x00601DDF, 0x00000000,
+    0x0000000C, 0xC0000000, 0x00601DDF, 0x0000000C,
+    0x0000000C, 0xC0000000, 0x00801DCF, 0x00000000,
+    0x0000000C, 0x00000000, 0xFF5F8000, 0x000C0000,
+    0x00000000, 0x07F20000, 0x00002000, 0x00000000,
+    0x00000000, 0x1BF20000, 0x00002000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFE0000,
+    0xFEFF0003, 0x1FFFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x0147F000, 0x03C00000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000C0000, 0x000C0000, 0x000C0000, 0x000C0000,
+    0x00000000, 0xFFC00000, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x01FF0FFF, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFF0000, 0x00000301, 0x00000000,
+    0x0F800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000001F, 0xFFE00000, 0x0000000F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000000F8, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x40000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000F06E, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_other_default_ignorable_code_point.c b/lib/unictype/pr_other_default_ignorable_code_point.c
new file mode 100644 (file)
index 0000000..434977d
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_other_default_ignorable_code_point table.  */
+#include "pr_other_default_ignorable_code_point.h"
+
+bool
+uc_is_property_other_default_ignorable_code_point (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_other_default_ignorable_code_point, uc);
+}
+
+const uc_property_t UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT =
+  { &uc_is_property_other_default_ignorable_code_point };
diff --git a/lib/unictype/pr_other_default_ignorable_code_point.h b/lib/unictype/pr_other_default_ignorable_code_point.h
new file mode 100644 (file)
index 0000000..56b4a64
--- /dev/null
@@ -0,0 +1,324 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[7 << 4];
+  }
+u_property_other_default_ignorable_code_point =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       16 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   256 * sizeof (short) / sizeof (int) +    64,
+       16 +   256 * sizeof (short) / sizeof (int) +    80,
+       16 +   256 * sizeof (short) / sizeof (int) +    96,
+       16 +   256 * sizeof (short) / sizeof (int) +    96,
+       16 +   256 * sizeof (short) / sizeof (int) +    96,
+       16 +   256 * sizeof (short) / sizeof (int) +    96,
+       16 +   256 * sizeof (short) / sizeof (int) +    96,
+       16 +   256 * sizeof (short) / sizeof (int) +    96,
+       16 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000001,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000003F0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000010,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x01FF0000,
+    0xFFFFFFFD, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_other_grapheme_extend.c b/lib/unictype/pr_other_grapheme_extend.c
new file mode 100644 (file)
index 0000000..fb7af9c
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_other_grapheme_extend table.  */
+#include "pr_other_grapheme_extend.h"
+
+bool
+uc_is_property_other_grapheme_extend (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_other_grapheme_extend, uc);
+}
+
+const uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND =
+  { &uc_is_property_other_grapheme_extend };
diff --git a/lib/unictype/pr_other_grapheme_extend.h b/lib/unictype/pr_other_grapheme_extend.h
new file mode 100644 (file)
index 0000000..f4cc35d
--- /dev/null
@@ -0,0 +1,303 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_property_other_grapheme_extend =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x40000000, 0x00800000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x40000000, 0x00800000, 0x00000000,
+    0x00000000, 0x40000000, 0x00800000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00600004, 0x00000000,
+    0x00000000, 0x40000000, 0x00800000, 0x00000000,
+    0x00000000, 0x00000000, 0x80008000, 0x00000000,
+    0x00003000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0007C020,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_other_id_continue.c b/lib/unictype/pr_other_id_continue.c
new file mode 100644 (file)
index 0000000..75e71c3
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_other_id_continue table.  */
+#include "pr_other_id_continue.h"
+
+bool
+uc_is_property_other_id_continue (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_other_id_continue, uc);
+}
+
+const uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE =
+  { &uc_is_property_other_id_continue };
diff --git a/lib/unictype/pr_other_id_continue.h b/lib/unictype/pr_other_id_continue.h
new file mode 100644 (file)
index 0000000..86982cb
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_other_id_continue =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003FE00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_other_id_start.c b/lib/unictype/pr_other_id_start.c
new file mode 100644 (file)
index 0000000..1858e47
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_other_id_start table.  */
+#include "pr_other_id_start.h"
+
+bool
+uc_is_property_other_id_start (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_other_id_start, uc);
+}
+
+const uc_property_t UC_PROPERTY_OTHER_ID_START =
+  { &uc_is_property_other_id_start };
diff --git a/lib/unictype/pr_other_id_start.h b/lib/unictype/pr_other_id_start.h
new file mode 100644 (file)
index 0000000..392ea71
--- /dev/null
@@ -0,0 +1,160 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[2 << 4];
+  }
+u_property_other_id_start =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01000000, 0x00004000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x18000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_other_lowercase.c b/lib/unictype/pr_other_lowercase.c
new file mode 100644 (file)
index 0000000..c199b17
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_other_lowercase table.  */
+#include "pr_other_lowercase.h"
+
+bool
+uc_is_property_other_lowercase (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_other_lowercase, uc);
+}
+
+const uc_property_t UC_PROPERTY_OTHER_LOWERCASE =
+  { &uc_is_property_other_lowercase };
diff --git a/lib/unictype/pr_other_lowercase.h b/lib/unictype/pr_other_lowercase.h
new file mode 100644 (file)
index 0000000..a74fc42
--- /dev/null
@@ -0,0 +1,168 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[4 << 4];
+  }
+u_property_other_lowercase =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x01FF0000, 0x00000003, 0x0000001F,
+    0x00000000, 0x00000000, 0x00000020, 0x04000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x01000003,
+    0xF8000000, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x001F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFF0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x000003FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_other_math.c b/lib/unictype/pr_other_math.c
new file mode 100644 (file)
index 0000000..7e130e7
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_other_math table.  */
+#include "pr_other_math.h"
+
+bool
+uc_is_property_other_math (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_other_math, uc);
+}
+
+const uc_property_t UC_PROPERTY_OTHER_MATH =
+  { &uc_is_property_other_math };
diff --git a/lib/unictype/pr_other_math.h b/lib/unictype/pr_other_math.h
new file mode 100644 (file)
index 0000000..819ae91
--- /dev/null
@@ -0,0 +1,319 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[9 << 4];
+  }
+u_property_other_math =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x40000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00270000, 0x00330000,
+    0x00400000, 0x001C0000, 0x00000001, 0x6000000E,
+    0x00006000, 0x00000000, 0x1FFF0000, 0x0000F062,
+    0x3E2FFC04, 0xF1FBB310, 0x000003E0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00800000, 0x00010000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000060, 0x00000FC0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01FFFFF8, 0x00000000, 0x0F000000, 0x30000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000010A,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x50000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+    0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+    0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_other_uppercase.c b/lib/unictype/pr_other_uppercase.c
new file mode 100644 (file)
index 0000000..278ce51
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_other_uppercase table.  */
+#include "pr_other_uppercase.h"
+
+bool
+uc_is_property_other_uppercase (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_other_uppercase, uc);
+}
+
+const uc_property_t UC_PROPERTY_OTHER_UPPERCASE =
+  { &uc_is_property_other_uppercase };
diff --git a/lib/unictype/pr_other_uppercase.h b/lib/unictype/pr_other_uppercase.h
new file mode 100644 (file)
index 0000000..a80a94f
--- /dev/null
@@ -0,0 +1,160 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[2 << 4];
+  }
+u_property_other_uppercase =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFC00000, 0x0000FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_paired_punctuation.c b/lib/unictype/pr_paired_punctuation.c
new file mode 100644 (file)
index 0000000..52b0dbb
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_paired_punctuation table.  */
+#include "pr_paired_punctuation.h"
+
+bool
+uc_is_property_paired_punctuation (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_paired_punctuation, uc);
+}
+
+const uc_property_t UC_PROPERTY_PAIRED_PUNCTUATION =
+  { &uc_is_property_paired_punctuation };
diff --git a/lib/unictype/pr_paired_punctuation.h b/lib/unictype/pr_paired_punctuation.h
new file mode 100644 (file)
index 0000000..11736fd
--- /dev/null
@@ -0,0 +1,184 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[8 << 4];
+  }
+u_property_paired_punctuation =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+        2 +   128 * sizeof (short) / sizeof (int) +   112
+  },
+  {
+    0x00000000, 0x00000300, 0x28000000, 0x28000000,
+    0x00000000, 0x08000800, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x3C000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x18000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFF000000, 0x06000000, 0x00000060, 0x60000000,
+    0x00006000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000600, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xEFF3FF00, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFE00000, 0x7E00001F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000300, 0x28000000, 0x28000000, 0x0000000C,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_paragraph_separator.c b/lib/unictype/pr_paragraph_separator.c
new file mode 100644 (file)
index 0000000..c1aeff3
--- /dev/null
@@ -0,0 +1,55 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_paragraph_separator table.  */
+#include "pr_paragraph_separator.h"
+
+bool
+uc_is_property_paragraph_separator (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_paragraph_separator, uc);
+}
+
+#elif 0
+
+bool
+uc_is_property_paragraph_separator (ucs4_t uc)
+{
+  return uc_is_category_Zp (uc);
+}
+
+#else
+
+bool
+uc_is_property_paragraph_separator (ucs4_t uc)
+{
+  return (uc == 0x2029);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_PARAGRAPH_SEPARATOR =
+  { &uc_is_property_paragraph_separator };
diff --git a/lib/unictype/pr_paragraph_separator.h b/lib/unictype/pr_paragraph_separator.h
new file mode 100644 (file)
index 0000000..c1662a9
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_paragraph_separator =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_pattern_syntax.c b/lib/unictype/pr_pattern_syntax.c
new file mode 100644 (file)
index 0000000..5f5366f
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_pattern_syntax table.  */
+#include "pr_pattern_syntax.h"
+
+bool
+uc_is_property_pattern_syntax (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_pattern_syntax, uc);
+}
+
+const uc_property_t UC_PROPERTY_PATTERN_SYNTAX =
+  { &uc_is_property_pattern_syntax };
diff --git a/lib/unictype/pr_pattern_syntax.h b/lib/unictype/pr_pattern_syntax.h
new file mode 100644 (file)
index 0000000..aff0120
--- /dev/null
@@ -0,0 +1,188 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[9 << 4];
+  }
+u_property_pattern_syntax =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
+        2 +   128 * sizeof (short) / sizeof (int) +   128
+  },
+  {
+    0x00000000, 0xFC00FFFE, 0x78000001, 0x78000001,
+    0x00000000, 0x88435AFE, 0x00800000, 0x00800000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0x7FFF00FF, 0x7FEFFFFE, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
+    0xFFF00000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFF0E, 0x00010001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000060, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_pattern_white_space.c b/lib/unictype/pr_pattern_white_space.c
new file mode 100644 (file)
index 0000000..407cc7e
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_pattern_white_space table.  */
+#include "pr_pattern_white_space.h"
+
+bool
+uc_is_property_pattern_white_space (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_pattern_white_space, uc);
+}
+
+const uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE =
+  { &uc_is_property_pattern_white_space };
diff --git a/lib/unictype/pr_pattern_white_space.h b/lib/unictype/pr_pattern_white_space.h
new file mode 100644 (file)
index 0000000..d634e1d
--- /dev/null
@@ -0,0 +1,160 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[2 << 4];
+  }
+u_property_pattern_white_space =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00003E00, 0x00000001, 0x00000000, 0x00000000,
+    0x00000020, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000C000, 0x00000300, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_private_use.c b/lib/unictype/pr_private_use.c
new file mode 100644 (file)
index 0000000..64a28c7
--- /dev/null
@@ -0,0 +1,49 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_private_use table.  */
+#include "pr_private_use.h"
+
+bool
+uc_is_property_private_use (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_private_use, uc);
+}
+
+#else
+
+bool
+uc_is_property_private_use (ucs4_t uc)
+{
+  return (uc >= 0xE000 && uc <= 0xF8FF)
+        || (uc >= 0xF0000 && uc <= 0xFFFFD)
+        || (uc >= 0x100000 && uc <= 0x10FFFD);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_PRIVATE_USE =
+  { &uc_is_property_private_use };
diff --git a/lib/unictype/pr_private_use.h b/lib/unictype/pr_private_use.h
new file mode 100644 (file)
index 0000000..a1bc099
--- /dev/null
@@ -0,0 +1,310 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[17];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[3 << 4];
+  }
+u_property_private_use =
+{
+  { 17 },
+  {
+       18 * sizeof (int) / sizeof (short) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 * sizeof (int) / sizeof (short) +   128,
+       18 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +     0,
+       18 +   256 * sizeof (short) / sizeof (int) +    32
+  },
+  {
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF
+  }
+};
diff --git a/lib/unictype/pr_punctuation.c b/lib/unictype/pr_punctuation.c
new file mode 100644 (file)
index 0000000..00efeee
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_punctuation table.  */
+#include "pr_punctuation.h"
+
+bool
+uc_is_property_punctuation (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_punctuation, uc);
+}
+
+#else
+
+bool
+uc_is_property_punctuation (ucs4_t uc)
+{
+  return uc_is_general_category (uc, UC_CATEGORY_P);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_PUNCTUATION =
+  { &uc_is_property_punctuation };
diff --git a/lib/unictype/pr_punctuation.h b/lib/unictype/pr_punctuation.h
new file mode 100644 (file)
index 0000000..c113a95
--- /dev/null
@@ -0,0 +1,391 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[27 << 4];
+  }
+u_property_punctuation =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   416,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x8C00F7EE, 0xB8000001, 0x28000000,
+    0x00000000, 0x88800802, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x40000000,
+    0x00000080, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFC000000, 0x00000000,
+    0x00000600, 0x40000000, 0x00000049, 0x00180000,
+    0xC8003000, 0x00000000, 0x00000000, 0x00003C00,
+    0x00000000, 0x00000000, 0x00100000, 0x00000000,
+    0x00003FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03800000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00010030,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00100000,
+    0x00000000, 0x00000000, 0x0C008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0007FFF0, 0x3C000000, 0x00000000, 0x00000000,
+    0x00000020, 0x00000000, 0x00030000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FC00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000001FE,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00006000,
+    0x18000000, 0x00000000, 0x00000000, 0x00003800,
+    0x00000000, 0x00600000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x07700000, 0x00000000,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000030, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x00000000,
+    0xC0000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFC000000, 0x00000001,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xFFFF00FF, 0x7FFBFFEF, 0x60000000,
+    0x00006000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000600, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x003FFF00,
+    0x00000000, 0x00000000, 0x00000060, 0x00000FC0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01FFFFF8, 0x00000000, 0x0F000000, 0x30000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xDE000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x30FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF3FF0E, 0x20010000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x08000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00F00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF0000, 0xFFFF0000, 0xFFF7FFFF, 0x00000D0B,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x8C00F7EE, 0xB8000001, 0xA8000000, 0x0000003F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000003, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00010000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x01FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000F0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_quotation_mark.c b/lib/unictype/pr_quotation_mark.c
new file mode 100644 (file)
index 0000000..e07fef2
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_quotation_mark table.  */
+#include "pr_quotation_mark.h"
+
+bool
+uc_is_property_quotation_mark (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_quotation_mark, uc);
+}
+
+const uc_property_t UC_PROPERTY_QUOTATION_MARK =
+  { &uc_is_property_quotation_mark };
diff --git a/lib/unictype/pr_quotation_mark.h b/lib/unictype/pr_quotation_mark.h
new file mode 100644 (file)
index 0000000..f854a11
--- /dev/null
@@ -0,0 +1,168 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[4 << 4];
+  }
+u_property_quotation_mark =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48
+  },
+  {
+    0x00000000, 0x00000084, 0x00000000, 0x00000000,
+    0x00000000, 0x08000800, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFF000000, 0x06000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xE000F000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001E, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000084, 0x00000000, 0x00000000, 0x0000000C,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_radical.c b/lib/unictype/pr_radical.c
new file mode 100644 (file)
index 0000000..1343162
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_radical table.  */
+#include "pr_radical.h"
+
+bool
+uc_is_property_radical (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_radical, uc);
+}
+
+const uc_property_t UC_PROPERTY_RADICAL =
+  { &uc_is_property_radical };
diff --git a/lib/unictype/pr_radical.h b/lib/unictype/pr_radical.h
new file mode 100644 (file)
index 0000000..de2a638
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_property_radical =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_sentence_terminal.c b/lib/unictype/pr_sentence_terminal.c
new file mode 100644 (file)
index 0000000..85d5e68
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_sentence_terminal table.  */
+#include "pr_sentence_terminal.h"
+
+bool
+uc_is_property_sentence_terminal (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_sentence_terminal, uc);
+}
+
+const uc_property_t UC_PROPERTY_SENTENCE_TERMINAL =
+  { &uc_is_property_sentence_terminal };
diff --git a/lib/unictype/pr_sentence_terminal.h b/lib/unictype/pr_sentence_terminal.h
new file mode 100644 (file)
index 0000000..45f8ea5
--- /dev/null
@@ -0,0 +1,204 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[13 << 4];
+  }
+u_property_sentence_terminal =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
+        2 +   128 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   192
+  },
+  {
+    0x00000000, 0x80004002, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x50000000, 0x00000000,
+    0x00000200, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00100000, 0x00000000,
+    0x00000007, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x02000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000030,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000C00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000184,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00004000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000208, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000030, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xCC000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x30000000, 0x00000380, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000004, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00C00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00C40000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80004002, 0x00000000, 0x00000000, 0x00000002,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_soft_dotted.c b/lib/unictype/pr_soft_dotted.c
new file mode 100644 (file)
index 0000000..b261d3c
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_soft_dotted table.  */
+#include "pr_soft_dotted.h"
+
+bool
+uc_is_property_soft_dotted (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_soft_dotted, uc);
+}
+
+const uc_property_t UC_PROPERTY_SOFT_DOTTED =
+  { &uc_is_property_soft_dotted };
diff --git a/lib/unictype/pr_soft_dotted.h b/lib/unictype/pr_soft_dotted.h
new file mode 100644 (file)
index 0000000..05af95f
--- /dev/null
@@ -0,0 +1,315 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[8 << 4];
+  }
+u_property_soft_dotted =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000600,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00008000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000200, 0x00000100,
+    0x20000000, 0x00040000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00080000,
+    0x00000000, 0x00000000, 0x01400000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000004,
+    0x00400000, 0x00000110, 0x00000000, 0x00000000,
+    0x00000000, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000800, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000300, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x0000000C, 0x00C00000, 0x00000000,
+    0x00000C00, 0xC0000000, 0x00000000, 0x000C0000,
+    0x00000000, 0x000000C0, 0x0C000000, 0x00000000,
+    0x0000C000, 0x00000000, 0x0000000C, 0x00C00000,
+    0x00000000, 0x00000C00, 0xC0000000, 0x00000000,
+    0x000C0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_space.c b/lib/unictype/pr_space.c
new file mode 100644 (file)
index 0000000..5bc3881
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_space table.  */
+#include "pr_space.h"
+
+bool
+uc_is_property_space (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_space, uc);
+}
+
+#else
+
+bool
+uc_is_property_space (ucs4_t uc)
+{
+  return uc_is_general_category (uc, UC_CATEGORY_Zs);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_SPACE =
+  { &uc_is_property_space };
diff --git a/lib/unictype/pr_space.h b/lib/unictype/pr_space.h
new file mode 100644 (file)
index 0000000..6788c3c
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_property_space =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00008000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_terminal_punctuation.c b/lib/unictype/pr_terminal_punctuation.c
new file mode 100644 (file)
index 0000000..30a79f9
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_terminal_punctuation table.  */
+#include "pr_terminal_punctuation.h"
+
+bool
+uc_is_property_terminal_punctuation (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_terminal_punctuation, uc);
+}
+
+const uc_property_t UC_PROPERTY_TERMINAL_PUNCTUATION =
+  { &uc_is_property_terminal_punctuation };
diff --git a/lib/unictype/pr_terminal_punctuation.h b/lib/unictype/pr_terminal_punctuation.h
new file mode 100644 (file)
index 0000000..d8cb120
--- /dev/null
@@ -0,0 +1,355 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[18 << 4];
+  }
+u_property_terminal_punctuation =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x8C005002, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x40000000,
+    0x00000080, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000200, 0x00000000, 0x00000008, 0x00000000,
+    0x88001000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00100000, 0x00000000,
+    0x000017FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000030,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0C000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0007E100, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000C00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000001FE,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00006000,
+    0x00000000, 0x00000000, 0x00000000, 0x00003800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x04700000, 0x00000000,
+    0x0000033C, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000030, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xEC000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x30000000, 0x00000380, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000006, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00C00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00F70000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x8C005002, 0x00000000, 0x00000000, 0x00000012,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00010000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000F0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_test.c b/lib/unictype/pr_test.c
new file mode 100644 (file)
index 0000000..6d997b4
--- /dev/null
@@ -0,0 +1,27 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2005-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+bool
+uc_is_property (ucs4_t uc, uc_property_t property)
+{
+  return property.test_fn (uc);
+}
diff --git a/lib/unictype/pr_titlecase.c b/lib/unictype/pr_titlecase.c
new file mode 100644 (file)
index 0000000..eeb7dcc
--- /dev/null
@@ -0,0 +1,47 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#if 0
+
+#include "bitmap.h"
+
+/* Define u_property_titlecase table.  */
+#include "pr_titlecase.h"
+
+bool
+uc_is_property_titlecase (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_titlecase, uc);
+}
+
+#else
+
+bool
+uc_is_property_titlecase (ucs4_t uc)
+{
+  return uc_is_general_category (uc, UC_CATEGORY_Lt);
+}
+
+#endif
+
+const uc_property_t UC_PROPERTY_TITLECASE =
+  { &uc_is_property_titlecase };
diff --git a/lib/unictype/pr_titlecase.h b/lib/unictype/pr_titlecase.h
new file mode 100644 (file)
index 0000000..40563ea
--- /dev/null
@@ -0,0 +1,160 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[2 << 4];
+  }
+u_property_titlecase =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000920, 0x00040000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFF00FF00, 0x1000FF00, 0x00001000, 0x10000000
+  }
+};
diff --git a/lib/unictype/pr_unassigned_code_value.c b/lib/unictype/pr_unassigned_code_value.c
new file mode 100644 (file)
index 0000000..328b5e7
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_unassigned_code_value table.  */
+#include "pr_unassigned_code_value.h"
+
+bool
+uc_is_property_unassigned_code_value (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_unassigned_code_value, uc);
+}
+
+const uc_property_t UC_PROPERTY_UNASSIGNED_CODE_VALUE =
+  { &uc_is_property_unassigned_code_value };
diff --git a/lib/unictype/pr_unassigned_code_value.h b/lib/unictype/pr_unassigned_code_value.h
new file mode 100644 (file)
index 0000000..16f3836
--- /dev/null
@@ -0,0 +1,876 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[5 << 7];
+    /*unsigned*/ int level3[49 << 4];
+  }
+u_property_unassigned_code_value =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       16 * sizeof (int) / sizeof (short) +   256,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   384,
+       16 * sizeof (int) / sizeof (short) +   512
+  },
+  {
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +     0,
+       16 +   640 * sizeof (short) / sizeof (int) +    16,
+       16 +   640 * sizeof (short) / sizeof (int) +    32,
+       16 +   640 * sizeof (short) / sizeof (int) +    48,
+       16 +   640 * sizeof (short) / sizeof (int) +    64,
+       16 +   640 * sizeof (short) / sizeof (int) +    80,
+       16 +   640 * sizeof (short) / sizeof (int) +    96,
+       16 +   640 * sizeof (short) / sizeof (int) +   112,
+       16 +   640 * sizeof (short) / sizeof (int) +   128,
+       16 +   640 * sizeof (short) / sizeof (int) +   144,
+       16 +   640 * sizeof (short) / sizeof (int) +   160,
+       16 +   640 * sizeof (short) / sizeof (int) +   176,
+       16 +   640 * sizeof (short) / sizeof (int) +   192,
+       16 +   640 * sizeof (short) / sizeof (int) +   208,
+       16 +   640 * sizeof (short) / sizeof (int) +   224,
+       16 +   640 * sizeof (short) / sizeof (int) +   240,
+       16 +   640 * sizeof (short) / sizeof (int) +   256,
+       16 +   640 * sizeof (short) / sizeof (int) +   272,
+       16 +   640 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   304,
+       16 +   640 * sizeof (short) / sizeof (int) +   320,
+       16 +   640 * sizeof (short) / sizeof (int) +   336,
+       16 +   640 * sizeof (short) / sizeof (int) +   352,
+       16 +   640 * sizeof (short) / sizeof (int) +   368,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   384,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   416,
+       16 +   640 * sizeof (short) / sizeof (int) +   432,
+       16 +   640 * sizeof (short) / sizeof (int) +   448,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   496,
+       16 +   640 * sizeof (short) / sizeof (int) +   512,
+       16 +   640 * sizeof (short) / sizeof (int) +   528,
+       16 +   640 * sizeof (short) / sizeof (int) +   544,
+       16 +   640 * sizeof (short) / sizeof (int) +   560,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   592,
+       16 +   640 * sizeof (short) / sizeof (int) +   608,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   624,
+       16 +   640 * sizeof (short) / sizeof (int) +   640,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   656,
+       16 +   640 * sizeof (short) / sizeof (int) +   672,
+       16 +   640 * sizeof (short) / sizeof (int) +   688,
+       16 +   640 * sizeof (short) / sizeof (int) +   704,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   720,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   736,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   720,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   720,
+       16 +   640 * sizeof (short) / sizeof (int) +   768,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
+       16 +   640 * sizeof (short) / sizeof (int) +   720
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x83CF0000,
+    0x0000280F, 0x00000004, 0x00008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000080, 0x00000000, 0x00000000, 0x00000000,
+    0xFFF00000, 0x0001FFFF, 0x01800000, 0x00000001,
+    0x0001F900, 0x00000000, 0x0000FF00, 0xFFE0F800,
+    0x37C007F0, 0xF8000001, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00001800, 0xFFFFC000,
+    0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000001, 0x0C000000, 0x00E0C000, 0x07FE0000,
+    0x00066011, 0x0C3A0200, 0x4F7F8660, 0xF8000030,
+    0x00067811, 0x2C920200, 0xA1FFC678, 0xFFE0003F,
+    0x00044011, 0x0C120200, 0xFFFEC440, 0xFFFD0030,
+    0x00066011, 0x0C120200, 0x4F3FC670, 0xFFFC003C,
+    0x29C23813, 0x3C0038E7, 0xFF7FC238, 0xF800003F,
+    0x00022011, 0x3C100200, 0xFF9FC220, 0xFFFF003C,
+    0x00022013, 0x0C100200, 0xBF9FC220, 0xFFF90030,
+    0x00022013, 0x3C000200, 0xFF7FC230, 0xFFFF003C,
+    0x03800013, 0xD0040000, 0x00A07B80, 0xFFE3FFFF,
+    0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF,
+    0x010FDA69, 0xC4001351, 0xCC00C0A0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000100, 0x0001F800,
+    0x0100F000, 0x20000000, 0xFFFC6000, 0xFFFFFFFF,
+    0x00000000, 0xFC380904, 0xFC000000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x00000000, 0x0000FFC0, 0xE0000000,
+    0x00000000, 0x00000000, 0x7C000000, 0x00000000,
+    0x00000000, 0x000000F8, 0x00000000, 0xFC000000,
+    0x00000000, 0x00000000, 0xC280C200, 0x00000000,
+    0x0000C200, 0x80C20000, 0x008000C2, 0x00000000,
+    0x00C20000, 0x00000000, 0x78000000, 0xE0000000,
+    0xFC000000, 0x00000000, 0x00000000, 0xFFE00000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFF800000,
+    0xE0000000, 0x00000000, 0x00000000, 0xFFFE0000,
+    0xFFE02000, 0xFF800000, 0xFFF00000, 0xFFF22000,
+    0x00000000, 0x00000000, 0xC0000000, 0xFC00FC00,
+    0xFC008000, 0x00000000, 0x00000000, 0xFF000000,
+    0x00000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xE0000000, 0xF000F000, 0x0000000E, 0xFFE0C000,
+    0x00000000, 0x0000FC00, 0x3C00FC00, 0x00000000,
+    0x30000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x0000F000, 0xE0000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFF800, 0x3FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF0000000, 0x00000000, 0x00000000, 0xFC000000,
+    0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000,
+    0x00000000, 0x00200000, 0x10300020, 0x80230000,
+    0x00000000, 0x00000000, 0x00000000, 0x000C03F0,
+    0xFFE08000, 0xFFC00000, 0x0000FFFF, 0xFFFF0000,
+    0x00000000, 0x00000000, 0x00078000, 0x00000000,
+    0x0000FFE0, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFF00,
+    0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xE0000000, 0xFFF80000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000C21, 0x00000100, 0x80B85000, 0x00000001,
+    0x00E00000, 0x80010000, 0x0000F800, 0x0000F000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF8000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00008000, 0x80000000, 0xFF0FE000,
+    0x00000000, 0x00000000, 0x00000000, 0x01FFF800,
+    0x00000000, 0x0000FFC0, 0x00000000, 0xFFFF7FC0,
+    0xFF800000, 0x80808080, 0x80808080, 0xFFFFFFFF,
+    0xCF000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
+    0x00000000, 0x00000000, 0x00000001, 0x00000000,
+    0x01800000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000001F, 0x0001E000, 0x00000000, 0x00000000,
+    0x00008000, 0xFF000000, 0xFFFF0000, 0x0000FFFF,
+    0x80000000, 0x00000000, 0x0000FFF0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFC00000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000E000, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xF8000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFFF000, 0x00000000, 0xFF000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x0000C000, 0x00000000, 0x0000F800,
+    0x00000000, 0x00000000, 0xFC000000, 0xFFFFFFFF,
+    0x1F07FF80, 0xA0800000, 0x00000024, 0x00000000,
+    0x00000000, 0xFFFC0000, 0x0007FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000FFFF, 0x00000000,
+    0x00030000, 0x00000000, 0x0000FF00, 0xC0000000,
+    0xFC000000, 0x0000FFF0, 0x00080000, 0x0020F080,
+    0x00000000, 0x00000000, 0x00000000, 0x60000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x80000000, 0xE3030303, 0x01FF8080,
+    0x00001000, 0x48000080, 0xC000C000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0xF8000000,
+    0x00000078, 0x00700000, 0x00000000, 0x00000000,
+    0xFFFFF800, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x80000000, 0x0000FFF0, 0xFFFFF800, 0xFFFFFFFF,
+    0x40000000, 0x00000000, 0xFFC000F0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xC0000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000002C0, 0x6E400000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x01100F90, 0x78F00000, 0xFE00FF00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFF8000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0xFFF0FFF8,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFC00000,
+    0x00000000, 0x00000380, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFC0, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFF800000, 0xFFFC0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00200000, 0x00000000,
+    0x20000000, 0x1400219B, 0x00000010, 0x00000000,
+    0x20201840, 0x84000000, 0x000203A0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x000000C0, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00003000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFD, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFF0000
+  }
+};
diff --git a/lib/unictype/pr_unified_ideograph.c b/lib/unictype/pr_unified_ideograph.c
new file mode 100644 (file)
index 0000000..99096a8
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_unified_ideograph table.  */
+#include "pr_unified_ideograph.h"
+
+bool
+uc_is_property_unified_ideograph (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_unified_ideograph, uc);
+}
+
+const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH =
+  { &uc_is_property_unified_ideograph };
diff --git a/lib/unictype/pr_unified_ideograph.h b/lib/unictype/pr_unified_ideograph.h
new file mode 100644 (file)
index 0000000..f3b5ac3
--- /dev/null
@@ -0,0 +1,304 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_property_unified_ideograph =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+       -1,
+        4 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0x801AC000, 0x0000039A, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_uppercase.c b/lib/unictype/pr_uppercase.c
new file mode 100644 (file)
index 0000000..38c122a
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_uppercase table.  */
+#include "pr_uppercase.h"
+
+bool
+uc_is_property_uppercase (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_uppercase, uc);
+}
+
+const uc_property_t UC_PROPERTY_UPPERCASE =
+  { &uc_is_property_uppercase };
diff --git a/lib/unictype/pr_uppercase.h b/lib/unictype/pr_uppercase.h
new file mode 100644 (file)
index 0000000..8b2d8af
--- /dev/null
@@ -0,0 +1,331 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[12 << 4];
+  }
+u_property_uppercase =
+{
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000,
+    0x00000000, 0x00000000, 0x7F7FFFFF, 0x00000000,
+    0x55555555, 0xAA555555, 0x555554AA, 0x2B555555,
+    0xB1DBCED6, 0x11AED2D5, 0x4AAAA490, 0x55D25555,
+    0x55555555, 0x6C055555, 0x0000557A, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFED740, 0x00000FFB, 0x551C0000, 0xE6905555,
+    0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555,
+    0x55555401, 0x55555555, 0x55552AAB, 0x55555555,
+    0x00055555, 0xFFFE0000, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0x0000003F, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x55555555, 0x55555555, 0x55555555, 0x55555555,
+    0x00155555, 0x55555555, 0x55555555, 0x01555555,
+    0x3F00FF00, 0xFF00FF00, 0xAA003F00, 0x0000FF00,
+    0x00000000, 0x0F000000, 0x0F000F00, 0x0F001F00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3E273884, 0xC00F3D50, 0x00000020, 0x0000FFFF,
+    0x00000008, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFC00000, 0x0000FFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00200A9D,
+    0x55555555, 0x55555555, 0x55555555, 0x00000005,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FFFFFF, 0xFFF00000, 0x00003FFF, 0xFFFFFF00,
+    0xD0000003, 0x003FDE64, 0xFFFF0000, 0x000003FF,
+    0x1FDFE7B0, 0x7B000000, 0x0001FC5F, 0xFFFFF000,
+    0x0000003F, 0x03FFFFFF, 0xFFF00000, 0x00003FFF,
+    0xFFFFFF00, 0xF0000003, 0x003FFFFF, 0xFFFF0000,
+    0x000003FF, 0xFFFFFF00, 0x00000001, 0x07FFFFFC,
+    0xF0000000, 0x001FFFFF, 0xFFC00000, 0x00007FFF,
+    0xFFFF0000, 0x000001FF, 0x00000400, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_variation_selector.c b/lib/unictype/pr_variation_selector.c
new file mode 100644 (file)
index 0000000..2f1d388
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_variation_selector table.  */
+#include "pr_variation_selector.h"
+
+bool
+uc_is_property_variation_selector (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_variation_selector, uc);
+}
+
+const uc_property_t UC_PROPERTY_VARIATION_SELECTOR =
+  { &uc_is_property_variation_selector };
diff --git a/lib/unictype/pr_variation_selector.h b/lib/unictype/pr_variation_selector.h
new file mode 100644 (file)
index 0000000..b089ba1
--- /dev/null
@@ -0,0 +1,308 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[3 << 4];
+  }
+u_property_variation_selector =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   128
+  },
+  {
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   256 * sizeof (short) / sizeof (int) +    16,
+       16 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00003800, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000FFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
+  }
+};
diff --git a/lib/unictype/pr_white_space.c b/lib/unictype/pr_white_space.c
new file mode 100644 (file)
index 0000000..1cd9c5f
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_white_space table.  */
+#include "pr_white_space.h"
+
+bool
+uc_is_property_white_space (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_white_space, uc);
+}
+
+const uc_property_t UC_PROPERTY_WHITE_SPACE =
+  { &uc_is_property_white_space };
diff --git a/lib/unictype/pr_white_space.h b/lib/unictype/pr_white_space.h
new file mode 100644 (file)
index 0000000..cddecc2
--- /dev/null
@@ -0,0 +1,172 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[5 << 4];
+  }
+u_property_white_space =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00003E00, 0x00000001, 0x00000000, 0x00000000,
+    0x00000020, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00008300, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_xid_continue.c b/lib/unictype/pr_xid_continue.c
new file mode 100644 (file)
index 0000000..d7d92c3
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_xid_continue table.  */
+#include "pr_xid_continue.h"
+
+bool
+uc_is_property_xid_continue (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_xid_continue, uc);
+}
+
+const uc_property_t UC_PROPERTY_XID_CONTINUE =
+  { &uc_is_property_xid_continue };
diff --git a/lib/unictype/pr_xid_continue.h b/lib/unictype/pr_xid_continue.h
new file mode 100644 (file)
index 0000000..6eaf7b0
--- /dev/null
@@ -0,0 +1,728 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[4 << 7];
+    /*unsigned*/ int level3[44 << 4];
+  }
+u_property_xid_continue =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       16 * sizeof (int) / sizeof (short) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   384
+  },
+  {
+       16 +   512 * sizeof (short) / sizeof (int) +     0,
+       16 +   512 * sizeof (short) / sizeof (int) +    16,
+       16 +   512 * sizeof (short) / sizeof (int) +    32,
+       16 +   512 * sizeof (short) / sizeof (int) +    48,
+       16 +   512 * sizeof (short) / sizeof (int) +    64,
+       16 +   512 * sizeof (short) / sizeof (int) +    80,
+       16 +   512 * sizeof (short) / sizeof (int) +    96,
+       16 +   512 * sizeof (short) / sizeof (int) +   112,
+       16 +   512 * sizeof (short) / sizeof (int) +   128,
+       16 +   512 * sizeof (short) / sizeof (int) +   144,
+       16 +   512 * sizeof (short) / sizeof (int) +   160,
+       16 +   512 * sizeof (short) / sizeof (int) +   176,
+       16 +   512 * sizeof (short) / sizeof (int) +   192,
+       16 +   512 * sizeof (short) / sizeof (int) +   208,
+       16 +   512 * sizeof (short) / sizeof (int) +   224,
+       16 +   512 * sizeof (short) / sizeof (int) +   240,
+       16 +   512 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   320,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   336,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   352,
+       16 +   512 * sizeof (short) / sizeof (int) +   368,
+       16 +   512 * sizeof (short) / sizeof (int) +   384,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   416,
+       16 +   512 * sizeof (short) / sizeof (int) +   432,
+       16 +   512 * sizeof (short) / sizeof (int) +   448,
+       16 +   512 * sizeof (short) / sizeof (int) +   464,
+       16 +   512 * sizeof (short) / sizeof (int) +   480,
+       16 +   512 * sizeof (short) / sizeof (int) +   496,
+       16 +   512 * sizeof (short) / sizeof (int) +   512,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   528,
+       16 +   512 * sizeof (short) / sizeof (int) +   544,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   560,
+       16 +   512 * sizeof (short) / sizeof (int) +   576,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   592,
+       16 +   512 * sizeof (short) / sizeof (int) +   608,
+       16 +   512 * sizeof (short) / sizeof (int) +   624,
+       16 +   512 * sizeof (short) / sizeof (int) +   640,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   672,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   688,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x03FF0000, 0x87FFFFFE, 0x07FFFFFE,
+    0x00000000, 0x04A00400, 0xFF7FFFFF, 0xFF7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000401F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3800FFFF,
+    0xFFFFD740, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFBFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC7B, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFE00FF, 0xBFFFFFFF, 0xFFFF00B6, 0x000707FF,
+    0x003F0000, 0x07FFFFFE, 0x7FFFFFFF, 0xFFFFC3FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x9FEFFFFF, 0x9FFFFDFF,
+    0xFFFF0000, 0xFFFFFFFF, 0xFFFFE7FF, 0x00003FFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x043FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFE, 0xF3FFFFFF, 0xFF1F3FFF, 0xF800FFCF,
+    0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x0003FFCF,
+    0xFFF987EE, 0xD36DFDFF, 0x5E003987, 0x001FFFC0,
+    0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0000FFCF,
+    0xFFF99FEE, 0xF3EDFDFF, 0xB0C0398F, 0x0002FFC3,
+    0xD63DC7EC, 0xC3FFC718, 0x00803DC7, 0x0000FFC0,
+    0xFFFDDFEE, 0xC3EFFDFF, 0x00603DDF, 0x0000FFC3,
+    0xFFFDDFEC, 0xF3EFFDFF, 0x40603DDF, 0x0000FFCF,
+    0xFFFDDFEC, 0xC3FFFDFF, 0x00803DCF, 0x0000FFC3,
+    0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x000C0000,
+    0xFFFFFFFE, 0x07FFFFFF, 0x03FF7FFF, 0x00000000,
+    0xFEF02596, 0x3BFFECAE, 0x33FF3F5F, 0x00000000,
+    0x03000001, 0xC2A003FF, 0xFFFFFEFF, 0xFFFE07FF,
+    0xFEFF0FDF, 0x1FFFFFFF, 0x00000040, 0x00000000,
+    0xFFFFFFFF, 0x03C7F6FB, 0x03FF03FF, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x0003FE00,
+    0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
+    0x001FDFFF, 0x001FFFFF, 0x000FFFFF, 0x000DDFFF,
+    0xFFFFFFFF, 0xFFCFFFFF, 0x308FFFFF, 0x000003FF,
+    0x03FF3800, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x0FFF0FFF, 0xFFFFFFC0, 0x001F3FFF,
+    0xFFFFFFFF, 0xFFFF03FF, 0x03FF03FF, 0x00000000,
+    0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0FFF, 0x000FF800,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000007FF, 0xC0000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
+    0x00000000, 0x80000000, 0x00100001, 0x80020000,
+    0x001F0000, 0x00000000, 0x1FFF0000, 0x0000FFE2,
+    0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF,
+    0x0000001F, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x000000E0, 0x1F3EFFFE, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xE67FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xE0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFFFFF0,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x03FF0000,
+    0x0000FFFF, 0x0018000F, 0x0000E000, 0xAA8A0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0x03FF0000, 0x87FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x870FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xF807E3E0,
+    0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000001C, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+    0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+    0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF
+  }
+};
diff --git a/lib/unictype/pr_xid_start.c b/lib/unictype/pr_xid_start.c
new file mode 100644 (file)
index 0000000..13aab1b
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_xid_start table.  */
+#include "pr_xid_start.h"
+
+bool
+uc_is_property_xid_start (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_xid_start, uc);
+}
+
+const uc_property_t UC_PROPERTY_XID_START =
+  { &uc_is_property_xid_start };
diff --git a/lib/unictype/pr_xid_start.h b/lib/unictype/pr_xid_start.h
new file mode 100644 (file)
index 0000000..e305f2d
--- /dev/null
@@ -0,0 +1,576 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[3];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[41 << 4];
+  }
+u_property_xid_start =
+{
+  { 3 },
+  {
+        4 * sizeof (int) / sizeof (short) +     0,
+        4 * sizeof (int) / sizeof (short) +   128,
+        4 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+        4 +   384 * sizeof (short) / sizeof (int) +     0,
+        4 +   384 * sizeof (short) / sizeof (int) +    16,
+        4 +   384 * sizeof (short) / sizeof (int) +    32,
+        4 +   384 * sizeof (short) / sizeof (int) +    48,
+        4 +   384 * sizeof (short) / sizeof (int) +    64,
+        4 +   384 * sizeof (short) / sizeof (int) +    80,
+        4 +   384 * sizeof (short) / sizeof (int) +    96,
+        4 +   384 * sizeof (short) / sizeof (int) +   112,
+        4 +   384 * sizeof (short) / sizeof (int) +   128,
+        4 +   384 * sizeof (short) / sizeof (int) +   144,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   176,
+        4 +   384 * sizeof (short) / sizeof (int) +   192,
+        4 +   384 * sizeof (short) / sizeof (int) +   208,
+        4 +   384 * sizeof (short) / sizeof (int) +   224,
+        4 +   384 * sizeof (short) / sizeof (int) +   240,
+        4 +   384 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   272,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   352,
+        4 +   384 * sizeof (short) / sizeof (int) +   368,
+        4 +   384 * sizeof (short) / sizeof (int) +   384,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   416,
+        4 +   384 * sizeof (short) / sizeof (int) +   432,
+        4 +   384 * sizeof (short) / sizeof (int) +   448,
+        4 +   384 * sizeof (short) / sizeof (int) +   464,
+        4 +   384 * sizeof (short) / sizeof (int) +   480,
+        4 +   384 * sizeof (short) / sizeof (int) +   496,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   528,
+        4 +   384 * sizeof (short) / sizeof (int) +   544,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   560,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE,
+    0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000401F,
+    0x00000000, 0x00000000, 0x00000000, 0x38000000,
+    0xFFFFD740, 0xFFFFFFFB, 0xFFFF7FFF, 0xFFBFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000FFFFF, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
+    0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
+    0x00000000, 0x07FFFFFE, 0x000007FF, 0xFFFEC000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C060,
+    0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0x00003FFF,
+    0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF8000003,
+    0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x00030003,
+    0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
+    0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x00000003,
+    0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003,
+    0xD63DC7E8, 0x03FFC718, 0x00000000, 0x00000000,
+    0xFFFDDFE0, 0x03EFFDFF, 0x00000000, 0x00000003,
+    0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x00000003,
+    0xFFFDDFE0, 0x03FFFDFF, 0x00000000, 0x00000003,
+    0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000,
+    0xFFFFFFFE, 0x0005FFFF, 0x0000007F, 0x00000000,
+    0xFEF02596, 0x2005ECAE, 0x3000005F, 0x00000000,
+    0x00000001, 0x00000000, 0xFFFFFEFF, 0x000007FF,
+    0x00000F00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000006FB, 0x003F0000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+    0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+    0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
+    0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
+    0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
+    0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0x000001FF, 0x00000000, 0x00000000,
+    0x1FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
+    0xFFFFFFFF, 0x000003FF, 0x000000FE, 0x00000000,
+    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+    0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x001F0000, 0x00000000, 0x00000000, 0x00000000,
+    0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF,
+    0x0000001F, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x00F01FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
+    0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+    0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF,
+    0xE07FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+    0xFFFFFFE0, 0xFFFE1FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0FFFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07800000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+    0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFFFFF0,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+    0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x03FF0000,
+    0x00000000, 0x00000000, 0x00000000, 0xAA8A0000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+    0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+    0x3FFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+    0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x7FFFFFFF, 0xFFFF0000, 0x000007FF, 0x00000000,
+    0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+    0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+    0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+    0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/pr_zero_width.c b/lib/unictype/pr_zero_width.c
new file mode 100644 (file)
index 0000000..7decbda
--- /dev/null
@@ -0,0 +1,35 @@
+/* Properties of Unicode characters.
+   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_zero_width table.  */
+#include "pr_zero_width.h"
+
+bool
+uc_is_property_zero_width (ucs4_t uc)
+{
+  return bitmap_lookup (&u_property_zero_width, uc);
+}
+
+const uc_property_t UC_PROPERTY_ZERO_WIDTH =
+  { &uc_is_property_zero_width };
diff --git a/lib/unictype/pr_zero_width.h b/lib/unictype/pr_zero_width.h
new file mode 100644 (file)
index 0000000..a498064
--- /dev/null
@@ -0,0 +1,452 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[15];
+    short level2[3 << 7];
+    /*unsigned*/ int level3[7 << 4];
+  }
+u_property_zero_width =
+{
+  { 15 },
+  {
+       16 * sizeof (int) / sizeof (short) +     0,
+       16 * sizeof (int) / sizeof (short) +   128,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 * sizeof (int) / sizeof (short) +   256
+  },
+  {
+       16 +   384 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    64,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00002000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000F, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x20000000, 0x00000000,
+    0x00008000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00300000, 0x00000000, 0x00000000,
+    0x0000F800, 0x00007C00, 0x00000000, 0x0000FC0F,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0E000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x07F80000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/scripts.c b/lib/unictype/scripts.c
new file mode 100644 (file)
index 0000000..64edfe8
--- /dev/null
@@ -0,0 +1,75 @@
+/* Scripts of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include <string.h>
+
+#include "scripts.h"
+#include "scripts_byname.h"
+
+const uc_script_t *
+uc_script (ucs4_t uc)
+{
+  unsigned int index1 = uc >> script_header_0;
+  if (index1 < script_header_1)
+    {
+      int lookup1 = u_script.level1[index1];
+      if (lookup1 >= 0)
+       {
+         unsigned int index2 = (uc >> script_header_2) & script_header_3;
+         int lookup2 = u_script.level2[lookup1 + index2];
+         if (lookup2 >= 0)
+           {
+             unsigned int index3 = (uc & script_header_4);
+             unsigned char lookup3 = u_script.level3[lookup2 + index3];
+
+             if (lookup3 != 0xff)
+               return &scripts[lookup3];
+           }
+       }
+    }
+  return NULL;
+}
+
+const uc_script_t *
+uc_script_byname (const char *script_name)
+{
+  const struct named_script *found;
+
+  found = uc_script_lookup (script_name, strlen (script_name));
+  if (found != NULL)
+    return &scripts[found->index];
+  else
+    return NULL;
+}
+
+bool
+uc_is_script (ucs4_t uc, const uc_script_t *script)
+{
+  return uc_script (uc) == script;
+}
+
+void
+uc_all_scripts (const uc_script_t **scriptsp, size_t *countp)
+{
+  *scriptsp = scripts;
+  *countp = sizeof (scripts) / sizeof (scripts[0]);
+}
diff --git a/lib/unictype/scripts.h b/lib/unictype/scripts.h
new file mode 100644 (file)
index 0000000..8cd1179
--- /dev/null
@@ -0,0 +1,3400 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Unicode scripts.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+static const uc_interval_t script_common_intervals[] =
+{
+  { 0x0000, 1, 0 }, { 0x0040, 0, 1 },
+  { 0x005B, 1, 0 }, { 0x0060, 0, 1 },
+  { 0x007B, 1, 0 }, { 0x00A9, 0, 1 },
+  { 0x00AB, 1, 0 }, { 0x00B9, 0, 1 },
+  { 0x00BB, 1, 0 }, { 0x00BF, 0, 1 },
+  { 0x00D7, 1, 1 },
+  { 0x00F7, 1, 1 },
+  { 0x02B9, 1, 0 }, { 0x02DF, 0, 1 },
+  { 0x02E5, 1, 0 }, { 0x02FF, 0, 1 },
+  { 0x037E, 1, 1 },
+  { 0x0387, 1, 1 },
+  { 0x0589, 1, 1 },
+  { 0x0600, 1, 0 }, { 0x0603, 0, 1 },
+  { 0x060C, 1, 1 },
+  { 0x061B, 1, 1 },
+  { 0x061F, 1, 1 },
+  { 0x0640, 1, 1 },
+  { 0x0660, 1, 0 }, { 0x0669, 0, 1 },
+  { 0x06DD, 1, 1 },
+  { 0x0964, 1, 0 }, { 0x0965, 0, 1 },
+  { 0x0970, 1, 1 },
+  { 0x0E3F, 1, 1 },
+  { 0x10FB, 1, 1 },
+  { 0x16EB, 1, 0 }, { 0x16ED, 0, 1 },
+  { 0x1735, 1, 0 }, { 0x1736, 0, 1 },
+  { 0x1802, 1, 0 }, { 0x1803, 0, 1 },
+  { 0x1805, 1, 1 },
+  { 0x2000, 1, 0 }, { 0x200B, 0, 1 },
+  { 0x200E, 1, 0 }, { 0x2063, 0, 1 },
+  { 0x206A, 1, 0 }, { 0x2070, 0, 1 },
+  { 0x2074, 1, 0 }, { 0x207E, 0, 1 },
+  { 0x2080, 1, 0 }, { 0x208E, 0, 1 },
+  { 0x20A0, 1, 0 }, { 0x20B5, 0, 1 },
+  { 0x2100, 1, 0 }, { 0x2125, 0, 1 },
+  { 0x2127, 1, 0 }, { 0x2129, 0, 1 },
+  { 0x212C, 1, 0 }, { 0x2131, 0, 1 },
+  { 0x2133, 1, 0 }, { 0x214D, 0, 1 },
+  { 0x2153, 1, 0 }, { 0x2183, 0, 1 },
+  { 0x2190, 1, 0 }, { 0x23E7, 0, 1 },
+  { 0x2400, 1, 0 }, { 0x2426, 0, 1 },
+  { 0x2440, 1, 0 }, { 0x244A, 0, 1 },
+  { 0x2460, 1, 0 }, { 0x269C, 0, 1 },
+  { 0x26A0, 1, 0 }, { 0x26B2, 0, 1 },
+  { 0x2701, 1, 0 }, { 0x2704, 0, 1 },
+  { 0x2706, 1, 0 }, { 0x2709, 0, 1 },
+  { 0x270C, 1, 0 }, { 0x2727, 0, 1 },
+  { 0x2729, 1, 0 }, { 0x274B, 0, 1 },
+  { 0x274D, 1, 1 },
+  { 0x274F, 1, 0 }, { 0x2752, 0, 1 },
+  { 0x2756, 1, 1 },
+  { 0x2758, 1, 0 }, { 0x275E, 0, 1 },
+  { 0x2761, 1, 0 }, { 0x2794, 0, 1 },
+  { 0x2798, 1, 0 }, { 0x27AF, 0, 1 },
+  { 0x27B1, 1, 0 }, { 0x27BE, 0, 1 },
+  { 0x27C0, 1, 0 }, { 0x27CA, 0, 1 },
+  { 0x27D0, 1, 0 }, { 0x27EB, 0, 1 },
+  { 0x27F0, 1, 0 }, { 0x27FF, 0, 1 },
+  { 0x2900, 1, 0 }, { 0x2B1A, 0, 1 },
+  { 0x2B20, 1, 0 }, { 0x2B23, 0, 1 },
+  { 0x2E00, 1, 0 }, { 0x2E17, 0, 1 },
+  { 0x2E1C, 1, 0 }, { 0x2E1D, 0, 1 },
+  { 0x2FF0, 1, 0 }, { 0x2FFB, 0, 1 },
+  { 0x3000, 1, 0 }, { 0x3004, 0, 1 },
+  { 0x3006, 1, 1 },
+  { 0x3008, 1, 0 }, { 0x3020, 0, 1 },
+  { 0x3030, 1, 0 }, { 0x3037, 0, 1 },
+  { 0x303C, 1, 0 }, { 0x303F, 0, 1 },
+  { 0x309B, 1, 0 }, { 0x309C, 0, 1 },
+  { 0x30A0, 1, 1 },
+  { 0x30FB, 1, 0 }, { 0x30FC, 0, 1 },
+  { 0x3190, 1, 0 }, { 0x319F, 0, 1 },
+  { 0x31C0, 1, 0 }, { 0x31CF, 0, 1 },
+  { 0x3220, 1, 0 }, { 0x3243, 0, 1 },
+  { 0x3250, 1, 0 }, { 0x325F, 0, 1 },
+  { 0x327E, 1, 0 }, { 0x32FE, 0, 1 },
+  { 0x3300, 1, 0 }, { 0x33FF, 0, 1 },
+  { 0x4DC0, 1, 0 }, { 0x4DFF, 0, 1 },
+  { 0xA700, 1, 0 }, { 0xA71A, 0, 1 },
+  { 0xA720, 1, 0 }, { 0xA721, 0, 1 },
+  { 0xFD3E, 1, 0 }, { 0xFD3F, 0, 1 },
+  { 0xFDFD, 1, 1 },
+  { 0xFE10, 1, 0 }, { 0xFE19, 0, 1 },
+  { 0xFE30, 1, 0 }, { 0xFE52, 0, 1 },
+  { 0xFE54, 1, 0 }, { 0xFE66, 0, 1 },
+  { 0xFE68, 1, 0 }, { 0xFE6B, 0, 1 },
+  { 0xFEFF, 1, 1 },
+  { 0xFF01, 1, 0 }, { 0xFF20, 0, 1 },
+  { 0xFF3B, 1, 0 }, { 0xFF40, 0, 1 },
+  { 0xFF5B, 1, 0 }, { 0xFF65, 0, 1 },
+  { 0xFF70, 1, 1 },
+  { 0xFF9E, 1, 0 }, { 0xFF9F, 0, 1 },
+  { 0xFFE0, 1, 0 }, { 0xFFE6, 0, 1 },
+  { 0xFFE8, 1, 0 }, { 0xFFEE, 0, 1 },
+  { 0xFFF9, 1, 0 }, { 0xFFFD, 0, 1 },
+  { 0x10100, 1, 0 }, { 0x10102, 0, 1 },
+  { 0x10107, 1, 0 }, { 0x10133, 0, 1 },
+  { 0x10137, 1, 0 }, { 0x1013F, 0, 1 },
+  { 0x1D000, 1, 0 }, { 0x1D0F5, 0, 1 },
+  { 0x1D100, 1, 0 }, { 0x1D126, 0, 1 },
+  { 0x1D12A, 1, 0 }, { 0x1D166, 0, 1 },
+  { 0x1D16A, 1, 0 }, { 0x1D17A, 0, 1 },
+  { 0x1D183, 1, 0 }, { 0x1D184, 0, 1 },
+  { 0x1D18C, 1, 0 }, { 0x1D1A9, 0, 1 },
+  { 0x1D1AE, 1, 0 }, { 0x1D1DD, 0, 1 },
+  { 0x1D300, 1, 0 }, { 0x1D356, 0, 1 },
+  { 0x1D360, 1, 0 }, { 0x1D371, 0, 1 },
+  { 0x1D400, 1, 0 }, { 0x1D454, 0, 1 },
+  { 0x1D456, 1, 0 }, { 0x1D49C, 0, 1 },
+  { 0x1D49E, 1, 0 }, { 0x1D49F, 0, 1 },
+  { 0x1D4A2, 1, 1 },
+  { 0x1D4A5, 1, 0 }, { 0x1D4A6, 0, 1 },
+  { 0x1D4A9, 1, 0 }, { 0x1D4AC, 0, 1 },
+  { 0x1D4AE, 1, 0 }, { 0x1D4B9, 0, 1 },
+  { 0x1D4BB, 1, 1 },
+  { 0x1D4BD, 1, 0 }, { 0x1D4C3, 0, 1 },
+  { 0x1D4C5, 1, 0 }, { 0x1D505, 0, 1 },
+  { 0x1D507, 1, 0 }, { 0x1D50A, 0, 1 },
+  { 0x1D50D, 1, 0 }, { 0x1D514, 0, 1 },
+  { 0x1D516, 1, 0 }, { 0x1D51C, 0, 1 },
+  { 0x1D51E, 1, 0 }, { 0x1D539, 0, 1 },
+  { 0x1D53B, 1, 0 }, { 0x1D53E, 0, 1 },
+  { 0x1D540, 1, 0 }, { 0x1D544, 0, 1 },
+  { 0x1D546, 1, 1 },
+  { 0x1D54A, 1, 0 }, { 0x1D550, 0, 1 },
+  { 0x1D552, 1, 0 }, { 0x1D6A5, 0, 1 },
+  { 0x1D6A8, 1, 0 }, { 0x1D7CB, 0, 1 },
+  { 0x1D7CE, 1, 0 }, { 0x1D7FF, 0, 1 },
+  { 0xE0001, 1, 1 },
+  { 0xE0020, 1, 0 }, { 0xE007F, 0, 1 }
+};
+static const uc_interval_t script_latin_intervals[] =
+{
+  { 0x0041, 1, 0 }, { 0x005A, 0, 1 },
+  { 0x0061, 1, 0 }, { 0x007A, 0, 1 },
+  { 0x00AA, 1, 1 },
+  { 0x00BA, 1, 1 },
+  { 0x00C0, 1, 0 }, { 0x00D6, 0, 1 },
+  { 0x00D8, 1, 0 }, { 0x00F6, 0, 1 },
+  { 0x00F8, 1, 0 }, { 0x02B8, 0, 1 },
+  { 0x02E0, 1, 0 }, { 0x02E4, 0, 1 },
+  { 0x1D00, 1, 0 }, { 0x1D25, 0, 1 },
+  { 0x1D2C, 1, 0 }, { 0x1D5C, 0, 1 },
+  { 0x1D62, 1, 0 }, { 0x1D65, 0, 1 },
+  { 0x1D6B, 1, 0 }, { 0x1D77, 0, 1 },
+  { 0x1D79, 1, 0 }, { 0x1DBE, 0, 1 },
+  { 0x1E00, 1, 0 }, { 0x1E9B, 0, 1 },
+  { 0x1EA0, 1, 0 }, { 0x1EF9, 0, 1 },
+  { 0x2071, 1, 1 },
+  { 0x207F, 1, 1 },
+  { 0x2090, 1, 0 }, { 0x2094, 0, 1 },
+  { 0x212A, 1, 0 }, { 0x212B, 0, 1 },
+  { 0x2132, 1, 1 },
+  { 0x214E, 1, 1 },
+  { 0x2184, 1, 1 },
+  { 0x2C60, 1, 0 }, { 0x2C6C, 0, 1 },
+  { 0x2C74, 1, 0 }, { 0x2C77, 0, 1 },
+  { 0xFB00, 1, 0 }, { 0xFB06, 0, 1 },
+  { 0xFF21, 1, 0 }, { 0xFF3A, 0, 1 },
+  { 0xFF41, 1, 0 }, { 0xFF5A, 0, 1 }
+};
+static const uc_interval_t script_greek_intervals[] =
+{
+  { 0x0374, 1, 0 }, { 0x0375, 0, 1 },
+  { 0x037A, 1, 0 }, { 0x037D, 0, 1 },
+  { 0x0384, 1, 0 }, { 0x0386, 0, 1 },
+  { 0x0388, 1, 0 }, { 0x038A, 0, 1 },
+  { 0x038C, 1, 1 },
+  { 0x038E, 1, 0 }, { 0x03A1, 0, 1 },
+  { 0x03A3, 1, 0 }, { 0x03CE, 0, 1 },
+  { 0x03D0, 1, 0 }, { 0x03E1, 0, 1 },
+  { 0x03F0, 1, 0 }, { 0x03FF, 0, 1 },
+  { 0x1D26, 1, 0 }, { 0x1D2A, 0, 1 },
+  { 0x1D5D, 1, 0 }, { 0x1D61, 0, 1 },
+  { 0x1D66, 1, 0 }, { 0x1D6A, 0, 1 },
+  { 0x1DBF, 1, 1 },
+  { 0x1F00, 1, 0 }, { 0x1F15, 0, 1 },
+  { 0x1F18, 1, 0 }, { 0x1F1D, 0, 1 },
+  { 0x1F20, 1, 0 }, { 0x1F45, 0, 1 },
+  { 0x1F48, 1, 0 }, { 0x1F4D, 0, 1 },
+  { 0x1F50, 1, 0 }, { 0x1F57, 0, 1 },
+  { 0x1F59, 1, 1 },
+  { 0x1F5B, 1, 1 },
+  { 0x1F5D, 1, 1 },
+  { 0x1F5F, 1, 0 }, { 0x1F7D, 0, 1 },
+  { 0x1F80, 1, 0 }, { 0x1FB4, 0, 1 },
+  { 0x1FB6, 1, 0 }, { 0x1FC4, 0, 1 },
+  { 0x1FC6, 1, 0 }, { 0x1FD3, 0, 1 },
+  { 0x1FD6, 1, 0 }, { 0x1FDB, 0, 1 },
+  { 0x1FDD, 1, 0 }, { 0x1FEF, 0, 1 },
+  { 0x1FF2, 1, 0 }, { 0x1FF4, 0, 1 },
+  { 0x1FF6, 1, 0 }, { 0x1FFE, 0, 1 },
+  { 0x2126, 1, 1 },
+  { 0x10140, 1, 0 }, { 0x1018A, 0, 1 },
+  { 0x1D200, 1, 0 }, { 0x1D245, 0, 1 }
+};
+static const uc_interval_t script_cyrillic_intervals[] =
+{
+  { 0x0400, 1, 0 }, { 0x0486, 0, 1 },
+  { 0x0488, 1, 0 }, { 0x0513, 0, 1 },
+  { 0x1D2B, 1, 1 },
+  { 0x1D78, 1, 1 }
+};
+static const uc_interval_t script_armenian_intervals[] =
+{
+  { 0x0531, 1, 0 }, { 0x0556, 0, 1 },
+  { 0x0559, 1, 0 }, { 0x055F, 0, 1 },
+  { 0x0561, 1, 0 }, { 0x0587, 0, 1 },
+  { 0x058A, 1, 1 },
+  { 0xFB13, 1, 0 }, { 0xFB17, 0, 1 }
+};
+static const uc_interval_t script_hebrew_intervals[] =
+{
+  { 0x0591, 1, 0 }, { 0x05C7, 0, 1 },
+  { 0x05D0, 1, 0 }, { 0x05EA, 0, 1 },
+  { 0x05F0, 1, 0 }, { 0x05F4, 0, 1 },
+  { 0xFB1D, 1, 0 }, { 0xFB36, 0, 1 },
+  { 0xFB38, 1, 0 }, { 0xFB3C, 0, 1 },
+  { 0xFB3E, 1, 1 },
+  { 0xFB40, 1, 0 }, { 0xFB41, 0, 1 },
+  { 0xFB43, 1, 0 }, { 0xFB44, 0, 1 },
+  { 0xFB46, 1, 0 }, { 0xFB4F, 0, 1 }
+};
+static const uc_interval_t script_arabic_intervals[] =
+{
+  { 0x060B, 1, 1 },
+  { 0x060D, 1, 0 }, { 0x0615, 0, 1 },
+  { 0x061E, 1, 1 },
+  { 0x0621, 1, 0 }, { 0x063A, 0, 1 },
+  { 0x0641, 1, 0 }, { 0x064A, 0, 1 },
+  { 0x0656, 1, 0 }, { 0x065E, 0, 1 },
+  { 0x066A, 1, 0 }, { 0x066F, 0, 1 },
+  { 0x0671, 1, 0 }, { 0x06DC, 0, 1 },
+  { 0x06DE, 1, 0 }, { 0x06FF, 0, 1 },
+  { 0x0750, 1, 0 }, { 0x076D, 0, 1 },
+  { 0xFB50, 1, 0 }, { 0xFBB1, 0, 1 },
+  { 0xFBD3, 1, 0 }, { 0xFD3D, 0, 1 },
+  { 0xFD50, 1, 0 }, { 0xFD8F, 0, 1 },
+  { 0xFD92, 1, 0 }, { 0xFDC7, 0, 1 },
+  { 0xFDF0, 1, 0 }, { 0xFDFC, 0, 1 },
+  { 0xFE70, 1, 0 }, { 0xFE74, 0, 1 },
+  { 0xFE76, 1, 0 }, { 0xFEFC, 0, 1 }
+};
+static const uc_interval_t script_syriac_intervals[] =
+{
+  { 0x0700, 1, 0 }, { 0x070D, 0, 1 },
+  { 0x070F, 1, 0 }, { 0x074A, 0, 1 },
+  { 0x074D, 1, 0 }, { 0x074F, 0, 1 }
+};
+static const uc_interval_t script_thaana_intervals[] =
+{
+  { 0x0780, 1, 0 }, { 0x07B1, 0, 1 }
+};
+static const uc_interval_t script_devanagari_intervals[] =
+{
+  { 0x0901, 1, 0 }, { 0x0939, 0, 1 },
+  { 0x093C, 1, 0 }, { 0x094D, 0, 1 },
+  { 0x0950, 1, 0 }, { 0x0954, 0, 1 },
+  { 0x0958, 1, 0 }, { 0x0963, 0, 1 },
+  { 0x0966, 1, 0 }, { 0x096F, 0, 1 },
+  { 0x097B, 1, 0 }, { 0x097F, 0, 1 }
+};
+static const uc_interval_t script_bengali_intervals[] =
+{
+  { 0x0981, 1, 0 }, { 0x0983, 0, 1 },
+  { 0x0985, 1, 0 }, { 0x098C, 0, 1 },
+  { 0x098F, 1, 0 }, { 0x0990, 0, 1 },
+  { 0x0993, 1, 0 }, { 0x09A8, 0, 1 },
+  { 0x09AA, 1, 0 }, { 0x09B0, 0, 1 },
+  { 0x09B2, 1, 1 },
+  { 0x09B6, 1, 0 }, { 0x09B9, 0, 1 },
+  { 0x09BC, 1, 0 }, { 0x09C4, 0, 1 },
+  { 0x09C7, 1, 0 }, { 0x09C8, 0, 1 },
+  { 0x09CB, 1, 0 }, { 0x09CE, 0, 1 },
+  { 0x09D7, 1, 1 },
+  { 0x09DC, 1, 0 }, { 0x09DD, 0, 1 },
+  { 0x09DF, 1, 0 }, { 0x09E3, 0, 1 },
+  { 0x09E6, 1, 0 }, { 0x09FA, 0, 1 }
+};
+static const uc_interval_t script_gurmukhi_intervals[] =
+{
+  { 0x0A01, 1, 0 }, { 0x0A03, 0, 1 },
+  { 0x0A05, 1, 0 }, { 0x0A0A, 0, 1 },
+  { 0x0A0F, 1, 0 }, { 0x0A10, 0, 1 },
+  { 0x0A13, 1, 0 }, { 0x0A28, 0, 1 },
+  { 0x0A2A, 1, 0 }, { 0x0A30, 0, 1 },
+  { 0x0A32, 1, 0 }, { 0x0A33, 0, 1 },
+  { 0x0A35, 1, 0 }, { 0x0A36, 0, 1 },
+  { 0x0A38, 1, 0 }, { 0x0A39, 0, 1 },
+  { 0x0A3C, 1, 1 },
+  { 0x0A3E, 1, 0 }, { 0x0A42, 0, 1 },
+  { 0x0A47, 1, 0 }, { 0x0A48, 0, 1 },
+  { 0x0A4B, 1, 0 }, { 0x0A4D, 0, 1 },
+  { 0x0A59, 1, 0 }, { 0x0A5C, 0, 1 },
+  { 0x0A5E, 1, 1 },
+  { 0x0A66, 1, 0 }, { 0x0A74, 0, 1 }
+};
+static const uc_interval_t script_gujarati_intervals[] =
+{
+  { 0x0A81, 1, 0 }, { 0x0A83, 0, 1 },
+  { 0x0A85, 1, 0 }, { 0x0A8D, 0, 1 },
+  { 0x0A8F, 1, 0 }, { 0x0A91, 0, 1 },
+  { 0x0A93, 1, 0 }, { 0x0AA8, 0, 1 },
+  { 0x0AAA, 1, 0 }, { 0x0AB0, 0, 1 },
+  { 0x0AB2, 1, 0 }, { 0x0AB3, 0, 1 },
+  { 0x0AB5, 1, 0 }, { 0x0AB9, 0, 1 },
+  { 0x0ABC, 1, 0 }, { 0x0AC5, 0, 1 },
+  { 0x0AC7, 1, 0 }, { 0x0AC9, 0, 1 },
+  { 0x0ACB, 1, 0 }, { 0x0ACD, 0, 1 },
+  { 0x0AD0, 1, 1 },
+  { 0x0AE0, 1, 0 }, { 0x0AE3, 0, 1 },
+  { 0x0AE6, 1, 0 }, { 0x0AEF, 0, 1 },
+  { 0x0AF1, 1, 1 }
+};
+static const uc_interval_t script_oriya_intervals[] =
+{
+  { 0x0B01, 1, 0 }, { 0x0B03, 0, 1 },
+  { 0x0B05, 1, 0 }, { 0x0B0C, 0, 1 },
+  { 0x0B0F, 1, 0 }, { 0x0B10, 0, 1 },
+  { 0x0B13, 1, 0 }, { 0x0B28, 0, 1 },
+  { 0x0B2A, 1, 0 }, { 0x0B30, 0, 1 },
+  { 0x0B32, 1, 0 }, { 0x0B33, 0, 1 },
+  { 0x0B35, 1, 0 }, { 0x0B39, 0, 1 },
+  { 0x0B3C, 1, 0 }, { 0x0B43, 0, 1 },
+  { 0x0B47, 1, 0 }, { 0x0B48, 0, 1 },
+  { 0x0B4B, 1, 0 }, { 0x0B4D, 0, 1 },
+  { 0x0B56, 1, 0 }, { 0x0B57, 0, 1 },
+  { 0x0B5C, 1, 0 }, { 0x0B5D, 0, 1 },
+  { 0x0B5F, 1, 0 }, { 0x0B61, 0, 1 },
+  { 0x0B66, 1, 0 }, { 0x0B71, 0, 1 }
+};
+static const uc_interval_t script_tamil_intervals[] =
+{
+  { 0x0B82, 1, 0 }, { 0x0B83, 0, 1 },
+  { 0x0B85, 1, 0 }, { 0x0B8A, 0, 1 },
+  { 0x0B8E, 1, 0 }, { 0x0B90, 0, 1 },
+  { 0x0B92, 1, 0 }, { 0x0B95, 0, 1 },
+  { 0x0B99, 1, 0 }, { 0x0B9A, 0, 1 },
+  { 0x0B9C, 1, 1 },
+  { 0x0B9E, 1, 0 }, { 0x0B9F, 0, 1 },
+  { 0x0BA3, 1, 0 }, { 0x0BA4, 0, 1 },
+  { 0x0BA8, 1, 0 }, { 0x0BAA, 0, 1 },
+  { 0x0BAE, 1, 0 }, { 0x0BB9, 0, 1 },
+  { 0x0BBE, 1, 0 }, { 0x0BC2, 0, 1 },
+  { 0x0BC6, 1, 0 }, { 0x0BC8, 0, 1 },
+  { 0x0BCA, 1, 0 }, { 0x0BCD, 0, 1 },
+  { 0x0BD7, 1, 1 },
+  { 0x0BE6, 1, 0 }, { 0x0BFA, 0, 1 }
+};
+static const uc_interval_t script_telugu_intervals[] =
+{
+  { 0x0C01, 1, 0 }, { 0x0C03, 0, 1 },
+  { 0x0C05, 1, 0 }, { 0x0C0C, 0, 1 },
+  { 0x0C0E, 1, 0 }, { 0x0C10, 0, 1 },
+  { 0x0C12, 1, 0 }, { 0x0C28, 0, 1 },
+  { 0x0C2A, 1, 0 }, { 0x0C33, 0, 1 },
+  { 0x0C35, 1, 0 }, { 0x0C39, 0, 1 },
+  { 0x0C3E, 1, 0 }, { 0x0C44, 0, 1 },
+  { 0x0C46, 1, 0 }, { 0x0C48, 0, 1 },
+  { 0x0C4A, 1, 0 }, { 0x0C4D, 0, 1 },
+  { 0x0C55, 1, 0 }, { 0x0C56, 0, 1 },
+  { 0x0C60, 1, 0 }, { 0x0C61, 0, 1 },
+  { 0x0C66, 1, 0 }, { 0x0C6F, 0, 1 }
+};
+static const uc_interval_t script_kannada_intervals[] =
+{
+  { 0x0C82, 1, 0 }, { 0x0C83, 0, 1 },
+  { 0x0C85, 1, 0 }, { 0x0C8C, 0, 1 },
+  { 0x0C8E, 1, 0 }, { 0x0C90, 0, 1 },
+  { 0x0C92, 1, 0 }, { 0x0CA8, 0, 1 },
+  { 0x0CAA, 1, 0 }, { 0x0CB3, 0, 1 },
+  { 0x0CB5, 1, 0 }, { 0x0CB9, 0, 1 },
+  { 0x0CBC, 1, 0 }, { 0x0CC4, 0, 1 },
+  { 0x0CC6, 1, 0 }, { 0x0CC8, 0, 1 },
+  { 0x0CCA, 1, 0 }, { 0x0CCD, 0, 1 },
+  { 0x0CD5, 1, 0 }, { 0x0CD6, 0, 1 },
+  { 0x0CDE, 1, 1 },
+  { 0x0CE0, 1, 0 }, { 0x0CE3, 0, 1 },
+  { 0x0CE6, 1, 0 }, { 0x0CEF, 0, 1 },
+  { 0x0CF1, 1, 0 }, { 0x0CF2, 0, 1 }
+};
+static const uc_interval_t script_malayalam_intervals[] =
+{
+  { 0x0D02, 1, 0 }, { 0x0D03, 0, 1 },
+  { 0x0D05, 1, 0 }, { 0x0D0C, 0, 1 },
+  { 0x0D0E, 1, 0 }, { 0x0D10, 0, 1 },
+  { 0x0D12, 1, 0 }, { 0x0D28, 0, 1 },
+  { 0x0D2A, 1, 0 }, { 0x0D39, 0, 1 },
+  { 0x0D3E, 1, 0 }, { 0x0D43, 0, 1 },
+  { 0x0D46, 1, 0 }, { 0x0D48, 0, 1 },
+  { 0x0D4A, 1, 0 }, { 0x0D4D, 0, 1 },
+  { 0x0D57, 1, 1 },
+  { 0x0D60, 1, 0 }, { 0x0D61, 0, 1 },
+  { 0x0D66, 1, 0 }, { 0x0D6F, 0, 1 }
+};
+static const uc_interval_t script_sinhala_intervals[] =
+{
+  { 0x0D82, 1, 0 }, { 0x0D83, 0, 1 },
+  { 0x0D85, 1, 0 }, { 0x0D96, 0, 1 },
+  { 0x0D9A, 1, 0 }, { 0x0DB1, 0, 1 },
+  { 0x0DB3, 1, 0 }, { 0x0DBB, 0, 1 },
+  { 0x0DBD, 1, 1 },
+  { 0x0DC0, 1, 0 }, { 0x0DC6, 0, 1 },
+  { 0x0DCA, 1, 1 },
+  { 0x0DCF, 1, 0 }, { 0x0DD4, 0, 1 },
+  { 0x0DD6, 1, 1 },
+  { 0x0DD8, 1, 0 }, { 0x0DDF, 0, 1 },
+  { 0x0DF2, 1, 0 }, { 0x0DF4, 0, 1 }
+};
+static const uc_interval_t script_thai_intervals[] =
+{
+  { 0x0E01, 1, 0 }, { 0x0E3A, 0, 1 },
+  { 0x0E40, 1, 0 }, { 0x0E5B, 0, 1 }
+};
+static const uc_interval_t script_lao_intervals[] =
+{
+  { 0x0E81, 1, 0 }, { 0x0E82, 0, 1 },
+  { 0x0E84, 1, 1 },
+  { 0x0E87, 1, 0 }, { 0x0E88, 0, 1 },
+  { 0x0E8A, 1, 1 },
+  { 0x0E8D, 1, 1 },
+  { 0x0E94, 1, 0 }, { 0x0E97, 0, 1 },
+  { 0x0E99, 1, 0 }, { 0x0E9F, 0, 1 },
+  { 0x0EA1, 1, 0 }, { 0x0EA3, 0, 1 },
+  { 0x0EA5, 1, 1 },
+  { 0x0EA7, 1, 1 },
+  { 0x0EAA, 1, 0 }, { 0x0EAB, 0, 1 },
+  { 0x0EAD, 1, 0 }, { 0x0EB9, 0, 1 },
+  { 0x0EBB, 1, 0 }, { 0x0EBD, 0, 1 },
+  { 0x0EC0, 1, 0 }, { 0x0EC4, 0, 1 },
+  { 0x0EC6, 1, 1 },
+  { 0x0EC8, 1, 0 }, { 0x0ECD, 0, 1 },
+  { 0x0ED0, 1, 0 }, { 0x0ED9, 0, 1 },
+  { 0x0EDC, 1, 0 }, { 0x0EDD, 0, 1 }
+};
+static const uc_interval_t script_tibetan_intervals[] =
+{
+  { 0x0F00, 1, 0 }, { 0x0F47, 0, 1 },
+  { 0x0F49, 1, 0 }, { 0x0F6A, 0, 1 },
+  { 0x0F71, 1, 0 }, { 0x0F8B, 0, 1 },
+  { 0x0F90, 1, 0 }, { 0x0F97, 0, 1 },
+  { 0x0F99, 1, 0 }, { 0x0FBC, 0, 1 },
+  { 0x0FBE, 1, 0 }, { 0x0FCC, 0, 1 },
+  { 0x0FCF, 1, 0 }, { 0x0FD1, 0, 1 }
+};
+static const uc_interval_t script_myanmar_intervals[] =
+{
+  { 0x1000, 1, 0 }, { 0x1021, 0, 1 },
+  { 0x1023, 1, 0 }, { 0x1027, 0, 1 },
+  { 0x1029, 1, 0 }, { 0x102A, 0, 1 },
+  { 0x102C, 1, 0 }, { 0x1032, 0, 1 },
+  { 0x1036, 1, 0 }, { 0x1039, 0, 1 },
+  { 0x1040, 1, 0 }, { 0x1059, 0, 1 }
+};
+static const uc_interval_t script_georgian_intervals[] =
+{
+  { 0x10A0, 1, 0 }, { 0x10C5, 0, 1 },
+  { 0x10D0, 1, 0 }, { 0x10FA, 0, 1 },
+  { 0x10FC, 1, 1 },
+  { 0x2D00, 1, 0 }, { 0x2D25, 0, 1 }
+};
+static const uc_interval_t script_hangul_intervals[] =
+{
+  { 0x1100, 1, 0 }, { 0x1159, 0, 1 },
+  { 0x115F, 1, 0 }, { 0x11A2, 0, 1 },
+  { 0x11A8, 1, 0 }, { 0x11F9, 0, 1 },
+  { 0x3131, 1, 0 }, { 0x318E, 0, 1 },
+  { 0x3200, 1, 0 }, { 0x321E, 0, 1 },
+  { 0x3260, 1, 0 }, { 0x327D, 0, 1 },
+  { 0xAC00, 1, 0 }, { 0xD7A3, 0, 1 },
+  { 0xFFA0, 1, 0 }, { 0xFFBE, 0, 1 },
+  { 0xFFC2, 1, 0 }, { 0xFFC7, 0, 1 },
+  { 0xFFCA, 1, 0 }, { 0xFFCF, 0, 1 },
+  { 0xFFD2, 1, 0 }, { 0xFFD7, 0, 1 },
+  { 0xFFDA, 1, 0 }, { 0xFFDC, 0, 1 }
+};
+static const uc_interval_t script_ethiopic_intervals[] =
+{
+  { 0x1200, 1, 0 }, { 0x1248, 0, 1 },
+  { 0x124A, 1, 0 }, { 0x124D, 0, 1 },
+  { 0x1250, 1, 0 }, { 0x1256, 0, 1 },
+  { 0x1258, 1, 1 },
+  { 0x125A, 1, 0 }, { 0x125D, 0, 1 },
+  { 0x1260, 1, 0 }, { 0x1288, 0, 1 },
+  { 0x128A, 1, 0 }, { 0x128D, 0, 1 },
+  { 0x1290, 1, 0 }, { 0x12B0, 0, 1 },
+  { 0x12B2, 1, 0 }, { 0x12B5, 0, 1 },
+  { 0x12B8, 1, 0 }, { 0x12BE, 0, 1 },
+  { 0x12C0, 1, 1 },
+  { 0x12C2, 1, 0 }, { 0x12C5, 0, 1 },
+  { 0x12C8, 1, 0 }, { 0x12D6, 0, 1 },
+  { 0x12D8, 1, 0 }, { 0x1310, 0, 1 },
+  { 0x1312, 1, 0 }, { 0x1315, 0, 1 },
+  { 0x1318, 1, 0 }, { 0x135A, 0, 1 },
+  { 0x135F, 1, 0 }, { 0x137C, 0, 1 },
+  { 0x1380, 1, 0 }, { 0x1399, 0, 1 },
+  { 0x2D80, 1, 0 }, { 0x2D96, 0, 1 },
+  { 0x2DA0, 1, 0 }, { 0x2DA6, 0, 1 },
+  { 0x2DA8, 1, 0 }, { 0x2DAE, 0, 1 },
+  { 0x2DB0, 1, 0 }, { 0x2DB6, 0, 1 },
+  { 0x2DB8, 1, 0 }, { 0x2DBE, 0, 1 },
+  { 0x2DC0, 1, 0 }, { 0x2DC6, 0, 1 },
+  { 0x2DC8, 1, 0 }, { 0x2DCE, 0, 1 },
+  { 0x2DD0, 1, 0 }, { 0x2DD6, 0, 1 },
+  { 0x2DD8, 1, 0 }, { 0x2DDE, 0, 1 }
+};
+static const uc_interval_t script_cherokee_intervals[] =
+{
+  { 0x13A0, 1, 0 }, { 0x13F4, 0, 1 }
+};
+static const uc_interval_t script_canadian_aboriginal_intervals[] =
+{
+  { 0x1401, 1, 0 }, { 0x1676, 0, 1 }
+};
+static const uc_interval_t script_ogham_intervals[] =
+{
+  { 0x1680, 1, 0 }, { 0x169C, 0, 1 }
+};
+static const uc_interval_t script_runic_intervals[] =
+{
+  { 0x16A0, 1, 0 }, { 0x16EA, 0, 1 },
+  { 0x16EE, 1, 0 }, { 0x16F0, 0, 1 }
+};
+static const uc_interval_t script_khmer_intervals[] =
+{
+  { 0x1780, 1, 0 }, { 0x17DD, 0, 1 },
+  { 0x17E0, 1, 0 }, { 0x17E9, 0, 1 },
+  { 0x17F0, 1, 0 }, { 0x17F9, 0, 1 },
+  { 0x19E0, 1, 0 }, { 0x19FF, 0, 1 }
+};
+static const uc_interval_t script_mongolian_intervals[] =
+{
+  { 0x1800, 1, 0 }, { 0x1801, 0, 1 },
+  { 0x1804, 1, 1 },
+  { 0x1806, 1, 0 }, { 0x180E, 0, 1 },
+  { 0x1810, 1, 0 }, { 0x1819, 0, 1 },
+  { 0x1820, 1, 0 }, { 0x1877, 0, 1 },
+  { 0x1880, 1, 0 }, { 0x18A9, 0, 1 }
+};
+static const uc_interval_t script_hiragana_intervals[] =
+{
+  { 0x3041, 1, 0 }, { 0x3096, 0, 1 },
+  { 0x309D, 1, 0 }, { 0x309F, 0, 1 }
+};
+static const uc_interval_t script_katakana_intervals[] =
+{
+  { 0x30A1, 1, 0 }, { 0x30FA, 0, 1 },
+  { 0x30FD, 1, 0 }, { 0x30FF, 0, 1 },
+  { 0x31F0, 1, 0 }, { 0x31FF, 0, 1 },
+  { 0xFF66, 1, 0 }, { 0xFF6F, 0, 1 },
+  { 0xFF71, 1, 0 }, { 0xFF9D, 0, 1 }
+};
+static const uc_interval_t script_bopomofo_intervals[] =
+{
+  { 0x3105, 1, 0 }, { 0x312C, 0, 1 },
+  { 0x31A0, 1, 0 }, { 0x31B7, 0, 1 }
+};
+static const uc_interval_t script_han_intervals[] =
+{
+  { 0x2E80, 1, 0 }, { 0x2E99, 0, 1 },
+  { 0x2E9B, 1, 0 }, { 0x2EF3, 0, 1 },
+  { 0x2F00, 1, 0 }, { 0x2FD5, 0, 1 },
+  { 0x3005, 1, 1 },
+  { 0x3007, 1, 1 },
+  { 0x3021, 1, 0 }, { 0x3029, 0, 1 },
+  { 0x3038, 1, 0 }, { 0x303B, 0, 1 },
+  { 0x3400, 1, 0 }, { 0x4DB5, 0, 1 },
+  { 0x4E00, 1, 0 }, { 0x9FBB, 0, 1 },
+  { 0xF900, 1, 0 }, { 0xFA2D, 0, 1 },
+  { 0xFA30, 1, 0 }, { 0xFA6A, 0, 1 },
+  { 0xFA70, 1, 0 }, { 0xFAD9, 0, 1 },
+  { 0x20000, 1, 0 }, { 0x2A6D6, 0, 1 },
+  { 0x2F800, 1, 0 }, { 0x2FA1D, 0, 1 }
+};
+static const uc_interval_t script_yi_intervals[] =
+{
+  { 0xA000, 1, 0 }, { 0xA48C, 0, 1 },
+  { 0xA490, 1, 0 }, { 0xA4C6, 0, 1 }
+};
+static const uc_interval_t script_old_italic_intervals[] =
+{
+  { 0x10300, 1, 0 }, { 0x1031E, 0, 1 },
+  { 0x10320, 1, 0 }, { 0x10323, 0, 1 }
+};
+static const uc_interval_t script_gothic_intervals[] =
+{
+  { 0x10330, 1, 0 }, { 0x1034A, 0, 1 }
+};
+static const uc_interval_t script_deseret_intervals[] =
+{
+  { 0x10400, 1, 0 }, { 0x1044F, 0, 1 }
+};
+static const uc_interval_t script_inherited_intervals[] =
+{
+  { 0x0300, 1, 0 }, { 0x036F, 0, 1 },
+  { 0x064B, 1, 0 }, { 0x0655, 0, 1 },
+  { 0x0670, 1, 1 },
+  { 0x1DC0, 1, 0 }, { 0x1DCA, 0, 1 },
+  { 0x1DFE, 1, 0 }, { 0x1DFF, 0, 1 },
+  { 0x200C, 1, 0 }, { 0x200D, 0, 1 },
+  { 0x20D0, 1, 0 }, { 0x20EF, 0, 1 },
+  { 0x302A, 1, 0 }, { 0x302F, 0, 1 },
+  { 0x3099, 1, 0 }, { 0x309A, 0, 1 },
+  { 0xFE00, 1, 0 }, { 0xFE0F, 0, 1 },
+  { 0xFE20, 1, 0 }, { 0xFE23, 0, 1 },
+  { 0x1D167, 1, 0 }, { 0x1D169, 0, 1 },
+  { 0x1D17B, 1, 0 }, { 0x1D182, 0, 1 },
+  { 0x1D185, 1, 0 }, { 0x1D18B, 0, 1 },
+  { 0x1D1AA, 1, 0 }, { 0x1D1AD, 0, 1 },
+  { 0xE0100, 1, 0 }, { 0xE01EF, 0, 1 }
+};
+static const uc_interval_t script_tagalog_intervals[] =
+{
+  { 0x1700, 1, 0 }, { 0x170C, 0, 1 },
+  { 0x170E, 1, 0 }, { 0x1714, 0, 1 }
+};
+static const uc_interval_t script_hanunoo_intervals[] =
+{
+  { 0x1720, 1, 0 }, { 0x1734, 0, 1 }
+};
+static const uc_interval_t script_buhid_intervals[] =
+{
+  { 0x1740, 1, 0 }, { 0x1753, 0, 1 }
+};
+static const uc_interval_t script_tagbanwa_intervals[] =
+{
+  { 0x1760, 1, 0 }, { 0x176C, 0, 1 },
+  { 0x176E, 1, 0 }, { 0x1770, 0, 1 },
+  { 0x1772, 1, 0 }, { 0x1773, 0, 1 }
+};
+static const uc_interval_t script_limbu_intervals[] =
+{
+  { 0x1900, 1, 0 }, { 0x191C, 0, 1 },
+  { 0x1920, 1, 0 }, { 0x192B, 0, 1 },
+  { 0x1930, 1, 0 }, { 0x193B, 0, 1 },
+  { 0x1940, 1, 1 },
+  { 0x1944, 1, 0 }, { 0x194F, 0, 1 }
+};
+static const uc_interval_t script_tai_le_intervals[] =
+{
+  { 0x1950, 1, 0 }, { 0x196D, 0, 1 },
+  { 0x1970, 1, 0 }, { 0x1974, 0, 1 }
+};
+static const uc_interval_t script_linear_b_intervals[] =
+{
+  { 0x10000, 1, 0 }, { 0x1000B, 0, 1 },
+  { 0x1000D, 1, 0 }, { 0x10026, 0, 1 },
+  { 0x10028, 1, 0 }, { 0x1003A, 0, 1 },
+  { 0x1003C, 1, 0 }, { 0x1003D, 0, 1 },
+  { 0x1003F, 1, 0 }, { 0x1004D, 0, 1 },
+  { 0x10050, 1, 0 }, { 0x1005D, 0, 1 },
+  { 0x10080, 1, 0 }, { 0x100FA, 0, 1 }
+};
+static const uc_interval_t script_ugaritic_intervals[] =
+{
+  { 0x10380, 1, 0 }, { 0x1039D, 0, 1 },
+  { 0x1039F, 1, 1 }
+};
+static const uc_interval_t script_shavian_intervals[] =
+{
+  { 0x10450, 1, 0 }, { 0x1047F, 0, 1 }
+};
+static const uc_interval_t script_osmanya_intervals[] =
+{
+  { 0x10480, 1, 0 }, { 0x1049D, 0, 1 },
+  { 0x104A0, 1, 0 }, { 0x104A9, 0, 1 }
+};
+static const uc_interval_t script_cypriot_intervals[] =
+{
+  { 0x10800, 1, 0 }, { 0x10805, 0, 1 },
+  { 0x10808, 1, 1 },
+  { 0x1080A, 1, 0 }, { 0x10835, 0, 1 },
+  { 0x10837, 1, 0 }, { 0x10838, 0, 1 },
+  { 0x1083C, 1, 1 },
+  { 0x1083F, 1, 1 }
+};
+static const uc_interval_t script_braille_intervals[] =
+{
+  { 0x2800, 1, 0 }, { 0x28FF, 0, 1 }
+};
+static const uc_interval_t script_buginese_intervals[] =
+{
+  { 0x1A00, 1, 0 }, { 0x1A1B, 0, 1 },
+  { 0x1A1E, 1, 0 }, { 0x1A1F, 0, 1 }
+};
+static const uc_interval_t script_coptic_intervals[] =
+{
+  { 0x03E2, 1, 0 }, { 0x03EF, 0, 1 },
+  { 0x2C80, 1, 0 }, { 0x2CEA, 0, 1 },
+  { 0x2CF9, 1, 0 }, { 0x2CFF, 0, 1 }
+};
+static const uc_interval_t script_new_tai_lue_intervals[] =
+{
+  { 0x1980, 1, 0 }, { 0x19A9, 0, 1 },
+  { 0x19B0, 1, 0 }, { 0x19C9, 0, 1 },
+  { 0x19D0, 1, 0 }, { 0x19D9, 0, 1 },
+  { 0x19DE, 1, 0 }, { 0x19DF, 0, 1 }
+};
+static const uc_interval_t script_glagolitic_intervals[] =
+{
+  { 0x2C00, 1, 0 }, { 0x2C2E, 0, 1 },
+  { 0x2C30, 1, 0 }, { 0x2C5E, 0, 1 }
+};
+static const uc_interval_t script_tifinagh_intervals[] =
+{
+  { 0x2D30, 1, 0 }, { 0x2D65, 0, 1 },
+  { 0x2D6F, 1, 1 }
+};
+static const uc_interval_t script_syloti_nagri_intervals[] =
+{
+  { 0xA800, 1, 0 }, { 0xA82B, 0, 1 }
+};
+static const uc_interval_t script_old_persian_intervals[] =
+{
+  { 0x103A0, 1, 0 }, { 0x103C3, 0, 1 },
+  { 0x103C8, 1, 0 }, { 0x103D5, 0, 1 }
+};
+static const uc_interval_t script_kharoshthi_intervals[] =
+{
+  { 0x10A00, 1, 0 }, { 0x10A03, 0, 1 },
+  { 0x10A05, 1, 0 }, { 0x10A06, 0, 1 },
+  { 0x10A0C, 1, 0 }, { 0x10A13, 0, 1 },
+  { 0x10A15, 1, 0 }, { 0x10A17, 0, 1 },
+  { 0x10A19, 1, 0 }, { 0x10A33, 0, 1 },
+  { 0x10A38, 1, 0 }, { 0x10A3A, 0, 1 },
+  { 0x10A3F, 1, 0 }, { 0x10A47, 0, 1 },
+  { 0x10A50, 1, 0 }, { 0x10A58, 0, 1 }
+};
+static const uc_interval_t script_balinese_intervals[] =
+{
+  { 0x1B00, 1, 0 }, { 0x1B4B, 0, 1 },
+  { 0x1B50, 1, 0 }, { 0x1B7C, 0, 1 }
+};
+static const uc_interval_t script_cuneiform_intervals[] =
+{
+  { 0x12000, 1, 0 }, { 0x1236E, 0, 1 },
+  { 0x12400, 1, 0 }, { 0x12462, 0, 1 },
+  { 0x12470, 1, 0 }, { 0x12473, 0, 1 }
+};
+static const uc_interval_t script_phoenician_intervals[] =
+{
+  { 0x10900, 1, 0 }, { 0x10919, 0, 1 },
+  { 0x1091F, 1, 1 }
+};
+static const uc_interval_t script_phags_pa_intervals[] =
+{
+  { 0xA840, 1, 0 }, { 0xA877, 0, 1 }
+};
+static const uc_interval_t script_nko_intervals[] =
+{
+  { 0x07C0, 1, 0 }, { 0x07FA, 0, 1 }
+};
+static const uc_script_t scripts[66] =
+{
+  {
+    sizeof (script_common_intervals) / sizeof (uc_interval_t),
+    script_common_intervals,
+    "Common"
+  },
+  {
+    sizeof (script_latin_intervals) / sizeof (uc_interval_t),
+    script_latin_intervals,
+    "Latin"
+  },
+  {
+    sizeof (script_greek_intervals) / sizeof (uc_interval_t),
+    script_greek_intervals,
+    "Greek"
+  },
+  {
+    sizeof (script_cyrillic_intervals) / sizeof (uc_interval_t),
+    script_cyrillic_intervals,
+    "Cyrillic"
+  },
+  {
+    sizeof (script_armenian_intervals) / sizeof (uc_interval_t),
+    script_armenian_intervals,
+    "Armenian"
+  },
+  {
+    sizeof (script_hebrew_intervals) / sizeof (uc_interval_t),
+    script_hebrew_intervals,
+    "Hebrew"
+  },
+  {
+    sizeof (script_arabic_intervals) / sizeof (uc_interval_t),
+    script_arabic_intervals,
+    "Arabic"
+  },
+  {
+    sizeof (script_syriac_intervals) / sizeof (uc_interval_t),
+    script_syriac_intervals,
+    "Syriac"
+  },
+  {
+    sizeof (script_thaana_intervals) / sizeof (uc_interval_t),
+    script_thaana_intervals,
+    "Thaana"
+  },
+  {
+    sizeof (script_devanagari_intervals) / sizeof (uc_interval_t),
+    script_devanagari_intervals,
+    "Devanagari"
+  },
+  {
+    sizeof (script_bengali_intervals) / sizeof (uc_interval_t),
+    script_bengali_intervals,
+    "Bengali"
+  },
+  {
+    sizeof (script_gurmukhi_intervals) / sizeof (uc_interval_t),
+    script_gurmukhi_intervals,
+    "Gurmukhi"
+  },
+  {
+    sizeof (script_gujarati_intervals) / sizeof (uc_interval_t),
+    script_gujarati_intervals,
+    "Gujarati"
+  },
+  {
+    sizeof (script_oriya_intervals) / sizeof (uc_interval_t),
+    script_oriya_intervals,
+    "Oriya"
+  },
+  {
+    sizeof (script_tamil_intervals) / sizeof (uc_interval_t),
+    script_tamil_intervals,
+    "Tamil"
+  },
+  {
+    sizeof (script_telugu_intervals) / sizeof (uc_interval_t),
+    script_telugu_intervals,
+    "Telugu"
+  },
+  {
+    sizeof (script_kannada_intervals) / sizeof (uc_interval_t),
+    script_kannada_intervals,
+    "Kannada"
+  },
+  {
+    sizeof (script_malayalam_intervals) / sizeof (uc_interval_t),
+    script_malayalam_intervals,
+    "Malayalam"
+  },
+  {
+    sizeof (script_sinhala_intervals) / sizeof (uc_interval_t),
+    script_sinhala_intervals,
+    "Sinhala"
+  },
+  {
+    sizeof (script_thai_intervals) / sizeof (uc_interval_t),
+    script_thai_intervals,
+    "Thai"
+  },
+  {
+    sizeof (script_lao_intervals) / sizeof (uc_interval_t),
+    script_lao_intervals,
+    "Lao"
+  },
+  {
+    sizeof (script_tibetan_intervals) / sizeof (uc_interval_t),
+    script_tibetan_intervals,
+    "Tibetan"
+  },
+  {
+    sizeof (script_myanmar_intervals) / sizeof (uc_interval_t),
+    script_myanmar_intervals,
+    "Myanmar"
+  },
+  {
+    sizeof (script_georgian_intervals) / sizeof (uc_interval_t),
+    script_georgian_intervals,
+    "Georgian"
+  },
+  {
+    sizeof (script_hangul_intervals) / sizeof (uc_interval_t),
+    script_hangul_intervals,
+    "Hangul"
+  },
+  {
+    sizeof (script_ethiopic_intervals) / sizeof (uc_interval_t),
+    script_ethiopic_intervals,
+    "Ethiopic"
+  },
+  {
+    sizeof (script_cherokee_intervals) / sizeof (uc_interval_t),
+    script_cherokee_intervals,
+    "Cherokee"
+  },
+  {
+    sizeof (script_canadian_aboriginal_intervals) / sizeof (uc_interval_t),
+    script_canadian_aboriginal_intervals,
+    "Canadian_Aboriginal"
+  },
+  {
+    sizeof (script_ogham_intervals) / sizeof (uc_interval_t),
+    script_ogham_intervals,
+    "Ogham"
+  },
+  {
+    sizeof (script_runic_intervals) / sizeof (uc_interval_t),
+    script_runic_intervals,
+    "Runic"
+  },
+  {
+    sizeof (script_khmer_intervals) / sizeof (uc_interval_t),
+    script_khmer_intervals,
+    "Khmer"
+  },
+  {
+    sizeof (script_mongolian_intervals) / sizeof (uc_interval_t),
+    script_mongolian_intervals,
+    "Mongolian"
+  },
+  {
+    sizeof (script_hiragana_intervals) / sizeof (uc_interval_t),
+    script_hiragana_intervals,
+    "Hiragana"
+  },
+  {
+    sizeof (script_katakana_intervals) / sizeof (uc_interval_t),
+    script_katakana_intervals,
+    "Katakana"
+  },
+  {
+    sizeof (script_bopomofo_intervals) / sizeof (uc_interval_t),
+    script_bopomofo_intervals,
+    "Bopomofo"
+  },
+  {
+    sizeof (script_han_intervals) / sizeof (uc_interval_t),
+    script_han_intervals,
+    "Han"
+  },
+  {
+    sizeof (script_yi_intervals) / sizeof (uc_interval_t),
+    script_yi_intervals,
+    "Yi"
+  },
+  {
+    sizeof (script_old_italic_intervals) / sizeof (uc_interval_t),
+    script_old_italic_intervals,
+    "Old_Italic"
+  },
+  {
+    sizeof (script_gothic_intervals) / sizeof (uc_interval_t),
+    script_gothic_intervals,
+    "Gothic"
+  },
+  {
+    sizeof (script_deseret_intervals) / sizeof (uc_interval_t),
+    script_deseret_intervals,
+    "Deseret"
+  },
+  {
+    sizeof (script_inherited_intervals) / sizeof (uc_interval_t),
+    script_inherited_intervals,
+    "Inherited"
+  },
+  {
+    sizeof (script_tagalog_intervals) / sizeof (uc_interval_t),
+    script_tagalog_intervals,
+    "Tagalog"
+  },
+  {
+    sizeof (script_hanunoo_intervals) / sizeof (uc_interval_t),
+    script_hanunoo_intervals,
+    "Hanunoo"
+  },
+  {
+    sizeof (script_buhid_intervals) / sizeof (uc_interval_t),
+    script_buhid_intervals,
+    "Buhid"
+  },
+  {
+    sizeof (script_tagbanwa_intervals) / sizeof (uc_interval_t),
+    script_tagbanwa_intervals,
+    "Tagbanwa"
+  },
+  {
+    sizeof (script_limbu_intervals) / sizeof (uc_interval_t),
+    script_limbu_intervals,
+    "Limbu"
+  },
+  {
+    sizeof (script_tai_le_intervals) / sizeof (uc_interval_t),
+    script_tai_le_intervals,
+    "Tai_Le"
+  },
+  {
+    sizeof (script_linear_b_intervals) / sizeof (uc_interval_t),
+    script_linear_b_intervals,
+    "Linear_B"
+  },
+  {
+    sizeof (script_ugaritic_intervals) / sizeof (uc_interval_t),
+    script_ugaritic_intervals,
+    "Ugaritic"
+  },
+  {
+    sizeof (script_shavian_intervals) / sizeof (uc_interval_t),
+    script_shavian_intervals,
+    "Shavian"
+  },
+  {
+    sizeof (script_osmanya_intervals) / sizeof (uc_interval_t),
+    script_osmanya_intervals,
+    "Osmanya"
+  },
+  {
+    sizeof (script_cypriot_intervals) / sizeof (uc_interval_t),
+    script_cypriot_intervals,
+    "Cypriot"
+  },
+  {
+    sizeof (script_braille_intervals) / sizeof (uc_interval_t),
+    script_braille_intervals,
+    "Braille"
+  },
+  {
+    sizeof (script_buginese_intervals) / sizeof (uc_interval_t),
+    script_buginese_intervals,
+    "Buginese"
+  },
+  {
+    sizeof (script_coptic_intervals) / sizeof (uc_interval_t),
+    script_coptic_intervals,
+    "Coptic"
+  },
+  {
+    sizeof (script_new_tai_lue_intervals) / sizeof (uc_interval_t),
+    script_new_tai_lue_intervals,
+    "New_Tai_Lue"
+  },
+  {
+    sizeof (script_glagolitic_intervals) / sizeof (uc_interval_t),
+    script_glagolitic_intervals,
+    "Glagolitic"
+  },
+  {
+    sizeof (script_tifinagh_intervals) / sizeof (uc_interval_t),
+    script_tifinagh_intervals,
+    "Tifinagh"
+  },
+  {
+    sizeof (script_syloti_nagri_intervals) / sizeof (uc_interval_t),
+    script_syloti_nagri_intervals,
+    "Syloti_Nagri"
+  },
+  {
+    sizeof (script_old_persian_intervals) / sizeof (uc_interval_t),
+    script_old_persian_intervals,
+    "Old_Persian"
+  },
+  {
+    sizeof (script_kharoshthi_intervals) / sizeof (uc_interval_t),
+    script_kharoshthi_intervals,
+    "Kharoshthi"
+  },
+  {
+    sizeof (script_balinese_intervals) / sizeof (uc_interval_t),
+    script_balinese_intervals,
+    "Balinese"
+  },
+  {
+    sizeof (script_cuneiform_intervals) / sizeof (uc_interval_t),
+    script_cuneiform_intervals,
+    "Cuneiform"
+  },
+  {
+    sizeof (script_phoenician_intervals) / sizeof (uc_interval_t),
+    script_phoenician_intervals,
+    "Phoenician"
+  },
+  {
+    sizeof (script_phags_pa_intervals) / sizeof (uc_interval_t),
+    script_phags_pa_intervals,
+    "Phags_Pa"
+  },
+  {
+    sizeof (script_nko_intervals) / sizeof (uc_interval_t),
+    script_nko_intervals,
+    "Nko"
+  }
+};
+#define script_header_0 16
+#define script_header_1 15
+#define script_header_2 7
+#define script_header_3 511
+#define script_header_4 127
+static const
+struct
+  {
+    int level1[15];
+    short level2[4 << 9];
+    unsigned char level3[127 << 7];
+  }
+u_script =
+{
+  {
+        0,   512,  1024,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  1536
+  },
+  {
+        0,   128,   256,   256,   256,   384,   512,   640,
+      768,   896,  1024,  1152,  1280,  1408,  1536,  1664,
+       -1,    -1,  1792,  1920,  2048,  2176,  2304,  2432,
+     2560,  2688,  2816,  2944,  3072,  3200,  3328,  3456,
+     3584,  3712,  3840,  3968,  4096,  4224,  4352,  4480,
+     4608,  4736,  4736,  4736,  4864,  4992,  5120,  5248,
+     5376,  5504,  5632,  5760,  5888,    -1,  6016,    -1,
+       -1,    -1,  6144,  6272,   256,  6400,  6528,  6656,
+     6784,  6912,  7040,  7168,  7296,  7296,  7296,  7424,
+     7552,  7296,  7296,  7296,  7296,  7680,  7808,  7936,
+     8064,  8064,  7296,  7296,  7296,  7296,  8192,    -1,
+     8320,  8448,  8576,  8704,  8832,  8960,  9088,  9216,
+     9344,  9472,  9600,  9728,  9856,  9984,  7296,  7296,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088, 10112,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088, 10240,
+    10368, 10368, 10368, 10368, 10368, 10368, 10368, 10368,
+    10368, 10496,    -1,    -1,    -1,    -1, 10624,    -1,
+    10752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 10880,
+    10880, 10880, 10880, 10880, 10880, 10880, 10880, 11008,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  9088,  9088, 11136, 11264, 11392, 11520,
+    11648, 11648, 11776, 11904, 12032, 12160, 12288, 12416,
+    12544, 12672, 12800, 12928,    -1,    -1, 13056, 13184,
+    13312, 13440,    -1,    -1,    -1,    -1,    -1,    -1,
+    13568,    -1, 13696,    -1, 13824,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    13952, 13952, 13952, 13952, 13952, 13952, 14080,    -1,
+    14208,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     7296, 14336, 14464, 14592, 14720,    -1, 14848,    -1,
+    14976, 15104, 15232,  7296,  7296, 15360,  7296, 15488,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
+     9088,  9088,  9088,  9088,  9088, 15616,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     9088,  9088,  9088,  9088, 15744,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    15872,    -1, 16000, 16128,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
+  },
+  {
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   0,   0,   0,   0,   0,
+      0,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   0,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   0,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   0,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      1,   1,   1,   1,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+    255, 255, 255, 255,   2,   2, 255, 255,
+    255, 255,   2,   2,   2,   2,   0, 255,
+    255, 255, 255, 255,   2,   2,   2,   0,
+      2,   2,   2, 255,   2, 255,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2, 255,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2, 255,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3, 255,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4, 255,
+    255,   4,   4,   4,   4,   4,   4,   4,
+    255,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,
+    255,   0,   4, 255, 255, 255, 255, 255,
+    255,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5, 255, 255, 255, 255, 255,
+      5,   5,   5,   5,   5, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0, 255, 255, 255, 255,
+    255, 255, 255,   6,   0,   6,   6,   6,
+      6,   6,   6,   6,   6,   6, 255, 255,
+    255, 255, 255,   0, 255, 255,   6,   0,
+    255,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6, 255, 255, 255, 255, 255,
+      0,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,   6,   6,
+      6,   6,   6,   6,   6,   6,   6, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   6,   6,   6,   6,   6,   6,
+     40,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   0,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      7,   7,   7,   7,   7,   7,   7,   7,
+      7,   7,   7,   7,   7,   7, 255,   7,
+      7,   7,   7,   7,   7,   7,   7,   7,
+      7,   7,   7,   7,   7,   7,   7,   7,
+      7,   7,   7,   7,   7,   7,   7,   7,
+      7,   7,   7,   7,   7,   7,   7,   7,
+      7,   7,   7,   7,   7,   7,   7,   7,
+      7,   7,   7,   7,   7,   7,   7,   7,
+      7,   7,   7,   7,   7,   7,   7,   7,
+      7,   7,   7, 255, 255,   7,   7,   7,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      8,   8,   8,   8,   8,   8,   8,   8,
+      8,   8,   8,   8,   8,   8,   8,   8,
+      8,   8,   8,   8,   8,   8,   8,   8,
+      8,   8,   8,   8,   8,   8,   8,   8,
+      8,   8,   8,   8,   8,   8,   8,   8,
+      8,   8,   8,   8,   8,   8,   8,   8,
+      8,   8, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     65,  65,  65,  65,  65,  65,  65,  65,
+     65,  65,  65,  65,  65,  65,  65,  65,
+     65,  65,  65,  65,  65,  65,  65,  65,
+     65,  65,  65,  65,  65,  65,  65,  65,
+     65,  65,  65,  65,  65,  65,  65,  65,
+     65,  65,  65,  65,  65,  65,  65,  65,
+     65,  65,  65,  65,  65,  65,  65,  65,
+     65,  65,  65, 255, 255, 255, 255, 255,
+    255,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9, 255, 255,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9, 255, 255,
+      9,   9,   9,   9,   9, 255, 255, 255,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   0,   0,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      0, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255,   9,   9,   9,   9,   9,
+    255,  10,  10,  10, 255,  10,  10,  10,
+     10,  10,  10,  10,  10, 255, 255,  10,
+     10, 255, 255,  10,  10,  10,  10,  10,
+     10,  10,  10,  10,  10,  10,  10,  10,
+     10,  10,  10,  10,  10,  10,  10,  10,
+     10, 255,  10,  10,  10,  10,  10,  10,
+     10, 255,  10, 255, 255, 255,  10,  10,
+     10,  10, 255, 255,  10,  10,  10,  10,
+     10,  10,  10,  10,  10, 255, 255,  10,
+     10, 255, 255,  10,  10,  10,  10, 255,
+    255, 255, 255, 255, 255, 255, 255,  10,
+    255, 255, 255, 255,  10,  10, 255,  10,
+     10,  10,  10,  10, 255, 255,  10,  10,
+     10,  10,  10,  10,  10,  10,  10,  10,
+     10,  10,  10,  10,  10,  10,  10,  10,
+     10,  10,  10, 255, 255, 255, 255, 255,
+    255,  11,  11,  11, 255,  11,  11,  11,
+     11,  11,  11, 255, 255, 255, 255,  11,
+     11, 255, 255,  11,  11,  11,  11,  11,
+     11,  11,  11,  11,  11,  11,  11,  11,
+     11,  11,  11,  11,  11,  11,  11,  11,
+     11, 255,  11,  11,  11,  11,  11,  11,
+     11, 255,  11,  11, 255,  11,  11, 255,
+     11,  11, 255, 255,  11, 255,  11,  11,
+     11,  11,  11, 255, 255, 255, 255,  11,
+     11, 255, 255,  11,  11,  11, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,  11,  11,  11,  11, 255,  11, 255,
+    255, 255, 255, 255, 255, 255,  11,  11,
+     11,  11,  11,  11,  11,  11,  11,  11,
+     11,  11,  11,  11,  11, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,  12,  12,  12, 255,  12,  12,  12,
+     12,  12,  12,  12,  12,  12, 255,  12,
+     12,  12, 255,  12,  12,  12,  12,  12,
+     12,  12,  12,  12,  12,  12,  12,  12,
+     12,  12,  12,  12,  12,  12,  12,  12,
+     12, 255,  12,  12,  12,  12,  12,  12,
+     12, 255,  12,  12, 255,  12,  12,  12,
+     12,  12, 255, 255,  12,  12,  12,  12,
+     12,  12,  12,  12,  12,  12, 255,  12,
+     12,  12, 255,  12,  12,  12, 255, 255,
+     12, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     12,  12,  12,  12, 255, 255,  12,  12,
+     12,  12,  12,  12,  12,  12,  12,  12,
+    255,  12, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,  13,  13,  13, 255,  13,  13,  13,
+     13,  13,  13,  13,  13, 255, 255,  13,
+     13, 255, 255,  13,  13,  13,  13,  13,
+     13,  13,  13,  13,  13,  13,  13,  13,
+     13,  13,  13,  13,  13,  13,  13,  13,
+     13, 255,  13,  13,  13,  13,  13,  13,
+     13, 255,  13,  13, 255,  13,  13,  13,
+     13,  13, 255, 255,  13,  13,  13,  13,
+     13,  13,  13,  13, 255, 255, 255,  13,
+     13, 255, 255,  13,  13,  13, 255, 255,
+    255, 255, 255, 255, 255, 255,  13,  13,
+    255, 255, 255, 255,  13,  13, 255,  13,
+     13,  13, 255, 255, 255, 255,  13,  13,
+     13,  13,  13,  13,  13,  13,  13,  13,
+     13,  13, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255,  14,  14, 255,  14,  14,  14,
+     14,  14,  14, 255, 255, 255,  14,  14,
+     14, 255,  14,  14,  14,  14, 255, 255,
+    255,  14,  14, 255,  14, 255,  14,  14,
+    255, 255, 255,  14,  14, 255, 255, 255,
+     14,  14,  14, 255, 255, 255,  14,  14,
+     14,  14,  14,  14,  14,  14,  14,  14,
+     14,  14, 255, 255, 255, 255,  14,  14,
+     14,  14,  14, 255, 255, 255,  14,  14,
+     14, 255,  14,  14,  14,  14, 255, 255,
+    255, 255, 255, 255, 255, 255, 255,  14,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255,  14,  14,
+     14,  14,  14,  14,  14,  14,  14,  14,
+     14,  14,  14,  14,  14,  14,  14,  14,
+     14,  14,  14, 255, 255, 255, 255, 255,
+    255,  15,  15,  15, 255,  15,  15,  15,
+     15,  15,  15,  15,  15, 255,  15,  15,
+     15, 255,  15,  15,  15,  15,  15,  15,
+     15,  15,  15,  15,  15,  15,  15,  15,
+     15,  15,  15,  15,  15,  15,  15,  15,
+     15, 255,  15,  15,  15,  15,  15,  15,
+     15,  15,  15,  15, 255,  15,  15,  15,
+     15,  15, 255, 255, 255, 255,  15,  15,
+     15,  15,  15,  15,  15, 255,  15,  15,
+     15, 255,  15,  15,  15,  15, 255, 255,
+    255, 255, 255, 255, 255,  15,  15, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     15,  15, 255, 255, 255, 255,  15,  15,
+     15,  15,  15,  15,  15,  15,  15,  15,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255,  16,  16, 255,  16,  16,  16,
+     16,  16,  16,  16,  16, 255,  16,  16,
+     16, 255,  16,  16,  16,  16,  16,  16,
+     16,  16,  16,  16,  16,  16,  16,  16,
+     16,  16,  16,  16,  16,  16,  16,  16,
+     16, 255,  16,  16,  16,  16,  16,  16,
+     16,  16,  16,  16, 255,  16,  16,  16,
+     16,  16, 255, 255,  16,  16,  16,  16,
+     16,  16,  16,  16,  16, 255,  16,  16,
+     16, 255,  16,  16,  16,  16, 255, 255,
+    255, 255, 255, 255, 255,  16,  16, 255,
+    255, 255, 255, 255, 255, 255,  16, 255,
+     16,  16,  16,  16, 255, 255,  16,  16,
+     16,  16,  16,  16,  16,  16,  16,  16,
+    255,  16,  16, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255,  17,  17, 255,  17,  17,  17,
+     17,  17,  17,  17,  17, 255,  17,  17,
+     17, 255,  17,  17,  17,  17,  17,  17,
+     17,  17,  17,  17,  17,  17,  17,  17,
+     17,  17,  17,  17,  17,  17,  17,  17,
+     17, 255,  17,  17,  17,  17,  17,  17,
+     17,  17,  17,  17,  17,  17,  17,  17,
+     17,  17, 255, 255, 255, 255,  17,  17,
+     17,  17,  17,  17, 255, 255,  17,  17,
+     17, 255,  17,  17,  17,  17, 255, 255,
+    255, 255, 255, 255, 255, 255, 255,  17,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     17,  17, 255, 255, 255, 255,  17,  17,
+     17,  17,  17,  17,  17,  17,  17,  17,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255,  18,  18, 255,  18,  18,  18,
+     18,  18,  18,  18,  18,  18,  18,  18,
+     18,  18,  18,  18,  18,  18,  18, 255,
+    255, 255,  18,  18,  18,  18,  18,  18,
+     18,  18,  18,  18,  18,  18,  18,  18,
+     18,  18,  18,  18,  18,  18,  18,  18,
+     18,  18, 255,  18,  18,  18,  18,  18,
+     18,  18,  18,  18, 255,  18, 255, 255,
+     18,  18,  18,  18,  18,  18,  18, 255,
+    255, 255,  18, 255, 255, 255, 255,  18,
+     18,  18,  18,  18,  18, 255,  18, 255,
+     18,  18,  18,  18,  18,  18,  18,  18,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255,  18,  18,  18, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19, 255, 255, 255, 255,   0,
+     19,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19,  19,  19,  19,  19,  19,
+     19,  19,  19,  19, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,  20,  20, 255,  20, 255, 255,  20,
+     20, 255,  20, 255, 255,  20, 255, 255,
+    255, 255, 255, 255,  20,  20,  20,  20,
+    255,  20,  20,  20,  20,  20,  20,  20,
+    255,  20,  20,  20, 255,  20, 255,  20,
+    255, 255,  20,  20, 255,  20,  20,  20,
+     20,  20,  20,  20,  20,  20,  20,  20,
+     20,  20, 255,  20,  20,  20, 255, 255,
+     20,  20,  20,  20,  20, 255,  20, 255,
+     20,  20,  20,  20,  20,  20, 255, 255,
+     20,  20,  20,  20,  20,  20,  20,  20,
+     20,  20, 255, 255,  20,  20, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+    255,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21, 255, 255, 255, 255, 255,
+    255,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21, 255, 255, 255, 255,
+     21,  21,  21,  21,  21,  21,  21,  21,
+    255,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21, 255,  21,  21,
+     21,  21,  21,  21,  21,  21,  21,  21,
+     21,  21,  21,  21,  21, 255, 255,  21,
+     21,  21, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22, 255,  22,  22,  22,  22,  22,
+    255,  22,  22, 255,  22,  22,  22,  22,
+     22,  22,  22, 255, 255, 255,  22,  22,
+     22,  22, 255, 255, 255, 255, 255, 255,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,   0,  23, 255, 255, 255,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24, 255, 255, 255, 255, 255,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24, 255, 255, 255, 255, 255,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24, 255, 255, 255, 255, 255, 255,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25, 255,  25,  25,  25,  25, 255, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25, 255,  25,  25,  25,  25, 255, 255,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25, 255,  25,  25,  25,  25, 255, 255,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25, 255,  25,  25,  25,  25, 255, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25, 255,  25,  25,  25,  25, 255, 255,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25, 255,  25,  25,  25,  25, 255, 255,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25, 255, 255, 255, 255,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25, 255, 255, 255,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25, 255, 255, 255, 255, 255, 255,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     28,  28,  28,  28,  28,  28,  28,  28,
+     28,  28,  28,  28,  28,  28,  28,  28,
+     28,  28,  28,  28,  28,  28,  28,  28,
+     28,  28,  28,  28,  28, 255, 255, 255,
+     29,  29,  29,  29,  29,  29,  29,  29,
+     29,  29,  29,  29,  29,  29,  29,  29,
+     29,  29,  29,  29,  29,  29,  29,  29,
+     29,  29,  29,  29,  29,  29,  29,  29,
+     29,  29,  29,  29,  29,  29,  29,  29,
+     29,  29,  29,  29,  29,  29,  29,  29,
+     29,  29,  29,  29,  29,  29,  29,  29,
+     29,  29,  29,  29,  29,  29,  29,  29,
+     29,  29,  29,  29,  29,  29,  29,  29,
+     29,  29,  29,   0,   0,   0,  29,  29,
+     29, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     41,  41,  41,  41,  41,  41,  41,  41,
+     41,  41,  41,  41,  41, 255,  41,  41,
+     41,  41,  41,  41,  41, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     42,  42,  42,  42,  42,  42,  42,  42,
+     42,  42,  42,  42,  42,  42,  42,  42,
+     42,  42,  42,  42,  42,   0,   0, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     43,  43,  43,  43,  43,  43,  43,  43,
+     43,  43,  43,  43,  43,  43,  43,  43,
+     43,  43,  43,  43, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     44,  44,  44,  44,  44,  44,  44,  44,
+     44,  44,  44,  44,  44, 255,  44,  44,
+     44, 255,  44,  44, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30, 255, 255,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30, 255, 255, 255, 255, 255, 255,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30, 255, 255, 255, 255, 255, 255,
+     31,  31,   0,   0,  31,   0,  31,  31,
+     31,  31,  31,  31,  31,  31,  31, 255,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31, 255, 255, 255, 255, 255, 255,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31,  31,  31,  31,  31,  31,  31,
+     31,  31, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     45,  45,  45,  45,  45,  45,  45,  45,
+     45,  45,  45,  45,  45,  45,  45,  45,
+     45,  45,  45,  45,  45,  45,  45,  45,
+     45,  45,  45,  45,  45, 255, 255, 255,
+     45,  45,  45,  45,  45,  45,  45,  45,
+     45,  45,  45,  45, 255, 255, 255, 255,
+     45,  45,  45,  45,  45,  45,  45,  45,
+     45,  45,  45,  45, 255, 255, 255, 255,
+     45, 255, 255, 255,  45,  45,  45,  45,
+     45,  45,  45,  45,  45,  45,  45,  45,
+     46,  46,  46,  46,  46,  46,  46,  46,
+     46,  46,  46,  46,  46,  46,  46,  46,
+     46,  46,  46,  46,  46,  46,  46,  46,
+     46,  46,  46,  46,  46,  46, 255, 255,
+     46,  46,  46,  46,  46, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     55,  55,  55,  55,  55,  55,  55,  55,
+     55,  55,  55,  55,  55,  55,  55,  55,
+     55,  55,  55,  55,  55,  55,  55,  55,
+     55,  55,  55,  55,  55,  55,  55,  55,
+     55,  55,  55,  55,  55,  55,  55,  55,
+     55,  55, 255, 255, 255, 255, 255, 255,
+     55,  55,  55,  55,  55,  55,  55,  55,
+     55,  55,  55,  55,  55,  55,  55,  55,
+     55,  55,  55,  55,  55,  55,  55,  55,
+     55,  55, 255, 255, 255, 255, 255, 255,
+     55,  55,  55,  55,  55,  55,  55,  55,
+     55,  55, 255, 255, 255, 255,  55,  55,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     30,  30,  30,  30,  30,  30,  30,  30,
+     53,  53,  53,  53,  53,  53,  53,  53,
+     53,  53,  53,  53,  53,  53,  53,  53,
+     53,  53,  53,  53,  53,  53,  53,  53,
+     53,  53,  53,  53, 255, 255,  53,  53,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61, 255, 255, 255, 255,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61,  61,  61,  61,
+     61,  61,  61,  61,  61, 255, 255, 255,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   2,   2,
+      2,   2,   2,   3,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   2,   2,   2,
+      2,   2,   1,   1,   1,   1,   2,   2,
+      2,   2,   2,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      3,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   2,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255,  40,  40,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1, 255, 255, 255, 255,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1, 255, 255, 255, 255, 255, 255,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2, 255, 255,
+      2,   2,   2,   2,   2,   2, 255, 255,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2, 255, 255,
+      2,   2,   2,   2,   2,   2, 255, 255,
+      2,   2,   2,   2,   2,   2,   2,   2,
+    255,   2, 255,   2, 255,   2, 255,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2, 255, 255,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2, 255,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2, 255,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2, 255, 255,   2,   2,
+      2,   2,   2,   2, 255,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+    255, 255,   2,   2,   2, 255,   2,   2,
+      2,   2,   2,   2,   2,   2,   2, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,  40,  40,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 255, 255, 255, 255,
+    255, 255,   0,   0,   0,   0,   0,   0,
+      0,   1, 255, 255,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   1,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
+      1,   1,   1,   1,   1, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   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,   0,
+      0,   0,   1,   1,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   1, 255,
+    255, 255, 255,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   1, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,   0,   0,   0,   0, 255,   0,   0,
+      0,   0, 255, 255,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    255,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 255,   0, 255,   0,
+      0,   0,   0, 255, 255, 255,   0, 255,
+      0,   0,   0,   0,   0,   0,   0, 255,
+    255,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    255,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+     52,  52,  52,  52,  52,  52,  52,  52,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 255, 255, 255, 255, 255,
+      0,   0,   0,   0, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56, 255,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56,  56,
+     56,  56,  56,  56,  56,  56,  56, 255,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1, 255, 255, 255,
+    255, 255, 255, 255,   1,   1,   1,   1,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54,  54, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,  54,  54,  54,  54,  54,  54,  54,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23,  23,  23,
+     23,  23,  23,  23,  23,  23, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     57,  57,  57,  57,  57,  57,  57,  57,
+     57,  57,  57,  57,  57,  57,  57,  57,
+     57,  57,  57,  57,  57,  57,  57,  57,
+     57,  57,  57,  57,  57,  57,  57,  57,
+     57,  57,  57,  57,  57,  57,  57,  57,
+     57,  57,  57,  57,  57,  57,  57,  57,
+     57,  57,  57,  57,  57,  57, 255, 255,
+    255, 255, 255, 255, 255, 255, 255,  57,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25,  25,
+     25,  25,  25,  25,  25,  25,  25, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+     25,  25,  25,  25,  25,  25,  25, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    255, 255, 255, 255,   0,   0, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35, 255,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,  35,   0,  35,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  40,  40,  40,  40,  40,  40,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     35,  35,  35,  35,   0,   0,   0,   0,
+    255,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32,  32,
+     32,  32,  32,  32,  32,  32,  32, 255,
+    255,  40,  40,   0,   0,  32,  32,  32,
+      0,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,   0,   0,  33,  33,  33,
+    255, 255, 255, 255, 255,  34,  34,  34,
+     34,  34,  34,  34,  34,  34,  34,  34,
+     34,  34,  34,  34,  34,  34,  34,  34,
+     34,  34,  34,  34,  34,  34,  34,  34,
+     34,  34,  34,  34,  34,  34,  34,  34,
+     34,  34,  34,  34,  34, 255, 255, 255,
+    255,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     34,  34,  34,  34,  34,  34,  34,  34,
+     34,  34,  34,  34,  34,  34,  34,  34,
+     34,  34,  34,  34,  34,  34,  34,  34,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36, 255, 255, 255,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36,  36,
+     36,  36,  36,  36,  36,  36,  36, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 255, 255, 255, 255, 255,
+      0,   0, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     58,  58,  58,  58,  58,  58,  58,  58,
+     58,  58,  58,  58,  58,  58,  58,  58,
+     58,  58,  58,  58,  58,  58,  58,  58,
+     58,  58,  58,  58,  58,  58,  58,  58,
+     58,  58,  58,  58,  58,  58,  58,  58,
+     58,  58,  58,  58, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     64,  64,  64,  64,  64,  64,  64,  64,
+     64,  64,  64,  64,  64,  64,  64,  64,
+     64,  64,  64,  64,  64,  64,  64,  64,
+     64,  64,  64,  64,  64,  64,  64,  64,
+     64,  64,  64,  64,  64,  64,  64,  64,
+     64,  64,  64,  64,  64,  64,  64,  64,
+     64,  64,  64,  64,  64,  64,  64,  64,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35, 255, 255,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35, 255, 255, 255, 255, 255,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      1,   1,   1,   1,   1,   1,   1, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255,   4,   4,   4,   4,   4,
+    255, 255, 255, 255, 255,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5, 255,
+      5,   5,   5,   5,   5, 255,   5, 255,
+      5,   5, 255,   5,   5, 255,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   0,   0,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+    255, 255,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   0, 255, 255,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255, 255, 255,
+     40,  40,  40,  40, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 255,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
+      0,   0,   0,   0, 255, 255, 255, 255,
+      6,   6,   6,   6,   6, 255,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6, 255, 255,   0,
+    255,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   0,   0,   0,   0,   0,
+      0,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+      0,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,  33,  33,
+     33,  33,  33,  33,  33,  33,   0,   0,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24, 255,
+    255, 255,  24,  24,  24,  24,  24,  24,
+    255, 255,  24,  24,  24,  24,  24,  24,
+    255, 255,  24,  24,  24,  24,  24,  24,
+    255, 255,  24,  24,  24, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0, 255,
+      0,   0,   0,   0,   0,   0,   0, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,   0,   0,   0,   0,   0, 255, 255,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47, 255,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47, 255,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47, 255,  47,  47, 255,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47, 255, 255,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47,  47,  47,  47,  47,  47,
+     47,  47,  47, 255, 255, 255, 255, 255,
+      0,   0,   0, 255, 255, 255, 255,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 255, 255, 255,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     37,  37,  37,  37,  37,  37,  37,  37,
+     37,  37,  37,  37,  37,  37,  37,  37,
+     37,  37,  37,  37,  37,  37,  37,  37,
+     37,  37,  37,  37,  37,  37,  37, 255,
+     37,  37,  37,  37, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     38,  38,  38,  38,  38,  38,  38,  38,
+     38,  38,  38,  38,  38,  38,  38,  38,
+     38,  38,  38,  38,  38,  38,  38,  38,
+     38,  38,  38, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     48,  48,  48,  48,  48,  48,  48,  48,
+     48,  48,  48,  48,  48,  48,  48,  48,
+     48,  48,  48,  48,  48,  48,  48,  48,
+     48,  48,  48,  48,  48,  48, 255,  48,
+     59,  59,  59,  59,  59,  59,  59,  59,
+     59,  59,  59,  59,  59,  59,  59,  59,
+     59,  59,  59,  59,  59,  59,  59,  59,
+     59,  59,  59,  59,  59,  59,  59,  59,
+     59,  59,  59,  59, 255, 255, 255, 255,
+     59,  59,  59,  59,  59,  59,  59,  59,
+     59,  59,  59,  59,  59,  59, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     39,  39,  39,  39,  39,  39,  39,  39,
+     49,  49,  49,  49,  49,  49,  49,  49,
+     49,  49,  49,  49,  49,  49,  49,  49,
+     49,  49,  49,  49,  49,  49,  49,  49,
+     49,  49,  49,  49,  49,  49,  49,  49,
+     49,  49,  49,  49,  49,  49,  49,  49,
+     49,  49,  49,  49,  49,  49,  49,  49,
+     50,  50,  50,  50,  50,  50,  50,  50,
+     50,  50,  50,  50,  50,  50,  50,  50,
+     50,  50,  50,  50,  50,  50,  50,  50,
+     50,  50,  50,  50,  50,  50, 255, 255,
+     50,  50,  50,  50,  50,  50,  50,  50,
+     50,  50, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     51,  51,  51,  51,  51,  51, 255, 255,
+     51, 255,  51,  51,  51,  51,  51,  51,
+     51,  51,  51,  51,  51,  51,  51,  51,
+     51,  51,  51,  51,  51,  51,  51,  51,
+     51,  51,  51,  51,  51,  51,  51,  51,
+     51,  51,  51,  51,  51,  51,  51,  51,
+     51,  51,  51,  51,  51,  51, 255,  51,
+     51, 255, 255, 255,  51, 255, 255,  51,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     63,  63,  63,  63,  63,  63,  63,  63,
+     63,  63,  63,  63,  63,  63,  63,  63,
+     63,  63,  63,  63,  63,  63,  63,  63,
+     63,  63, 255, 255, 255, 255, 255,  63,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     60,  60,  60,  60, 255,  60,  60, 255,
+    255, 255, 255, 255,  60,  60,  60,  60,
+     60,  60,  60,  60, 255,  60,  60,  60,
+    255,  60,  60,  60,  60,  60,  60,  60,
+     60,  60,  60,  60,  60,  60,  60,  60,
+     60,  60,  60,  60,  60,  60,  60,  60,
+     60,  60,  60,  60, 255, 255, 255, 255,
+     60,  60,  60, 255, 255, 255, 255,  60,
+     60,  60,  60,  60,  60,  60,  60,  60,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     60,  60,  60,  60,  60,  60,  60,  60,
+     60, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62,  62,  62,  62,  62,  62,
+     62,  62,  62, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     62,  62,  62,  62, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
+    255, 255,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,  40,
+     40,  40,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,  40,  40,  40,  40,  40,
+     40,  40,  40,   0,   0,  40,  40,  40,
+     40,  40,  40,  40,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,  40,  40,  40,  40,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 255,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 255,   0,   0,
+    255, 255,   0, 255, 255,   0,   0, 255,
+    255,   0,   0,   0,   0, 255,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 255,   0, 255,   0,   0,   0,
+      0,   0,   0,   0, 255,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 255,   0,
+      0,   0,   0, 255, 255,   0,   0,   0,
+      0,   0,   0,   0,   0, 255,   0,   0,
+      0,   0,   0,   0,   0, 255,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 255,   0,   0,   0,   0, 255,
+      0,   0,   0,   0,   0, 255,   0, 255,
+    255, 255,   0,   0,   0,   0,   0,   0,
+      0, 255,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 255, 255,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,   0, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255
+  }
+};
diff --git a/lib/unictype/scripts_byname.gperf b/lib/unictype/scripts_byname.gperf
new file mode 100644 (file)
index 0000000..056326c
--- /dev/null
@@ -0,0 +1,78 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Unicode scripts.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+struct named_script { const char *name; unsigned int index; };
+%struct-type
+%language=ANSI-C
+%define hash-function-name scripts_hash
+%define lookup-function-name uc_script_lookup
+%readonly-tables
+%global-table
+%define word-array-name script_names
+%%
+Common, 0
+Latin, 1
+Greek, 2
+Cyrillic, 3
+Armenian, 4
+Hebrew, 5
+Arabic, 6
+Syriac, 7
+Thaana, 8
+Devanagari, 9
+Bengali, 10
+Gurmukhi, 11
+Gujarati, 12
+Oriya, 13
+Tamil, 14
+Telugu, 15
+Kannada, 16
+Malayalam, 17
+Sinhala, 18
+Thai, 19
+Lao, 20
+Tibetan, 21
+Myanmar, 22
+Georgian, 23
+Hangul, 24
+Ethiopic, 25
+Cherokee, 26
+Canadian_Aboriginal, 27
+Ogham, 28
+Runic, 29
+Khmer, 30
+Mongolian, 31
+Hiragana, 32
+Katakana, 33
+Bopomofo, 34
+Han, 35
+Yi, 36
+Old_Italic, 37
+Gothic, 38
+Deseret, 39
+Inherited, 40
+Tagalog, 41
+Hanunoo, 42
+Buhid, 43
+Tagbanwa, 44
+Limbu, 45
+Tai_Le, 46
+Linear_B, 47
+Ugaritic, 48
+Shavian, 49
+Osmanya, 50
+Cypriot, 51
+Braille, 52
+Buginese, 53
+Coptic, 54
+New_Tai_Lue, 55
+Glagolitic, 56
+Tifinagh, 57
+Syloti_Nagri, 58
+Old_Persian, 59
+Kharoshthi, 60
+Balinese, 61
+Cuneiform, 62
+Phoenician, 63
+Phags_Pa, 64
+Nko, 65
diff --git a/lib/unictype/sy_c_ident.c b/lib/unictype/sy_c_ident.c
new file mode 100644 (file)
index 0000000..c6033c8
--- /dev/null
@@ -0,0 +1,31 @@
+/* Syntax properties of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "sy_c_ident.h"
+#define TABLE u_c_ident
+#include "identsyntaxmap.h"
+
+int
+uc_c_ident_category (ucs4_t uc)
+{
+  return identsyntax_lookup (uc);
+}
diff --git a/lib/unictype/sy_c_ident.h b/lib/unictype/sy_c_ident.h
new file mode 100644 (file)
index 0000000..6073e9d
--- /dev/null
@@ -0,0 +1,140 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Language syntax properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define identsyntax_header_0 12
+#define identsyntax_header_1 14
+#define identsyntax_header_2 7
+#define identsyntax_header_3 31
+#define identsyntax_header_4 127
+static const
+struct
+  {
+    int level1[14];
+    short level2[9 << 5];
+    unsigned short level3[39 * 16];
+  }
+u_c_ident =
+{
+  {
+        0,    32,    64,    96,   128,   160,   160,   160,
+      160,   192,   224,   160,   160,   256
+  },
+  {
+        0,   128,   256,   384,   512,   640,   768,   896,
+     1024,  1152,  1280,  1408,  1536,  1664,    -1,    -1,
+       -1,    -1,  1792,  1920,  2048,  2176,  2304,  2432,
+     2560,  2688,  2816,    -1,  2944,  3072,  3200,  3328,
+       -1,  3456,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,   256,  3584,  3712,  3840,
+     3968,    -1,  4096,  4224,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4352,  4480,  4608,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,  4736,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,  4864,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
+  },
+  {
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x5555, 0xaaa5,
+    0x0002, 0x0000, 0x0000, 0x2a80, 0x0002, 0x0000, 0x0000, 0xaa80,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaa8a, 0x22aa, 0xaa8a,
+    0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x000a,
+    0x0000, 0x0000, 0x0000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa8, 0x0000, 0x0228,
+    0xaaa0, 0xaaaa, 0xaaa0, 0xaaaa, 0xa800, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaa8a,
+    0x8aaa, 0x0880, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x8000, 0x8000, 0x888a, 0x0008, 0x0000, 0xaa00, 0xaaaa,
+    0x0002, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0002, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xaaa0, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x2800, 0xa828, 0x0000, 0x0000, 0x0000, 0x0a00, 0xa000, 0xaaa0,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0002, 0x0000,
+    0x0000, 0x0000, 0x8000, 0xaaa2, 0x0002, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0000, 0x2020,
+    0xaa82, 0xaaaa, 0x0000, 0x0000, 0x0000, 0xaa80, 0xaa80, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0002, 0x0000, 0x0000, 0xaa80,
+    0x0000, 0x0000, 0xaa80, 0xaaaa, 0x0000, 0xaaa0, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x800a,
+    0x0000, 0x8000, 0x0000, 0xa800, 0x02aa, 0xa008, 0x0000, 0xaaa0,
+    0x0202, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a0,
+    0x0000, 0xa000, 0xaa80, 0x0000, 0x0a00, 0x0000, 0xaaaa, 0xaaaa,
+    0x0202, 0x2800, 0x0028, 0x0000, 0x0000, 0x0008, 0x0a88, 0x0aa0,
+    0x2800, 0xa028, 0xaaaa, 0x20aa, 0x0a00, 0x0000, 0xaaa0, 0xaaaa,
+    0x028a, 0x2a80, 0x0028, 0x0000, 0x0000, 0x0008, 0x8208, 0x0aa0,
+    0x2a80, 0xa028, 0xaaaa, 0x8802, 0x0aaa, 0x0000, 0xa8aa, 0xaaaa,
+    0x0202, 0x2200, 0x0020, 0x0000, 0x0000, 0x0008, 0x0208, 0x02a0,
+    0x2000, 0xa020, 0xaaa8, 0xaaaa, 0x0aa8, 0x0000, 0xaaaa, 0xaaaa,
+    0x0202, 0x2800, 0x0028, 0x0000, 0x0000, 0x0008, 0x0a08, 0x02a0,
+    0x2a00, 0xa028, 0xaaaa, 0x20aa, 0x0aa0, 0x0000, 0xaaaa, 0xaaaa,
+    0x020a, 0x0a80, 0xa008, 0x0882, 0xa82a, 0x0a80, 0x2000, 0x0aa0,
+    0x0a80, 0xa008, 0xaaaa, 0xaaaa, 0x2aaa, 0x0000, 0xaaaa, 0xaaaa,
+    0x0202, 0x0800, 0x0008, 0x0000, 0x0000, 0x0008, 0x0200, 0x0aa0,
+    0x0800, 0xa008, 0xaaaa, 0xaaaa, 0x0aa0, 0x0000, 0xaaaa, 0xaaaa,
+    0x020a, 0x0800, 0x0008, 0x0000, 0x0000, 0x0008, 0x0200, 0x0aa0,
+    0x0800, 0xa008, 0xaaaa, 0x8aaa, 0x0aa0, 0x0000, 0xaaaa, 0xaaaa,
+    0x020a, 0x0800, 0x0008, 0x0000, 0x0000, 0x0008, 0x0000, 0x0aa0,
+    0x0a00, 0xa008, 0xaaaa, 0xaaaa, 0x0aa0, 0x0000, 0xaaaa, 0xaaaa,
+    0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa80,
+    0x0000, 0x0000, 0x0000, 0xaa00, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x2882, 0xa288, 0x00aa, 0x0002, 0x2202, 0x820a, 0x0000, 0xa020,
+    0x8800, 0xa000, 0x0000, 0xa0a0, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaa8, 0xaaaa, 0xaaaa, 0xaaa0, 0x0000, 0x0000, 0x2200, 0x0aa2,
+    0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0xaaa0, 0x0002, 0x0000,
+    0x0800, 0xaa00, 0x2000, 0x0002, 0x0000, 0xa000, 0x0002, 0xaaa2,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xa000, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0xaa00, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa0,
+    0x0000, 0x0000, 0xa000, 0xa000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xa000, 0xa000, 0x0000, 0x2222, 0x0000, 0x0000, 0x0000, 0xa000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x8800,
+    0x080a, 0xa800, 0x0a00, 0xaa00, 0x0000, 0xa800, 0x080a, 0xa800,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x2aaa,
+    0xaaa8, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x2aaa,
+    0x2a8a, 0x000a, 0xa200, 0xa000, 0x88aa, 0x0008, 0x0020, 0xaaa8,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xaa80, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x02aa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0002, 0xaaa0, 0xaaaa, 0xaaaa,
+    0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xaa00, 0xa82a, 0x0002, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xa82a,
+    0x02aa, 0x0000, 0x0000, 0x0000, 0x0000, 0xa800, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xaa00, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa
+  }
+};
diff --git a/lib/unictype/sy_c_whitespace.c b/lib/unictype/sy_c_whitespace.c
new file mode 100644 (file)
index 0000000..6d996a6
--- /dev/null
@@ -0,0 +1,27 @@
+/* Syntax properties of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+bool
+uc_is_c_whitespace (ucs4_t uc)
+{
+  return (uc == ' ' || (uc <= 0x000D && uc >= 0x0009));
+}
diff --git a/lib/unictype/sy_c_whitespace.h b/lib/unictype/sy_c_whitespace.h
new file mode 100644 (file)
index 0000000..1beab04
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Language syntax properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_c_whitespace =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00003E00, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/lib/unictype/sy_java_ident.c b/lib/unictype/sy_java_ident.c
new file mode 100644 (file)
index 0000000..b0770d6
--- /dev/null
@@ -0,0 +1,31 @@
+/* Syntax properties of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+#include "sy_java_ident.h"
+#define TABLE u_java_ident
+#include "identsyntaxmap.h"
+
+int
+uc_java_ident_category (ucs4_t uc)
+{
+  return identsyntax_lookup (uc);
+}
diff --git a/lib/unictype/sy_java_ident.h b/lib/unictype/sy_java_ident.h
new file mode 100644 (file)
index 0000000..c537ade
--- /dev/null
@@ -0,0 +1,323 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Language syntax properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define identsyntax_header_0 12
+#define identsyntax_header_1 225
+#define identsyntax_header_2 7
+#define identsyntax_header_3 31
+#define identsyntax_header_4 127
+static const
+struct
+  {
+    int level1[225];
+    short level2[16 << 5];
+    unsigned short level3[103 * 16];
+  }
+u_java_ident =
+{
+  {
+        0,    32,    64,    96,   128,   160,   160,   160,
+      160,   192,   224,   160,   160,   256,    -1,   288,
+      320,    -1,   352,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,   384,    -1,    -1,
+      160,   160,   160,   160,   160,   160,   160,   160,
+      160,   160,   416,    -1,    -1,    -1,    -1,   448,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      480
+  },
+  {
+        0,   128,   256,   256,   256,   384,   512,   640,
+      256,   768,   896,  1024,  1152,  1280,  1408,  1536,
+       -1,    -1,  1664,  1792,  1920,  2048,  2176,  2304,
+     2432,  2560,  2688,  2816,  2944,  3072,  3200,  3328,
+     3456,  3584,  3712,  3840,  3968,  4096,  4224,  4352,
+     4480,   256,   256,   256,  4608,  4736,  4864,  4992,
+     5120,  5248,  5376,  5504,  5632,    -1,  5760,    -1,
+       -1,    -1,   256,  5888,   256,  6016,  6144,  6272,
+     6400,  6528,  6656,  6784,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     6912,  7040,  7168,  7296,    -1,    -1,    -1,    -1,
+     7424,  7552,  7680,  7808,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,  7936,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,  8064,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,  8192,    -1,    -1,    -1,    -1,  8320,    -1,
+     8448,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,  8576,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,   256,   256,  8704,  8832,  8960,  9088,
+      256,   256,  9216,  9344,  9472,  9600,  9728,  9856,
+     9984, 10112, 10240,    -1,    -1,    -1, 10368, 10496,
+      256, 10624,    -1,    -1,    -1,    -1,    -1,    -1,
+    10752,    -1, 10880,    -1, 11008,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256, 11136,    -1,
+    11264,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1, 11392, 11520, 11648,    -1,    -1,    -1,
+    11776, 11904, 12032,   256,   256, 12160, 12288, 12416,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256, 12544,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256, 12672,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    12800,    -1, 12928, 13056,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
+  },
+  {
+    0xffff, 0xfaab, 0xffff, 0xaaff, 0xa8aa, 0xaaaa, 0x5555, 0xaaa5,
+    0x0002, 0x0000, 0x0000, 0x2a80, 0x0002, 0x0000, 0x0000, 0xea80,
+    0xffff, 0xffff, 0xffff, 0xffff, 0xa00a, 0xae8a, 0xa2aa, 0xaa8a,
+    0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0aa0, 0x0000, 0xaaa0, 0xaaaa, 0xa800, 0x8aaa, 0xaaaa, 0xaaaa,
+    0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555,
+    0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0xaaaa, 0xa00a,
+    0x8aaa, 0x0880, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+    0x9560, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xaa00, 0xaaaa, 0xaaaa, 0xaaaa, 0x0002, 0x0000,
+    0x0000, 0x0000, 0x8000, 0xaaa2, 0x0002, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xaaaa, 0x5556, 0x5555, 0x5555, 0x5555, 0x5555, 0x6555,
+    0x6596, 0xaaaa, 0x0000, 0x0000, 0x0000, 0xaa80, 0xaa80, 0xaaaa,
+    0xaaff, 0xaa2a, 0xa555, 0xaaaa, 0x0002, 0x0000, 0x0000, 0xaa80,
+    0x0000, 0x5540, 0x5555, 0x9555, 0x5555, 0x0aa5, 0x0001, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x5200, 0x6d55, 0x4155, 0x0559, 0x5555, 0x2805,
+    0xaaaa, 0xeaaa, 0x0004, 0x0000, 0x0000, 0x0000, 0x5555, 0x5555,
+    0x5555, 0x0295, 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x5000, 0x5555, 0xaaa1, 0xaaaa,
+    0x5555, 0x0005, 0x0000, 0x0000, 0x0000, 0x5540, 0xa055, 0xaa8a,
+    0x0056, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51a0,
+    0x5555, 0xa555, 0xa954, 0x0000, 0x5a50, 0x5555, 0xaaaa, 0x002a,
+    0x0256, 0x2800, 0x0028, 0x0000, 0x0000, 0x0008, 0x0a88, 0x51a0,
+    0x6955, 0x8569, 0x6aaa, 0x20aa, 0x5a50, 0x5555, 0xaa00, 0xaaaa,
+    0x0256, 0x2a80, 0x0028, 0x0000, 0x0000, 0x0008, 0x8208, 0x59a0,
+    0x6a95, 0xa569, 0xaaaa, 0x8802, 0x5aaa, 0x5555, 0xa805, 0xaaaa,
+    0x0256, 0x2000, 0x0020, 0x0000, 0x0000, 0x0008, 0x0208, 0x51a0,
+    0x6555, 0xa565, 0xaaa8, 0xaaaa, 0x5a50, 0x5555, 0xaaa2, 0xaaaa,
+    0x0256, 0x2800, 0x0028, 0x0000, 0x0000, 0x0008, 0x0208, 0x51a0,
+    0x6a55, 0xa569, 0x5aaa, 0x20aa, 0x5aa0, 0x5555, 0xaaa2, 0xaaaa,
+    0x021a, 0x0a80, 0xa008, 0x0882, 0xa82a, 0x0a80, 0x0000, 0x5aa0,
+    0x5a95, 0xa559, 0x6aaa, 0xaaaa, 0x5aaa, 0x5555, 0xaaaa, 0xaaa2,
+    0x0256, 0x0800, 0x0008, 0x0000, 0x0000, 0x0008, 0x0200, 0x5aa0,
+    0x5955, 0xa559, 0x96aa, 0xaaaa, 0x5aa0, 0x5555, 0xaaaa, 0xaaaa,
+    0x025a, 0x0800, 0x0008, 0x0000, 0x0000, 0x0008, 0x0200, 0x51a0,
+    0x5955, 0xa559, 0x96aa, 0x8aaa, 0x5a50, 0x5555, 0xaaaa, 0xaaaa,
+    0x025a, 0x0800, 0x0008, 0x0000, 0x0000, 0x0008, 0x0000, 0x5aa0,
+    0x5a55, 0xa559, 0x6aaa, 0xaaaa, 0x5aa0, 0x5555, 0xaaaa, 0xaaaa,
+    0x025a, 0x0000, 0x8000, 0x000a, 0x0000, 0x0000, 0x0020, 0xa200,
+    0x8000, 0x6a9a, 0x9955, 0x5555, 0xaaaa, 0xaaaa, 0xaa5a, 0xaaaa,
+    0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5504, 0x2a95,
+    0x4000, 0x9555, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x2882, 0xa288, 0x00aa, 0x0002, 0x2202, 0x020a, 0x5504, 0xa165,
+    0x8800, 0xa555, 0x5555, 0xa0a5, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaa8, 0xaaaa, 0xaaaa, 0xaaa5, 0x5555, 0xaaa5, 0x66aa, 0x5aa6,
+    0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0xaa80, 0x5556, 0x5555,
+    0x5955, 0xaa00, 0x5555, 0x5556, 0x5555, 0x5555, 0x5555, 0xa955,
+    0x9aaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x5582, 0x5a95, 0xaaa5,
+    0x5555, 0xaaa5, 0x5000, 0xaaa5, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xa000, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa880,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x2aa0, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xaa80, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa0,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xa008, 0x8000, 0xa008, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xa008, 0x0000, 0x0000, 0x0000, 0x0000, 0xa008, 0x8000,
+    0xa008, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0xa008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x6a80, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa800, 0xaaaa,
+    0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2800, 0x8000, 0xaaaa,
+    0x0002, 0x0000, 0x0000, 0xaa80, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a80, 0xaaa8, 0xaaaa,
+    0x0000, 0x0800, 0xa950, 0xaaaa, 0x0000, 0x0000, 0xa950, 0xaaaa,
+    0x0000, 0x0000, 0xaa50, 0xaaaa, 0x0000, 0x0800, 0xaa58, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f00, 0x5555,
+    0x5555, 0x5555, 0x2a55, 0xa42a, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xa56a, 0x5555, 0xaaa5, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa4, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0xa800, 0x5555, 0xaa55, 0x5555, 0xaa55,
+    0x5aaa, 0x5555, 0x0000, 0x0000, 0x0000, 0xa000, 0xa800, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa0, 0x5555, 0x5555,
+    0x0001, 0xaaa5, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x4000, 0xaa55, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0155, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5500, 0x5555,
+    0x0155, 0xaa00, 0x5555, 0xaaa5, 0xaaaa, 0x556a, 0xaa55, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x5555, 0xaa95, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x5aaa,
+    0x0000, 0x0000, 0x0000, 0xaa00, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa0,
+    0x0000, 0x0000, 0xa000, 0xa000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xa000, 0xa000, 0x0000, 0x2222, 0x0000, 0x0000, 0x0000, 0xa000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x8800,
+    0x080a, 0xa800, 0x0a00, 0xaa00, 0x0000, 0xa800, 0x080a, 0xa800,
+    0xaaaa, 0xffea, 0xaaaa, 0xaaaa, 0xaaaa, 0xbffa, 0xaaaa, 0x2aaa,
+    0xaaa8, 0xaaaa, 0xa8aa, 0xaaaa, 0xaaff, 0xfffa, 0xaaa2, 0x2aaa,
+    0xaaaa, 0xaaaa, 0xa800, 0xaaaa, 0x0000, 0x0000, 0xa000, 0xaaaa,
+    0xaaaa, 0xaaaa, 0x5555, 0xa955, 0x56a6, 0x5555, 0xaaaa, 0xaaaa,
+    0x2a8a, 0x000a, 0xa200, 0xa002, 0x88aa, 0x2008, 0x0000, 0x00a0,
+    0x02aa, 0x8aa0, 0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xa800, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0xa800, 0x00aa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa800, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x2aaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x8000, 0xaaaa, 0x8000, 0x8000, 0x8000, 0x8000,
+    0x8000, 0x8000, 0x8000, 0x8000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x02aa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0002, 0x5550, 0xa002, 0xa800,
+    0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x8000, 0x0296, 0x0002, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+    0x02aa, 0x0000, 0x0000, 0x0000, 0x0000, 0xa800, 0x0002, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x8000, 0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa00,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0xa800, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0x2aaa, 0xaa80, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x1010, 0x0040, 0x0000, 0x0000, 0x5540, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa00, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xaa00, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa80, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0xaaa0, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x8000, 0xaaaa, 0x002a, 0x12aa, 0x0000, 0x0008, 0x8000, 0x8800,
+    0x0820, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa0, 0xaaaa,
+    0xaaaa, 0xaaaa, 0x002a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000,
+    0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0000, 0xa800,
+    0x5555, 0x5555, 0xaaaa, 0xaaaa, 0xaa55, 0xaaaa, 0xa82a, 0xaaaa,
+    0xaaaa, 0x02aa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaa2, 0x0800, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe800,
+    0xa8aa, 0xaaaa, 0x5555, 0xaaa5, 0x0002, 0x0000, 0x0000, 0x2a80,
+    0x0002, 0x0000, 0x0000, 0xaa80, 0x0aaa, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+    0x000a, 0x000a, 0x000a, 0xa80a, 0x82a0, 0xaaaa, 0xaaaa, 0xaafe,
+    0x0000, 0x0200, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x2080,
+    0x0000, 0xa000, 0x0000, 0xa000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa80,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa800, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x8000, 0xaaaa, 0xaaaa, 0x0000, 0x0000,
+    0x0000, 0xaa80, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0xa000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xaa00, 0x0000, 0xa002, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0xa000, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xa000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x28a8,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0xa000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x9654, 0x55aa, 0x0200, 0x0002, 0x0000, 0x0000, 0xaa00, 0x6a95,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xaa80, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x56aa, 0x56a5, 0xffd5, 0x557f,
+    0x5695, 0xaa55, 0xaaaa, 0xaaaa, 0xaaaa, 0xa55a, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xa95a, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0800, 0x828a, 0x0802, 0x0000, 0x0220,
+    0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x2000, 0x0280, 0x0800, 0x0800, 0x0000, 0x0000, 0x0000, 0x8020,
+    0x8800, 0x000a, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x0000, 0x0000, 0x0000,
+    0x0008, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0080,
+    0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+    0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+    0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
+    0x0080, 0x5a00, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x8000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaae, 0xaaaa, 0xaaaa, 0xaaaa, 0xffff, 0xffff, 0xffff, 0xffff,
+    0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+    0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555,
+    0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555,
+    0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555,
+    0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0xaaaa, 0xaaaa
+  }
+};
diff --git a/lib/unictype/sy_java_whitespace.c b/lib/unictype/sy_java_whitespace.c
new file mode 100644 (file)
index 0000000..4b56f3e
--- /dev/null
@@ -0,0 +1,27 @@
+/* Syntax properties of Unicode characters.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unictype.h"
+
+bool
+uc_is_java_whitespace (ucs4_t uc)
+{
+  return (uc == ' ' || (uc <= 0x000D && uc >= 0x0009 && uc != 0x000B));
+}
diff --git a/lib/unictype/sy_java_whitespace.h b/lib/unictype/sy_java_whitespace.h
new file mode 100644 (file)
index 0000000..e2ae52b
--- /dev/null
@@ -0,0 +1,156 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Language syntax properties of Unicode characters.  */
+/* Generated automatically by gen-ctype.c for Unicode 5.0.0.  */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+  {
+    int header[1];
+    int level1[1];
+    short level2[1 << 7];
+    /*unsigned*/ int level3[1 << 4];
+  }
+u_java_whitespace =
+{
+  { 1 },
+  {     2 * sizeof (int) / sizeof (short) +     0 },
+  {
+        2 +   128 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
+  },
+  {
+    0x00003600, 0x00000001, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
+  }
+};
diff --git a/modules/unictype/base b/modules/unictype/base
new file mode 100644 (file)
index 0000000..e287698
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Base layer for Unicode classification and properties.
+
+Files:
+lib/unictype.h
+
+Depends-on:
+unitypes
+stdbool
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/bidicategory-all b/modules/unictype/bidicategory-all
new file mode 100644 (file)
index 0000000..9e7aaa7
--- /dev/null
@@ -0,0 +1,25 @@
+Description:
+Complete API for Unicode character bidi categories.
+
+Files:
+
+Depends-on:
+unictype/base
+unictype/bidicategory-byname
+unictype/bidicategory-name
+unictype/bidicategory-of
+unictype/bidicategory-test
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/bidicategory-byname b/modules/unictype/bidicategory-byname
new file mode 100644 (file)
index 0000000..8185a50
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Find a Unicode character bidi category, given its name.
+
+Files:
+lib/unictype/bidi_byname.c
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/bidi_byname.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/bidicategory-name b/modules/unictype/bidicategory-name
new file mode 100644 (file)
index 0000000..49c151a
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Name of Unicode character bidi category.
+
+Files:
+lib/unictype/bidi_name.c
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/bidi_name.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/bidicategory-of b/modules/unictype/bidicategory-of
new file mode 100644 (file)
index 0000000..77bf278
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Determine bidi category of a Unicode character.
+
+Files:
+lib/unictype/bidi_of.c
+lib/unictype/bidi_of.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/bidi_of.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/bidicategory-test b/modules/unictype/bidicategory-test
new file mode 100644 (file)
index 0000000..6f5a2fd
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character belongs to a given bidi category.
+
+Files:
+lib/unictype/bidi_test.c
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/bidi_test.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/block-all b/modules/unictype/block-all
new file mode 100644 (file)
index 0000000..92de856
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Complete API for blocks of Unicode characters.
+
+Files:
+
+Depends-on:
+unictype/block-of
+unictype/block-test
+unictype/block-list
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/block-list b/modules/unictype/block-list
new file mode 100644 (file)
index 0000000..095f71e
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+List of Unicode character blocks.
+
+Files:
+lib/unictype/blocks.c
+lib/unictype/blocks.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/blocks.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/block-of b/modules/unictype/block-of
new file mode 100644 (file)
index 0000000..d5bd193
--- /dev/null
@@ -0,0 +1,22 @@
+Description:
+Determine block of a Unicode character.
+
+Files:
+
+Depends-on:
+unictype/base
+unictype/block-list
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/block-test b/modules/unictype/block-test
new file mode 100644 (file)
index 0000000..14f0478
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Test whether a Unicode character belongs to a given Unicode block.
+
+Files:
+lib/unictype/block_test.c
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/block_test.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-C b/modules/unictype/category-C
new file mode 100644 (file)
index 0000000..d998683
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category C.
+
+Files:
+lib/unictype/categ_C.c
+lib/unictype/categ_C.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_C.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Cc b/modules/unictype/category-Cc
new file mode 100644 (file)
index 0000000..a97ee1c
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Cc.
+
+Files:
+lib/unictype/categ_Cc.c
+lib/unictype/categ_Cc.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Cc.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Cf b/modules/unictype/category-Cf
new file mode 100644 (file)
index 0000000..b003964
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Cf.
+
+Files:
+lib/unictype/categ_Cf.c
+lib/unictype/categ_Cf.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Cf.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Cn b/modules/unictype/category-Cn
new file mode 100644 (file)
index 0000000..93a65b3
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Cn.
+
+Files:
+lib/unictype/categ_Cn.c
+lib/unictype/categ_Cn.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Cn.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Co b/modules/unictype/category-Co
new file mode 100644 (file)
index 0000000..2157696
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Co.
+
+Files:
+lib/unictype/categ_Co.c
+lib/unictype/categ_Co.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Co.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Cs b/modules/unictype/category-Cs
new file mode 100644 (file)
index 0000000..cc3d32e
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Cs.
+
+Files:
+lib/unictype/categ_Cs.c
+lib/unictype/categ_Cs.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Cs.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-L b/modules/unictype/category-L
new file mode 100644 (file)
index 0000000..56a5b57
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category L.
+
+Files:
+lib/unictype/categ_L.c
+lib/unictype/categ_L.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_L.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Ll b/modules/unictype/category-Ll
new file mode 100644 (file)
index 0000000..4b9e763
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Ll.
+
+Files:
+lib/unictype/categ_Ll.c
+lib/unictype/categ_Ll.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Ll.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Lm b/modules/unictype/category-Lm
new file mode 100644 (file)
index 0000000..8d3625f
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Lm.
+
+Files:
+lib/unictype/categ_Lm.c
+lib/unictype/categ_Lm.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Lm.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Lo b/modules/unictype/category-Lo
new file mode 100644 (file)
index 0000000..8417a10
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Lo.
+
+Files:
+lib/unictype/categ_Lo.c
+lib/unictype/categ_Lo.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Lo.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Lt b/modules/unictype/category-Lt
new file mode 100644 (file)
index 0000000..4bbdee9
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Lt.
+
+Files:
+lib/unictype/categ_Lt.c
+lib/unictype/categ_Lt.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Lt.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Lu b/modules/unictype/category-Lu
new file mode 100644 (file)
index 0000000..ffd78da
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Lu.
+
+Files:
+lib/unictype/categ_Lu.c
+lib/unictype/categ_Lu.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Lu.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-M b/modules/unictype/category-M
new file mode 100644 (file)
index 0000000..73ecb14
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category M.
+
+Files:
+lib/unictype/categ_M.c
+lib/unictype/categ_M.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_M.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Mc b/modules/unictype/category-Mc
new file mode 100644 (file)
index 0000000..a917309
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Mc.
+
+Files:
+lib/unictype/categ_Mc.c
+lib/unictype/categ_Mc.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Mc.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Me b/modules/unictype/category-Me
new file mode 100644 (file)
index 0000000..f3bdb9a
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Me.
+
+Files:
+lib/unictype/categ_Me.c
+lib/unictype/categ_Me.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Me.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Mn b/modules/unictype/category-Mn
new file mode 100644 (file)
index 0000000..567e2f1
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Mn.
+
+Files:
+lib/unictype/categ_Mn.c
+lib/unictype/categ_Mn.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Mn.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-N b/modules/unictype/category-N
new file mode 100644 (file)
index 0000000..48e33e5
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category N.
+
+Files:
+lib/unictype/categ_N.c
+lib/unictype/categ_N.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_N.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Nd b/modules/unictype/category-Nd
new file mode 100644 (file)
index 0000000..5efaa21
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Nd.
+
+Files:
+lib/unictype/categ_Nd.c
+lib/unictype/categ_Nd.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Nd.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Nl b/modules/unictype/category-Nl
new file mode 100644 (file)
index 0000000..e9dd8a2
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Nl.
+
+Files:
+lib/unictype/categ_Nl.c
+lib/unictype/categ_Nl.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Nl.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-No b/modules/unictype/category-No
new file mode 100644 (file)
index 0000000..a59a89d
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category No.
+
+Files:
+lib/unictype/categ_No.c
+lib/unictype/categ_No.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_No.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-P b/modules/unictype/category-P
new file mode 100644 (file)
index 0000000..608dd79
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category P.
+
+Files:
+lib/unictype/categ_P.c
+lib/unictype/categ_P.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_P.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Pc b/modules/unictype/category-Pc
new file mode 100644 (file)
index 0000000..7656bcc
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Pc.
+
+Files:
+lib/unictype/categ_Pc.c
+lib/unictype/categ_Pc.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Pc.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Pd b/modules/unictype/category-Pd
new file mode 100644 (file)
index 0000000..b179d8a
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Pd.
+
+Files:
+lib/unictype/categ_Pd.c
+lib/unictype/categ_Pd.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Pd.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Pe b/modules/unictype/category-Pe
new file mode 100644 (file)
index 0000000..ca3521a
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Pe.
+
+Files:
+lib/unictype/categ_Pe.c
+lib/unictype/categ_Pe.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Pe.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Pf b/modules/unictype/category-Pf
new file mode 100644 (file)
index 0000000..d744994
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Pf.
+
+Files:
+lib/unictype/categ_Pf.c
+lib/unictype/categ_Pf.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Pf.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Pi b/modules/unictype/category-Pi
new file mode 100644 (file)
index 0000000..b52882a
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Pi.
+
+Files:
+lib/unictype/categ_Pi.c
+lib/unictype/categ_Pi.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Pi.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Po b/modules/unictype/category-Po
new file mode 100644 (file)
index 0000000..1e0ef65
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Po.
+
+Files:
+lib/unictype/categ_Po.c
+lib/unictype/categ_Po.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Po.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Ps b/modules/unictype/category-Ps
new file mode 100644 (file)
index 0000000..45957c4
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Ps.
+
+Files:
+lib/unictype/categ_Ps.c
+lib/unictype/categ_Ps.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Ps.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-S b/modules/unictype/category-S
new file mode 100644 (file)
index 0000000..86f589d
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category S.
+
+Files:
+lib/unictype/categ_S.c
+lib/unictype/categ_S.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_S.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Sc b/modules/unictype/category-Sc
new file mode 100644 (file)
index 0000000..c1f5b33
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Sc.
+
+Files:
+lib/unictype/categ_Sc.c
+lib/unictype/categ_Sc.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Sc.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Sk b/modules/unictype/category-Sk
new file mode 100644 (file)
index 0000000..3b9476e
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Sk.
+
+Files:
+lib/unictype/categ_Sk.c
+lib/unictype/categ_Sk.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Sk.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Sm b/modules/unictype/category-Sm
new file mode 100644 (file)
index 0000000..1c2c4b4
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Sm.
+
+Files:
+lib/unictype/categ_Sm.c
+lib/unictype/categ_Sm.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Sm.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-So b/modules/unictype/category-So
new file mode 100644 (file)
index 0000000..fcc65f3
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category So.
+
+Files:
+lib/unictype/categ_So.c
+lib/unictype/categ_So.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_So.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Z b/modules/unictype/category-Z
new file mode 100644 (file)
index 0000000..13475d5
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Z.
+
+Files:
+lib/unictype/categ_Z.c
+lib/unictype/categ_Z.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Z.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Zl b/modules/unictype/category-Zl
new file mode 100644 (file)
index 0000000..b50bf27
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Zl.
+
+Files:
+lib/unictype/categ_Zl.c
+lib/unictype/categ_Zl.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Zl.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Zp b/modules/unictype/category-Zp
new file mode 100644 (file)
index 0000000..9bf8f75
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Zp.
+
+Files:
+lib/unictype/categ_Zp.c
+lib/unictype/categ_Zp.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Zp.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-Zs b/modules/unictype/category-Zs
new file mode 100644 (file)
index 0000000..19fa622
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Test whether a Unicode character is of general category Zs.
+
+Files:
+lib/unictype/categ_Zs.c
+lib/unictype/categ_Zs.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_Zs.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-all b/modules/unictype/category-all
new file mode 100644 (file)
index 0000000..c1b1448
--- /dev/null
@@ -0,0 +1,65 @@
+Description:
+Complete API for Unicode character categories.
+
+Files:
+
+Depends-on:
+unictype/category-C
+unictype/category-Cc
+unictype/category-Cf
+unictype/category-Cn
+unictype/category-Co
+unictype/category-Cs
+unictype/category-L
+unictype/category-Ll
+unictype/category-Lm
+unictype/category-Lo
+unictype/category-Lt
+unictype/category-Lu
+unictype/category-M
+unictype/category-Mc
+unictype/category-Me
+unictype/category-Mn
+unictype/category-N
+unictype/category-Nd
+unictype/category-Nl
+unictype/category-No
+unictype/category-P
+unictype/category-Pc
+unictype/category-Pd
+unictype/category-Pe
+unictype/category-Pf
+unictype/category-Pi
+unictype/category-Po
+unictype/category-Ps
+unictype/category-S
+unictype/category-Sc
+unictype/category-Sk
+unictype/category-Sm
+unictype/category-So
+unictype/category-Z
+unictype/category-Zl
+unictype/category-Zp
+unictype/category-Zs
+unictype/category-and
+unictype/category-and-not
+unictype/category-byname
+unictype/category-name
+unictype/category-of
+unictype/category-or
+unictype/category-test
+unictype/category-test-withtable
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-and b/modules/unictype/category-and
new file mode 100644 (file)
index 0000000..5d0a9b9
--- /dev/null
@@ -0,0 +1,25 @@
+Description:
+Intersection of categories of Unicode characters.
+
+Files:
+lib/unictype/categ_and.c
+
+Depends-on:
+unictype/base
+unictype/category-none
+unictype/category-test-withtable
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_and.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-and-not b/modules/unictype/category-and-not
new file mode 100644 (file)
index 0000000..58925cf
--- /dev/null
@@ -0,0 +1,25 @@
+Description:
+Set-difference of categories of Unicode characters.
+
+Files:
+lib/unictype/categ_and_not.c
+
+Depends-on:
+unictype/base
+unictype/category-none
+unictype/category-test-withtable
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_and_not.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-byname b/modules/unictype/category-byname
new file mode 100644 (file)
index 0000000..bbc5679
--- /dev/null
@@ -0,0 +1,61 @@
+Description:
+Find a Unicode character category, given its name.
+
+Files:
+lib/unictype/categ_byname.c
+
+Depends-on:
+unictype/base
+unictype/category-C
+unictype/category-Cc
+unictype/category-Cf
+unictype/category-Cn
+unictype/category-Co
+unictype/category-Cs
+unictype/category-L
+unictype/category-Ll
+unictype/category-Lm
+unictype/category-Lo
+unictype/category-Lt
+unictype/category-Lu
+unictype/category-M
+unictype/category-Mc
+unictype/category-Me
+unictype/category-Mn
+unictype/category-N
+unictype/category-Nd
+unictype/category-Nl
+unictype/category-No
+unictype/category-P
+unictype/category-Pc
+unictype/category-Pd
+unictype/category-Pe
+unictype/category-Pf
+unictype/category-Pi
+unictype/category-Po
+unictype/category-Ps
+unictype/category-S
+unictype/category-Sc
+unictype/category-Sk
+unictype/category-Sm
+unictype/category-So
+unictype/category-Z
+unictype/category-Zl
+unictype/category-Zp
+unictype/category-Zs
+unictype/category-none
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_byname.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-name b/modules/unictype/category-name
new file mode 100644 (file)
index 0000000..ef0b1d6
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Name of Unicode character category.
+
+Files:
+lib/unictype/categ_name.c
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_name.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-none b/modules/unictype/category-none
new file mode 100644 (file)
index 0000000..0c76d79
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Empty category of Unicode characters.
+
+Files:
+lib/unictype/categ_none.c
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_none.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-of b/modules/unictype/category-of
new file mode 100644 (file)
index 0000000..d58947a
--- /dev/null
@@ -0,0 +1,25 @@
+Description:
+Determine category of a Unicode character.
+
+Files:
+lib/unictype/categ_of.c
+lib/unictype/categ_of.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_of.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-or b/modules/unictype/category-or
new file mode 100644 (file)
index 0000000..072ab8a
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Union of categories of Unicode characters.
+
+Files:
+lib/unictype/categ_or.c
+
+Depends-on:
+unictype/base
+unictype/category-test-withtable
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_or.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-test b/modules/unictype/category-test
new file mode 100644 (file)
index 0000000..78b5b49
--- /dev/null
@@ -0,0 +1,25 @@
+Description:
+Test whether a Unicode character belongs to a given category.
+
+Files:
+lib/unictype/categ_test.c
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/categ_test.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/category-test-withtable b/modules/unictype/category-test-withtable
new file mode 100644 (file)
index 0000000..73b7a33
--- /dev/null
@@ -0,0 +1,22 @@
+Description:
+Test whether a Unicode character belongs to a given bitmask of categories.
+
+Files:
+
+Depends-on:
+unictype/base
+unictype/category-of
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/combining-class b/modules/unictype/combining-class
new file mode 100644 (file)
index 0000000..1707902
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Determine combining class of a Unicode character.
+
+Files:
+lib/unictype/combining.c
+lib/unictype/combining.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/combining.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-alnum b/modules/unictype/ctype-alnum
new file mode 100644 (file)
index 0000000..fd7f52b
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> isalnum() and <wctype.h> iswalnum().
+
+Files:
+lib/unictype/ctype_alnum.c
+lib/unictype/ctype_alnum.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_alnum.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-alpha b/modules/unictype/ctype-alpha
new file mode 100644 (file)
index 0000000..e0f474d
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> isalpha() and <wctype.h> iswalpha().
+
+Files:
+lib/unictype/ctype_alpha.c
+lib/unictype/ctype_alpha.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_alpha.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-blank b/modules/unictype/ctype-blank
new file mode 100644 (file)
index 0000000..72845ad
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> isblank() and <wctype.h> iswblank().
+
+Files:
+lib/unictype/ctype_blank.c
+lib/unictype/ctype_blank.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_blank.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-cntrl b/modules/unictype/ctype-cntrl
new file mode 100644 (file)
index 0000000..7de3e05
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> iscntrl() and <wctype.h> iswcntrl().
+
+Files:
+lib/unictype/ctype_cntrl.c
+lib/unictype/ctype_cntrl.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_cntrl.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-digit b/modules/unictype/ctype-digit
new file mode 100644 (file)
index 0000000..5181492
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> isdigit() and <wctype.h> iswdigit().
+
+Files:
+lib/unictype/ctype_digit.c
+lib/unictype/ctype_digit.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_digit.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-graph b/modules/unictype/ctype-graph
new file mode 100644 (file)
index 0000000..895970b
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> isgraph() and <wctype.h> iswgraph().
+
+Files:
+lib/unictype/ctype_graph.c
+lib/unictype/ctype_graph.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_graph.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-lower b/modules/unictype/ctype-lower
new file mode 100644 (file)
index 0000000..126feb8
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> islower() and <wctype.h> iswlower().
+
+Files:
+lib/unictype/ctype_lower.c
+lib/unictype/ctype_lower.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_lower.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-print b/modules/unictype/ctype-print
new file mode 100644 (file)
index 0000000..b4e6f4f
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> isprint() and <wctype.h> iswprint().
+
+Files:
+lib/unictype/ctype_print.c
+lib/unictype/ctype_print.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_print.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-punct b/modules/unictype/ctype-punct
new file mode 100644 (file)
index 0000000..f4216a1
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> ispunct() and <wctype.h> iswpunct().
+
+Files:
+lib/unictype/ctype_punct.c
+lib/unictype/ctype_punct.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_punct.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-space b/modules/unictype/ctype-space
new file mode 100644 (file)
index 0000000..cc1ca30
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> isspace() and <wctype.h> iswspace().
+
+Files:
+lib/unictype/ctype_space.c
+lib/unictype/ctype_space.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_space.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-upper b/modules/unictype/ctype-upper
new file mode 100644 (file)
index 0000000..37d4767
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> isupper() and <wctype.h> iswupper().
+
+Files:
+lib/unictype/ctype_upper.c
+lib/unictype/ctype_upper.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_upper.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/ctype-xdigit b/modules/unictype/ctype-xdigit
new file mode 100644 (file)
index 0000000..483e2b8
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Generalization of <ctype.h> isxdigit() and <wctype.h> iswxdigit().
+
+Files:
+lib/unictype/ctype_xdigit.c
+lib/unictype/ctype_xdigit.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/ctype_xdigit.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/decimal-digit b/modules/unictype/decimal-digit
new file mode 100644 (file)
index 0000000..7802f43
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Value of a decimal digit Unicode character.
+
+Files:
+lib/unictype/decdigit.c
+lib/unictype/decdigit.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/decdigit.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/digit b/modules/unictype/digit
new file mode 100644 (file)
index 0000000..7c89e5b
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Value of a digit Unicode character.
+
+Files:
+lib/unictype/digit.c
+lib/unictype/digit.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/digit.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/mirror b/modules/unictype/mirror
new file mode 100644 (file)
index 0000000..99d2d61
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Mirrored Unicode characters.
+
+Files:
+lib/unictype/mirror.c
+lib/unictype/mirror.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/mirror.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/numeric b/modules/unictype/numeric
new file mode 100644 (file)
index 0000000..1a65f07
--- /dev/null
@@ -0,0 +1,24 @@
+Description:
+Value of a numeric Unicode character.
+
+Files:
+lib/unictype/numeric.c
+lib/unictype/numeric.h
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/numeric.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-all b/modules/unictype/property-all
new file mode 100644 (file)
index 0000000..01b01a7
--- /dev/null
@@ -0,0 +1,101 @@
+Description:
+Complete API for Unicode character properties.
+
+Files:
+
+Depends-on:
+unictype/property-alphabetic
+unictype/property-ascii-hex-digit
+unictype/property-bidi-arabic-digit
+unictype/property-bidi-arabic-right-to-left
+unictype/property-bidi-block-separator
+unictype/property-bidi-boundary-neutral
+unictype/property-bidi-common-separator
+unictype/property-bidi-control
+unictype/property-bidi-embedding-or-override
+unictype/property-bidi-eur-num-separator
+unictype/property-bidi-eur-num-terminator
+unictype/property-bidi-european-digit
+unictype/property-bidi-hebrew-right-to-left
+unictype/property-bidi-left-to-right
+unictype/property-bidi-non-spacing-mark
+unictype/property-bidi-other-neutral
+unictype/property-bidi-pdf
+unictype/property-bidi-segment-separator
+unictype/property-bidi-whitespace
+unictype/property-byname
+unictype/property-combining
+unictype/property-composite
+unictype/property-currency-symbol
+unictype/property-dash
+unictype/property-decimal-digit
+unictype/property-default-ignorable-code-point
+unictype/property-deprecated
+unictype/property-diacritic
+unictype/property-extender
+unictype/property-format-control
+unictype/property-grapheme-base
+unictype/property-grapheme-extend
+unictype/property-grapheme-link
+unictype/property-hex-digit
+unictype/property-hyphen
+unictype/property-id-continue
+unictype/property-id-start
+unictype/property-ideographic
+unictype/property-ids-binary-operator
+unictype/property-ids-trinary-operator
+unictype/property-ignorable-control
+unictype/property-iso-control
+unictype/property-join-control
+unictype/property-left-of-pair
+unictype/property-line-separator
+unictype/property-logical-order-exception
+unictype/property-lowercase
+unictype/property-math
+unictype/property-non-break
+unictype/property-not-a-character
+unictype/property-numeric
+unictype/property-other-alphabetic
+unictype/property-other-default-ignorable-code-point
+unictype/property-other-grapheme-extend
+unictype/property-other-id-continue
+unictype/property-other-id-start
+unictype/property-other-lowercase
+unictype/property-other-math
+unictype/property-other-uppercase
+unictype/property-paired-punctuation
+unictype/property-paragraph-separator
+unictype/property-pattern-syntax
+unictype/property-pattern-white-space
+unictype/property-private-use
+unictype/property-punctuation
+unictype/property-quotation-mark
+unictype/property-radical
+unictype/property-sentence-terminal
+unictype/property-soft-dotted
+unictype/property-space
+unictype/property-terminal-punctuation
+unictype/property-test
+unictype/property-titlecase
+unictype/property-unassigned-code-value
+unictype/property-unified-ideograph
+unictype/property-uppercase
+unictype/property-variation-selector
+unictype/property-white-space
+unictype/property-xid-continue
+unictype/property-xid-start
+unictype/property-zero-width
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-alphabetic b/modules/unictype/property-alphabetic
new file mode 100644 (file)
index 0000000..a98b6e4
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "alphabetic".
+
+Files:
+lib/unictype/pr_alphabetic.c
+lib/unictype/pr_alphabetic.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_alphabetic.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-ascii-hex-digit b/modules/unictype/property-ascii-hex-digit
new file mode 100644 (file)
index 0000000..1f2ae82
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "ascii hex digit".
+
+Files:
+lib/unictype/pr_ascii_hex_digit.c
+lib/unictype/pr_ascii_hex_digit.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_ascii_hex_digit.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-arabic-digit b/modules/unictype/property-bidi-arabic-digit
new file mode 100644 (file)
index 0000000..ad60f3e
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi arabic digit".
+
+Files:
+lib/unictype/pr_bidi_arabic_digit.c
+lib/unictype/pr_bidi_arabic_digit.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_arabic_digit.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-arabic-right-to-left b/modules/unictype/property-bidi-arabic-right-to-left
new file mode 100644 (file)
index 0000000..2a2a426
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi arabic right to left".
+
+Files:
+lib/unictype/pr_bidi_arabic_right_to_left.c
+lib/unictype/pr_bidi_arabic_right_to_left.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_arabic_right_to_left.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-block-separator b/modules/unictype/property-bidi-block-separator
new file mode 100644 (file)
index 0000000..f3b7579
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi block separator".
+
+Files:
+lib/unictype/pr_bidi_block_separator.c
+lib/unictype/pr_bidi_block_separator.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_block_separator.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-boundary-neutral b/modules/unictype/property-bidi-boundary-neutral
new file mode 100644 (file)
index 0000000..8267ad4
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi boundary neutral".
+
+Files:
+lib/unictype/pr_bidi_boundary_neutral.c
+lib/unictype/pr_bidi_boundary_neutral.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_boundary_neutral.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-common-separator b/modules/unictype/property-bidi-common-separator
new file mode 100644 (file)
index 0000000..332ed70
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi common separator".
+
+Files:
+lib/unictype/pr_bidi_common_separator.c
+lib/unictype/pr_bidi_common_separator.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_common_separator.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-control b/modules/unictype/property-bidi-control
new file mode 100644 (file)
index 0000000..8c01433
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi control".
+
+Files:
+lib/unictype/pr_bidi_control.c
+lib/unictype/pr_bidi_control.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_control.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-embedding-or-override b/modules/unictype/property-bidi-embedding-or-override
new file mode 100644 (file)
index 0000000..ad9d606
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi embedding or override".
+
+Files:
+lib/unictype/pr_bidi_embedding_or_override.c
+lib/unictype/pr_bidi_embedding_or_override.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_embedding_or_override.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-eur-num-separator b/modules/unictype/property-bidi-eur-num-separator
new file mode 100644 (file)
index 0000000..6b04ba6
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi eur num separator".
+
+Files:
+lib/unictype/pr_bidi_eur_num_separator.c
+lib/unictype/pr_bidi_eur_num_separator.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_eur_num_separator.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-eur-num-terminator b/modules/unictype/property-bidi-eur-num-terminator
new file mode 100644 (file)
index 0000000..34b75de
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi eur num terminator".
+
+Files:
+lib/unictype/pr_bidi_eur_num_terminator.c
+lib/unictype/pr_bidi_eur_num_terminator.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_eur_num_terminator.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-european-digit b/modules/unictype/property-bidi-european-digit
new file mode 100644 (file)
index 0000000..fedd475
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi european digit".
+
+Files:
+lib/unictype/pr_bidi_european_digit.c
+lib/unictype/pr_bidi_european_digit.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_european_digit.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-hebrew-right-to-left b/modules/unictype/property-bidi-hebrew-right-to-left
new file mode 100644 (file)
index 0000000..12c7939
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi hebrew right to left".
+
+Files:
+lib/unictype/pr_bidi_hebrew_right_to_left.c
+lib/unictype/pr_bidi_hebrew_right_to_left.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_hebrew_right_to_left.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-left-to-right b/modules/unictype/property-bidi-left-to-right
new file mode 100644 (file)
index 0000000..7db4923
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi left to right".
+
+Files:
+lib/unictype/pr_bidi_left_to_right.c
+lib/unictype/pr_bidi_left_to_right.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_left_to_right.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-non-spacing-mark b/modules/unictype/property-bidi-non-spacing-mark
new file mode 100644 (file)
index 0000000..9734713
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi non spacing mark".
+
+Files:
+lib/unictype/pr_bidi_non_spacing_mark.c
+lib/unictype/pr_bidi_non_spacing_mark.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_non_spacing_mark.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-other-neutral b/modules/unictype/property-bidi-other-neutral
new file mode 100644 (file)
index 0000000..c50c778
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi other neutral".
+
+Files:
+lib/unictype/pr_bidi_other_neutral.c
+lib/unictype/pr_bidi_other_neutral.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_other_neutral.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-pdf b/modules/unictype/property-bidi-pdf
new file mode 100644 (file)
index 0000000..7a54494
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi pdf".
+
+Files:
+lib/unictype/pr_bidi_pdf.c
+lib/unictype/pr_bidi_pdf.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_pdf.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-segment-separator b/modules/unictype/property-bidi-segment-separator
new file mode 100644 (file)
index 0000000..4ebd582
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi segment separator".
+
+Files:
+lib/unictype/pr_bidi_segment_separator.c
+lib/unictype/pr_bidi_segment_separator.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_segment_separator.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-bidi-whitespace b/modules/unictype/property-bidi-whitespace
new file mode 100644 (file)
index 0000000..adeebc7
--- /dev/null
@@ -0,0 +1,27 @@
+Description:
+Test whether a Unicode character is "bidi whitespace".
+
+Files:
+lib/unictype/pr_bidi_whitespace.c
+lib/unictype/pr_bidi_whitespace.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/bidicategory-of
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_bidi_whitespace.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-byname b/modules/unictype/property-byname
new file mode 100644 (file)
index 0000000..fe5d600
--- /dev/null
@@ -0,0 +1,112 @@
+Description:
+Find a Unicode character property, given its name.
+
+Files:
+lib/unictype/pr_byname.c
+lib/unictype/pr_byname.gperf
+
+Depends-on:
+unictype/base
+unictype/property-alphabetic
+unictype/property-ascii-hex-digit
+unictype/property-bidi-arabic-digit
+unictype/property-bidi-arabic-right-to-left
+unictype/property-bidi-block-separator
+unictype/property-bidi-boundary-neutral
+unictype/property-bidi-common-separator
+unictype/property-bidi-control
+unictype/property-bidi-embedding-or-override
+unictype/property-bidi-eur-num-separator
+unictype/property-bidi-eur-num-terminator
+unictype/property-bidi-european-digit
+unictype/property-bidi-hebrew-right-to-left
+unictype/property-bidi-left-to-right
+unictype/property-bidi-non-spacing-mark
+unictype/property-bidi-other-neutral
+unictype/property-bidi-pdf
+unictype/property-bidi-segment-separator
+unictype/property-bidi-whitespace
+unictype/property-combining
+unictype/property-composite
+unictype/property-currency-symbol
+unictype/property-dash
+unictype/property-decimal-digit
+unictype/property-default-ignorable-code-point
+unictype/property-deprecated
+unictype/property-diacritic
+unictype/property-extender
+unictype/property-format-control
+unictype/property-grapheme-base
+unictype/property-grapheme-extend
+unictype/property-grapheme-link
+unictype/property-hex-digit
+unictype/property-hyphen
+unictype/property-id-continue
+unictype/property-id-start
+unictype/property-ideographic
+unictype/property-ids-binary-operator
+unictype/property-ids-trinary-operator
+unictype/property-ignorable-control
+unictype/property-iso-control
+unictype/property-join-control
+unictype/property-left-of-pair
+unictype/property-line-separator
+unictype/property-logical-order-exception
+unictype/property-lowercase
+unictype/property-math
+unictype/property-non-break
+unictype/property-not-a-character
+unictype/property-numeric
+unictype/property-other-alphabetic
+unictype/property-other-default-ignorable-code-point
+unictype/property-other-grapheme-extend
+unictype/property-other-id-continue
+unictype/property-other-id-start
+unictype/property-other-lowercase
+unictype/property-other-math
+unictype/property-other-uppercase
+unictype/property-paired-punctuation
+unictype/property-paragraph-separator
+unictype/property-pattern-syntax
+unictype/property-pattern-white-space
+unictype/property-private-use
+unictype/property-punctuation
+unictype/property-quotation-mark
+unictype/property-radical
+unictype/property-sentence-terminal
+unictype/property-soft-dotted
+unictype/property-space
+unictype/property-terminal-punctuation
+unictype/property-titlecase
+unictype/property-unassigned-code-value
+unictype/property-unified-ideograph
+unictype/property-uppercase
+unictype/property-variation-selector
+unictype/property-white-space
+unictype/property-xid-continue
+unictype/property-xid-start
+unictype/property-zero-width
+gperf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_byname.c
+
+unictype/pr_byname.h: unictype/pr_byname.gperf
+       $(GPERF) -m 10 $(srcdir)/unictype/pr_byname.gperf > $@-t
+       mv $@-t $@
+BUILT_SOURCES        += unictype/pr_byname.h
+MOSTLYCLEANFILES     += unictype/pr_byname.h-t
+MAINTAINERCLEANFILES += unictype/pr_byname.h
+EXTRA_DIST           += unictype/pr_byname.h
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-combining b/modules/unictype/property-combining
new file mode 100644 (file)
index 0000000..be2e924
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "combining".
+
+Files:
+lib/unictype/pr_combining.c
+lib/unictype/pr_combining.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_combining.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-composite b/modules/unictype/property-composite
new file mode 100644 (file)
index 0000000..a31b295
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "composite".
+
+Files:
+lib/unictype/pr_composite.c
+lib/unictype/pr_composite.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_composite.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-currency-symbol b/modules/unictype/property-currency-symbol
new file mode 100644 (file)
index 0000000..ddefdbb
--- /dev/null
@@ -0,0 +1,28 @@
+Description:
+Test whether a Unicode character is "currency symbol".
+
+Files:
+lib/unictype/pr_currency_symbol.c
+lib/unictype/pr_currency_symbol.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/category-test
+unictype/category-Sc
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_currency_symbol.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-dash b/modules/unictype/property-dash
new file mode 100644 (file)
index 0000000..73be13f
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "dash".
+
+Files:
+lib/unictype/pr_dash.c
+lib/unictype/pr_dash.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_dash.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-decimal-digit b/modules/unictype/property-decimal-digit
new file mode 100644 (file)
index 0000000..3d627a5
--- /dev/null
@@ -0,0 +1,28 @@
+Description:
+Test whether a Unicode character is "decimal digit".
+
+Files:
+lib/unictype/pr_decimal_digit.c
+lib/unictype/pr_decimal_digit.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/category-test
+unictype/category-Nd
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_decimal_digit.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-default-ignorable-code-point b/modules/unictype/property-default-ignorable-code-point
new file mode 100644 (file)
index 0000000..5cb4d98
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "default ignorable code point".
+
+Files:
+lib/unictype/pr_default_ignorable_code_point.c
+lib/unictype/pr_default_ignorable_code_point.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_default_ignorable_code_point.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-deprecated b/modules/unictype/property-deprecated
new file mode 100644 (file)
index 0000000..09f81d3
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "deprecated".
+
+Files:
+lib/unictype/pr_deprecated.c
+lib/unictype/pr_deprecated.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_deprecated.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-diacritic b/modules/unictype/property-diacritic
new file mode 100644 (file)
index 0000000..3c7228f
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "diacritic".
+
+Files:
+lib/unictype/pr_diacritic.c
+lib/unictype/pr_diacritic.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_diacritic.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-extender b/modules/unictype/property-extender
new file mode 100644 (file)
index 0000000..90db261
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "extender".
+
+Files:
+lib/unictype/pr_extender.c
+lib/unictype/pr_extender.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_extender.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-format-control b/modules/unictype/property-format-control
new file mode 100644 (file)
index 0000000..399d5ee
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "format control".
+
+Files:
+lib/unictype/pr_format_control.c
+lib/unictype/pr_format_control.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_format_control.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-grapheme-base b/modules/unictype/property-grapheme-base
new file mode 100644 (file)
index 0000000..29397a8
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "grapheme base".
+
+Files:
+lib/unictype/pr_grapheme_base.c
+lib/unictype/pr_grapheme_base.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_grapheme_base.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-grapheme-extend b/modules/unictype/property-grapheme-extend
new file mode 100644 (file)
index 0000000..7f50ee5
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "grapheme extend".
+
+Files:
+lib/unictype/pr_grapheme_extend.c
+lib/unictype/pr_grapheme_extend.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_grapheme_extend.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-grapheme-link b/modules/unictype/property-grapheme-link
new file mode 100644 (file)
index 0000000..1074327
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "grapheme link".
+
+Files:
+lib/unictype/pr_grapheme_link.c
+lib/unictype/pr_grapheme_link.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_grapheme_link.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-hex-digit b/modules/unictype/property-hex-digit
new file mode 100644 (file)
index 0000000..3f256d0
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "hex digit".
+
+Files:
+lib/unictype/pr_hex_digit.c
+lib/unictype/pr_hex_digit.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_hex_digit.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-hyphen b/modules/unictype/property-hyphen
new file mode 100644 (file)
index 0000000..6244d51
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "hyphen".
+
+Files:
+lib/unictype/pr_hyphen.c
+lib/unictype/pr_hyphen.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_hyphen.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-id-continue b/modules/unictype/property-id-continue
new file mode 100644 (file)
index 0000000..3880d3b
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "id continue".
+
+Files:
+lib/unictype/pr_id_continue.c
+lib/unictype/pr_id_continue.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_id_continue.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-id-start b/modules/unictype/property-id-start
new file mode 100644 (file)
index 0000000..5bae11d
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "id start".
+
+Files:
+lib/unictype/pr_id_start.c
+lib/unictype/pr_id_start.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_id_start.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-ideographic b/modules/unictype/property-ideographic
new file mode 100644 (file)
index 0000000..75dca33
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "ideographic".
+
+Files:
+lib/unictype/pr_ideographic.c
+lib/unictype/pr_ideographic.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_ideographic.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-ids-binary-operator b/modules/unictype/property-ids-binary-operator
new file mode 100644 (file)
index 0000000..f12bc93
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "ids binary operator".
+
+Files:
+lib/unictype/pr_ids_binary_operator.c
+lib/unictype/pr_ids_binary_operator.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_ids_binary_operator.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-ids-trinary-operator b/modules/unictype/property-ids-trinary-operator
new file mode 100644 (file)
index 0000000..0ac5d32
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "ids trinary operator".
+
+Files:
+lib/unictype/pr_ids_trinary_operator.c
+lib/unictype/pr_ids_trinary_operator.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_ids_trinary_operator.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-ignorable-control b/modules/unictype/property-ignorable-control
new file mode 100644 (file)
index 0000000..2291269
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "ignorable control".
+
+Files:
+lib/unictype/pr_ignorable_control.c
+lib/unictype/pr_ignorable_control.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_ignorable_control.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-iso-control b/modules/unictype/property-iso-control
new file mode 100644 (file)
index 0000000..e0fd895
--- /dev/null
@@ -0,0 +1,28 @@
+Description:
+Test whether a Unicode character is "iso control".
+
+Files:
+lib/unictype/pr_iso_control.c
+lib/unictype/pr_iso_control.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/category-test
+unictype/category-Cc
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_iso_control.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-join-control b/modules/unictype/property-join-control
new file mode 100644 (file)
index 0000000..7b24cbc
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "join control".
+
+Files:
+lib/unictype/pr_join_control.c
+lib/unictype/pr_join_control.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_join_control.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-left-of-pair b/modules/unictype/property-left-of-pair
new file mode 100644 (file)
index 0000000..ae47cea
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "left of pair".
+
+Files:
+lib/unictype/pr_left_of_pair.c
+lib/unictype/pr_left_of_pair.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_left_of_pair.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-line-separator b/modules/unictype/property-line-separator
new file mode 100644 (file)
index 0000000..8a83257
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "line separator".
+
+Files:
+lib/unictype/pr_line_separator.c
+lib/unictype/pr_line_separator.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_line_separator.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-logical-order-exception b/modules/unictype/property-logical-order-exception
new file mode 100644 (file)
index 0000000..fdbf56b
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "logical order exception".
+
+Files:
+lib/unictype/pr_logical_order_exception.c
+lib/unictype/pr_logical_order_exception.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_logical_order_exception.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-lowercase b/modules/unictype/property-lowercase
new file mode 100644 (file)
index 0000000..f100343
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "lowercase".
+
+Files:
+lib/unictype/pr_lowercase.c
+lib/unictype/pr_lowercase.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_lowercase.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-math b/modules/unictype/property-math
new file mode 100644 (file)
index 0000000..119cdd9
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "math".
+
+Files:
+lib/unictype/pr_math.c
+lib/unictype/pr_math.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_math.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-non-break b/modules/unictype/property-non-break
new file mode 100644 (file)
index 0000000..6ff6476
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "non break".
+
+Files:
+lib/unictype/pr_non_break.c
+lib/unictype/pr_non_break.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_non_break.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-not-a-character b/modules/unictype/property-not-a-character
new file mode 100644 (file)
index 0000000..2c0465f
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "not a character".
+
+Files:
+lib/unictype/pr_not_a_character.c
+lib/unictype/pr_not_a_character.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_not_a_character.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-numeric b/modules/unictype/property-numeric
new file mode 100644 (file)
index 0000000..69bce98
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "numeric".
+
+Files:
+lib/unictype/pr_numeric.c
+lib/unictype/pr_numeric.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_numeric.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-other-alphabetic b/modules/unictype/property-other-alphabetic
new file mode 100644 (file)
index 0000000..8b18c0c
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "other alphabetic".
+
+Files:
+lib/unictype/pr_other_alphabetic.c
+lib/unictype/pr_other_alphabetic.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_other_alphabetic.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-other-default-ignorable-code-point b/modules/unictype/property-other-default-ignorable-code-point
new file mode 100644 (file)
index 0000000..ec3a7f3
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "other default ignorable code point".
+
+Files:
+lib/unictype/pr_other_default_ignorable_code_point.c
+lib/unictype/pr_other_default_ignorable_code_point.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_other_default_ignorable_code_point.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-other-grapheme-extend b/modules/unictype/property-other-grapheme-extend
new file mode 100644 (file)
index 0000000..150c89f
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "other grapheme extend".
+
+Files:
+lib/unictype/pr_other_grapheme_extend.c
+lib/unictype/pr_other_grapheme_extend.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_other_grapheme_extend.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-other-id-continue b/modules/unictype/property-other-id-continue
new file mode 100644 (file)
index 0000000..942e82d
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "other id continue".
+
+Files:
+lib/unictype/pr_other_id_continue.c
+lib/unictype/pr_other_id_continue.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_other_id_continue.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-other-id-start b/modules/unictype/property-other-id-start
new file mode 100644 (file)
index 0000000..1335167
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "other id start".
+
+Files:
+lib/unictype/pr_other_id_start.c
+lib/unictype/pr_other_id_start.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_other_id_start.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-other-lowercase b/modules/unictype/property-other-lowercase
new file mode 100644 (file)
index 0000000..05e2374
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "other lowercase".
+
+Files:
+lib/unictype/pr_other_lowercase.c
+lib/unictype/pr_other_lowercase.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_other_lowercase.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-other-math b/modules/unictype/property-other-math
new file mode 100644 (file)
index 0000000..e20025d
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "other math".
+
+Files:
+lib/unictype/pr_other_math.c
+lib/unictype/pr_other_math.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_other_math.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-other-uppercase b/modules/unictype/property-other-uppercase
new file mode 100644 (file)
index 0000000..689891c
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "other uppercase".
+
+Files:
+lib/unictype/pr_other_uppercase.c
+lib/unictype/pr_other_uppercase.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_other_uppercase.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-paired-punctuation b/modules/unictype/property-paired-punctuation
new file mode 100644 (file)
index 0000000..898c99d
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "paired punctuation".
+
+Files:
+lib/unictype/pr_paired_punctuation.c
+lib/unictype/pr_paired_punctuation.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_paired_punctuation.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-paragraph-separator b/modules/unictype/property-paragraph-separator
new file mode 100644 (file)
index 0000000..72d0471
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "paragraph separator".
+
+Files:
+lib/unictype/pr_paragraph_separator.c
+lib/unictype/pr_paragraph_separator.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_paragraph_separator.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-pattern-syntax b/modules/unictype/property-pattern-syntax
new file mode 100644 (file)
index 0000000..d739eab
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "pattern syntax".
+
+Files:
+lib/unictype/pr_pattern_syntax.c
+lib/unictype/pr_pattern_syntax.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_pattern_syntax.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-pattern-white-space b/modules/unictype/property-pattern-white-space
new file mode 100644 (file)
index 0000000..4ea34bc
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "pattern white space".
+
+Files:
+lib/unictype/pr_pattern_white_space.c
+lib/unictype/pr_pattern_white_space.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_pattern_white_space.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-private-use b/modules/unictype/property-private-use
new file mode 100644 (file)
index 0000000..9ca92c2
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "private use".
+
+Files:
+lib/unictype/pr_private_use.c
+lib/unictype/pr_private_use.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_private_use.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-punctuation b/modules/unictype/property-punctuation
new file mode 100644 (file)
index 0000000..c4404ee
--- /dev/null
@@ -0,0 +1,28 @@
+Description:
+Test whether a Unicode character is "punctuation".
+
+Files:
+lib/unictype/pr_punctuation.c
+lib/unictype/pr_punctuation.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/category-test
+unictype/category-P
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_punctuation.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-quotation-mark b/modules/unictype/property-quotation-mark
new file mode 100644 (file)
index 0000000..e2ded77
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "quotation mark".
+
+Files:
+lib/unictype/pr_quotation_mark.c
+lib/unictype/pr_quotation_mark.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_quotation_mark.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-radical b/modules/unictype/property-radical
new file mode 100644 (file)
index 0000000..c7e48dc
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "radical".
+
+Files:
+lib/unictype/pr_radical.c
+lib/unictype/pr_radical.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_radical.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-sentence-terminal b/modules/unictype/property-sentence-terminal
new file mode 100644 (file)
index 0000000..12106c1
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "sentence terminal".
+
+Files:
+lib/unictype/pr_sentence_terminal.c
+lib/unictype/pr_sentence_terminal.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_sentence_terminal.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-soft-dotted b/modules/unictype/property-soft-dotted
new file mode 100644 (file)
index 0000000..cd08545
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "soft dotted".
+
+Files:
+lib/unictype/pr_soft_dotted.c
+lib/unictype/pr_soft_dotted.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_soft_dotted.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-space b/modules/unictype/property-space
new file mode 100644 (file)
index 0000000..d8ecf08
--- /dev/null
@@ -0,0 +1,28 @@
+Description:
+Test whether a Unicode character is "space".
+
+Files:
+lib/unictype/pr_space.c
+lib/unictype/pr_space.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/category-test
+unictype/category-Zs
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_space.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-terminal-punctuation b/modules/unictype/property-terminal-punctuation
new file mode 100644 (file)
index 0000000..e05c925
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "terminal punctuation".
+
+Files:
+lib/unictype/pr_terminal_punctuation.c
+lib/unictype/pr_terminal_punctuation.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_terminal_punctuation.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-test b/modules/unictype/property-test
new file mode 100644 (file)
index 0000000..385c082
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Test whether a Unicode character has a given property.
+
+Files:
+lib/unictype/pr_test.c
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_test.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-titlecase b/modules/unictype/property-titlecase
new file mode 100644 (file)
index 0000000..a0138d3
--- /dev/null
@@ -0,0 +1,28 @@
+Description:
+Test whether a Unicode character is "titlecase".
+
+Files:
+lib/unictype/pr_titlecase.c
+lib/unictype/pr_titlecase.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+unictype/category-test
+unictype/category-Lt
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_titlecase.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-unassigned-code-value b/modules/unictype/property-unassigned-code-value
new file mode 100644 (file)
index 0000000..638e4b6
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "unassigned code value".
+
+Files:
+lib/unictype/pr_unassigned_code_value.c
+lib/unictype/pr_unassigned_code_value.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_unassigned_code_value.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-unified-ideograph b/modules/unictype/property-unified-ideograph
new file mode 100644 (file)
index 0000000..c76b196
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "unified ideograph".
+
+Files:
+lib/unictype/pr_unified_ideograph.c
+lib/unictype/pr_unified_ideograph.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_unified_ideograph.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-uppercase b/modules/unictype/property-uppercase
new file mode 100644 (file)
index 0000000..3cfecc4
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "uppercase".
+
+Files:
+lib/unictype/pr_uppercase.c
+lib/unictype/pr_uppercase.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_uppercase.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-variation-selector b/modules/unictype/property-variation-selector
new file mode 100644 (file)
index 0000000..069648d
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "variation selector".
+
+Files:
+lib/unictype/pr_variation_selector.c
+lib/unictype/pr_variation_selector.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_variation_selector.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-white-space b/modules/unictype/property-white-space
new file mode 100644 (file)
index 0000000..f831704
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "white space".
+
+Files:
+lib/unictype/pr_white_space.c
+lib/unictype/pr_white_space.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_white_space.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-xid-continue b/modules/unictype/property-xid-continue
new file mode 100644 (file)
index 0000000..eed2f1c
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "xid continue".
+
+Files:
+lib/unictype/pr_xid_continue.c
+lib/unictype/pr_xid_continue.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_xid_continue.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-xid-start b/modules/unictype/property-xid-start
new file mode 100644 (file)
index 0000000..d048a1d
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "xid start".
+
+Files:
+lib/unictype/pr_xid_start.c
+lib/unictype/pr_xid_start.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_xid_start.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/property-zero-width b/modules/unictype/property-zero-width
new file mode 100644 (file)
index 0000000..e1d2025
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character is "zero width".
+
+Files:
+lib/unictype/pr_zero_width.c
+lib/unictype/pr_zero_width.h
+lib/unictype/bitmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/pr_zero_width.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/scripts b/modules/unictype/scripts
new file mode 100644 (file)
index 0000000..54e93e9
--- /dev/null
@@ -0,0 +1,34 @@
+Description:
+Scripts of Unicode characters.
+
+Files:
+lib/unictype/scripts.c
+lib/unictype/scripts.h
+lib/unictype/scripts_byname.gperf
+
+Depends-on:
+unictype/base
+gperf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/scripts.c
+
+unictype/scripts_byname.h: unictype/scripts_byname.gperf
+       $(GPERF) -m 10 $(srcdir)/unictype/scripts_byname.gperf > $@-t
+       mv $@-t $@
+BUILT_SOURCES        += unictype/scripts_byname.h
+MOSTLYCLEANFILES     += unictype/scripts_byname.h-t
+MAINTAINERCLEANFILES += unictype/scripts_byname.h
+EXTRA_DIST           += unictype/scripts_byname.h
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/scripts-all b/modules/unictype/scripts-all
new file mode 100644 (file)
index 0000000..f209d62
--- /dev/null
@@ -0,0 +1,21 @@
+Description:
+Complete API for scripts of Unicode characters.
+
+Files:
+
+Depends-on:
+unictype/scripts
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/syntax-c-ident b/modules/unictype/syntax-c-ident
new file mode 100644 (file)
index 0000000..2c60d9f
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character can occur in identifiers in the C language.
+
+Files:
+lib/unictype/sy_c_ident.c
+lib/unictype/sy_c_ident.h
+lib/unictype/identsyntaxmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/sy_c_ident.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/syntax-c-whitespace b/modules/unictype/syntax-c-whitespace
new file mode 100644 (file)
index 0000000..8c5be57
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Test whether a Unicode character is whitespace in the C language syntax.
+
+Files:
+lib/unictype/sy_c_whitespace.c
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/sy_c_whitespace.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/syntax-java-ident b/modules/unictype/syntax-java-ident
new file mode 100644 (file)
index 0000000..226dd7f
--- /dev/null
@@ -0,0 +1,26 @@
+Description:
+Test whether a Unicode character can occur in identifiers in the Java language.
+
+Files:
+lib/unictype/sy_java_ident.c
+lib/unictype/sy_java_ident.h
+lib/unictype/identsyntaxmap.h
+
+Depends-on:
+unictype/base
+inline
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/sy_java_ident.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unictype/syntax-java-whitespace b/modules/unictype/syntax-java-whitespace
new file mode 100644 (file)
index 0000000..85b0c5b
--- /dev/null
@@ -0,0 +1,23 @@
+Description:
+Test whether a Unicode character is whitespace in the Java language syntax.
+
+Files:
+lib/unictype/sy_java_whitespace.c
+
+Depends-on:
+unictype/base
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unictype/sy_java_whitespace.c
+
+Include:
+"unictype.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+