summaryrefslogtreecommitdiff
path: root/lib/unictype.in.h
Commit message (Collapse)AuthorAgeFilesLines
* Put LGPLv2+ notices in source files where appropriate.Bruno Haible2021-06-041-7/+7
| | | | | * lib/**.{h,c,gperf}: Use LGPLv2+ notice whenever the module description says so.
* maint: run 'make update-copyright'Paul Eggert2020-12-311-1/+1
|
* maint: Run 'make update-copyright'Paul Eggert2019-12-311-1/+1
|
* maint: Run 'make update-copyright'Paul Eggert2019-01-011-1/+1
|
* maint: Run 'make update-copyright'Paul Eggert2018-01-011-1/+1
|
* libunistring: update to Unicode 9.0.0Daiki Ueno2017-11-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/gen-uni-tables.c (fill_properties): Recognize Sentence_Terminal and Prepended_Concatenation_Mark. (is_property_default_ignorable_code_point): Exclude U+08E2. (fill_arabicshaping): Allow missing whitespace when parsing; recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON". (output_blocks): Increase the element size of the level1 table to accommodate more blocks. (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters; Update each class according to the standard. (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and E_Base_GAZ characters. (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and E_Base_GAZ characters. * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH) (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New enum value. * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum value. * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with LBP_ZWJ, LBP_EB, and LBP_EM. * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New enum value. * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16. * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable declaration. * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable. (uniwbrk_table): Implement WB14. * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string): Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG. * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on uc-is-grapheme-break. * modules/unigbrk/uc-grapheme-breaks: New module. * modules/unigbrk/uc-grapheme-breaks-tests: New module. * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New enum value. (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break. * lib/unigbrk/u-grapheme-breaks.h: New file. * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using u-grapheme-breaks.h instead of uc_is_grapheme_break. * lib/unigbrk/uc-grapheme-breaks.c: New file. * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev 29. * tests/unigbrk/test-uc-gbrk-prop.c (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, and GBP_EBG. * tests/unigbrk/test-uc-grapheme-breaks.c: New test. * tests/unigbrk/test-uc-is-grapheme-break.c (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, and GBP_EBG. (main): Skip unsupported rules involving 3 or more characters, namely GB10, GB12, and GB13. * lib/uniwidth/width.c (nonspacing_table_data): Update. * all generated files under lib/uni* and tests/uni*: Regenerate. * all the dependant modules: Bump version.
* all: prefer https: URLsPaul Eggert2017-09-131-1/+1
|
* version-etc: new yearPaul Eggert2017-01-011-1/+1
| | | | | | | | | | * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
* version-etc: new yearPaul Eggert2016-01-011-1/+1
| | | | | | | | | | * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
* libunistring: update to Unicode 7.0.0Daiki Ueno2015-01-151-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and Manichaean names. * lib/unictype/joininggroup_name.h: Likewise. * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW) (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values. * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW) (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values. (fill_arabicshaping, joining_group_as_c_identifier): Support those enum values. (is_property_alphabetic): Accept newly added characters to cuneiform numeric signs. (is_property_default_ignorable_code_point): Reject U+0605. (FIELDLEN): Increase from 120 to 160. * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605, U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD, U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D, U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173, U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF, U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C, U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0, U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0, U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4, U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and U+1E8D0..U+1E8D6. (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248. * tests/uniwidth/test-uc_width2.sh: Same updates as in lib/uniwidth/width.c. * all generated files under lib/uni* and tests/uni*: Regenerate.
* libunistring: update to Unicode 6.3.0Daiki Ueno2015-01-151-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values. * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c. Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b. * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size. * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a. Update WB5, WB9, WB10, WB13a, and WB13b. * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL. * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI) (UC_BIDI_PDI): New enumeration values. (bidi_category_byname): Support those enum values. (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a dedicated property assigned. (is_property_case_ignorable): Check 0x0027. (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values. (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp) (output_wbp): Support those enum values. * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI) (UC_BIDI_PDI): New enumeration values. * lib/unictype/bidi_byname.gperf: Add those property names. * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C, U+180E, U+1A1B, and U+2066..U+2069. * tests/uniwidth/test-uc_width2.sh: Same updates as in lib/uniwidth/width.c. * all generated files under lib/uni* and tests/uni*: Regenerate.
* libunistring: update to Unicode 6.1.0Daiki Ueno2015-01-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/gen-uni-tables.c (output_joining_group): Switch to 3-level table to accommodate joining groups defined with higher codepoint value. Since there are only 88 groups defined in Unicode 7.0.0, use 7-bit packed format for level3 entries. (get_lbp): Update for Unicode 6.1.0. * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use 3-level table. * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh joining group name. * lib/unictype/joininggroup_name.h: Likewise. * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value. (unilbrk_table): Adjust table size. * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for LBP_HL. * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604, U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F, U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B, U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB, U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92. Remove U+302E..U+302F. * tests/uniwidth/test-uc_width2.sh: Same updates as in lib/uniwidth/width.c. * all generated files under lib/uni* and tests/uni*: Regenerate. * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
* version-etc: new yearPaul Eggert2014-12-311-1/+1
| | | | | | * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date. * all files: Run 'make update-copyright'.
* maint: update copyrightEric Blake2014-01-011-1/+1
| | | | | | I ran 'make update-copyright'. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: update all copyright year number rangesEric Blake2013-01-011-1/+1
| | | | | | Run "make update-copyright". Compare to commit 1602f0a from last year. Signed-off-by: Eric Blake <eblake@redhat.com>
* Enable common subexpression optimization in GCC.Bruno Haible2012-03-251-136/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New macros. * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with GCC attribute 'const'. (uc_locale_language): Declare with GCC attribute 'pure'. * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare with GCC attribute 'const'. * lib/unictype.in.h (uc_is_general_category_withtable, uc_combining_class, uc_combining_class_name, uc_combining_class_long_name, uc_bidi_class_name, uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class, uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category, uc_decimal_value, uc_digit_value, uc_numeric_value, uc_joining_type_name, uc_joining_type_long_name, uc_joining_type, uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script, uc_block, uc_is_c_whitespace, uc_is_java_whitespace, uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha, uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print, uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank): Declare with GCC attribute 'const'. (uc_general_category_name, uc_general_category_long_name, uc_general_category_byname, uc_general_category, uc_is_general_category, uc_combining_class_byname, uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname, uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block): Declare with GCC attribute 'pure'. * lib/unigbrk.in.h (uc_graphemeclusterbreak_property, uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next, u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev, u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare with GCC attribute 'pure'. * lib/uninorm.in.h (uc_composition): Declare with GCC attribute 'const'. (uninorm_decomposing_form): Declare with GCC attribute 'pure'. * lib/unistr.in.h (): Declare with GCC attribute 'const'. (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen, u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr, u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen, u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen, u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp, u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp, u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr, u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn, u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk, u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith, u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with GCC attribute 'pure'. * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute 'const'. * lib/uniwidth.in.h (uc_width): Simplify declaration. (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth, u32_strwidth): Declare with GCC attribute 'pure'.
* maint: update all copyright year number rangesJim Meyering2012-01-011-1/+1
| | | | Run "make update-copyright".
* unictype/joiningtype-byname: Recognize long names as well.Bruno Haible2011-03-261-1/+2
| | | | | | | | | | | | | | | * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be a long name. * lib/unictype/joiningtype_byname.c: Include <string.h>, unictype/joiningtype_byname.h. (uc_joiningtype_class_byname): Use uc_joining_type_lookup. * lib/unictype/joiningtype_byname.gperf: New file. * modules/unictype/joiningtype-byname (Files): Add lib/unictype/joiningtype_byname.gperf. (Depends-on): Add gperf. (Makefile.am): Add rule for generating unictype/joiningtype_byname.h. * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of long names.
* New module 'unictype/joiningtype-longname'.Bruno Haible2011-03-261-0/+4
| | | | | | | | * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration. * lib/unictype/joiningtype_longname.c: New file. * modules/unictype/joiningtype-longname: New file. * modules/unictype/joiningtype-all (Depends-on): Add unictype/joiningtype-longname.
* unictype/bidiclass-byname: Recognize long names as well.Bruno Haible2011-03-261-1/+2
| | | | | | | | | | | | | | | * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long name. * lib/unictype/bidi_byname.c: Include <string.h>, unictype/bidi_byname.h. (uc_bidi_class_byname): Use uc_bidi_class_lookup. * lib/unictype/bidi_byname.gperf: New file. * modules/unictype/bidiclass-byname (Files): Add lib/unictype/bidi_byname.gperf. (Depends-on): Add gperf. (Makefile.am): Add rule for generating unictype/bidi_byname.h. * tests/unictype/test-bidi_byname.c (main): Test the recognition of long names.
* New module 'unictype/bidiclass-longname'.Bruno Haible2011-03-261-0/+4
| | | | | | | | * lib/unictype.in.h (uc_bidi_class_long_name): New declaration. * lib/unictype/bidi_longname.c: New file. * modules/unictype/bidiclass-longname: New file. * modules/unictype/bidiclass-all (Depends-on): Add unictype/bidiclass-longname.
* New module 'unictype/combining-class-byname'.Bruno Haible2011-03-261-0/+5
| | | | | | | * lib/unictype.in.h (uc_combining_class_byname): New declaration. * lib/unictype/combiningclass_byname.c: New file. * lib/unictype/combiningclass_byname.gperf: New file. * modules/unictype/combining-class-byname: New file.
* New module 'unictype/combining-class-longname'.Bruno Haible2011-03-261-0/+4
| | | | | | * lib/unictype.in.h (uc_combining_class_long_name): New declaration. * lib/unictype/combiningclass_longname.c: New file. * modules/unictype/combining-class-longname: New file.
* New module 'unictype/combining-class-name'.Bruno Haible2011-03-261-0/+4
| | | | | | * lib/unictype.in.h (uc_combining_class_name): New declaration. * lib/unictype/combiningclass_name.c: New file. * modules/unictype/combining-class-name: New file.
* unictype: Update list of canonical combining classes.Bruno Haible2011-03-261-0/+1
| | | | * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
* unictype/category-byname: Recognize long names as well.Bruno Haible2011-03-251-1/+2
| | | | | | | | | | | | | | | | | * lib/unictype.in.h (uc_general_category_byname): Allow argument to be a long name. * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>, unictype/categ_byname.h. (UC_CATEGORY_INDEX_*): New enumeration values. (uc_general_category_byname): Use uc_general_category_lookup and convert from index to value. * lib/unictype/categ_byname.gperf: New file. * modules/unictype/category-byname (Files): Add lib/unictype/categ_byname.gperf. (Depends-on): Add gperf. (Makefile.am): Add rule for generating unictype/categ_byname.h. * tests/unictype/test-categ_byname.c (main): Test the recognition of long names.
* New module 'unictype/category-longname'.Bruno Haible2011-03-251-0/+4
| | | | | | | * lib/unictype.in.h (uc_general_category_long_name): New declaration. * lib/unictype/categ_longname.c: New file. * modules/unictype/category-longname: New file. * modules/unictype/category-all (Depends-on): Add it.
* New module 'unictype/category-LC'.Bruno Haible2011-03-251-0/+3
| | | | | | | | | | | | | | | | | * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value. (UC_CATEGORY_LC): New declaration. (UC_CASED_LETTER): New macro. * lib/gen-uni-tables.c (is_category_LC): New function. (output_categories): Also handle category LC. (UC_CATEGORY_MASK_LC): New enumeration value. (general_category_byname): Also handle category LC. * lib/unictype/categ_LC.c: New file. * lib/unictype/categ_LC.h: New file, automatically generated. * lib/unictype/categ_name.c (uc_general_category_name): Also handle category LC. * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise. * modules/unictype/category-LC: New file. * modules/unictype/category-all (Depends-on): Add unictype/category-LC.
* unictype/bidi*: Rename functions.Bruno Haible2011-03-231-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname, uc_bidi_class, uc_is_bidi_class): New declarations. * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from uc_bidi_category_byname. (uc_bidi_category_byname): New function. * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from u_bidi_category_name. (uc_bidi_class_name): Renamed from uc_bidi_category_name. (uc_bidi_category_name): New function. * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from uc_bidi_category. (uc_bidi_category): New function. * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from uc_is_bidi_category. Invoke uc_bidi_class. (uc_is_bidi_category): New function. * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname instead of uc_bidi_category_byname. * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name instead of uc_bidi_category_name. * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of uc_bidi_category. * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class instead of uc_is_bidi_category.
* unictype: Add support for Arabic shaping properties.Bruno Haible2011-03-211-0/+106
| | | | | | | | | | | | | | | | | | | | | * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values. (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New declarations. (UC_JOINING_GROUP_*): New enumeration values. (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New declarations. * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values. (unicode_joining_type): New variable. (UC_JOINING_GROUP_*): New enumeration values. (unicode_joining_group): New variable. (fill_arabicshaping, joining_type_as_c_identifier, output_joining_type_test, output_joining_type, joining_group_as_c_identifier, output_joining_group_test, output_joining_group): New functions. (main); Add an argument denoting the ArabicShaping.txt file. Invoke fill_arabicshaping and output_joining_type_test, output_joining_type, output_joining_group_test, output_joining_group. Reported by Simon Josefsson.
* New Unicode character properties, from Unicode 5.2.0.Bruno Haible2011-01-091-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE, UC_PROPERTY_CHANGES_WHEN_LOWERCASED, UC_PROPERTY_CHANGES_WHEN_UPPERCASED, UC_PROPERTY_CHANGES_WHEN_TITLECASED, UC_PROPERTY_CHANGES_WHEN_CASEFOLDED, UC_PROPERTY_CHANGES_WHEN_CASEMAPPED, uc_is_property_cased, uc_is_property_case_ignorable, uc_is_property_changes_when_lowercased, uc_is_property_changes_when_uppercased, uc_is_property_changes_when_titlecased, uc_is_property_changes_when_casefolded, uc_is_property_changes_when_casemapped): New declarations. * lib/unictype/pr_byname.gperf: Add the new properties. * modules/unictype/property-byname (Depends-on): Depend on the new properties modules. * modules/unictype/property-all (Depends-on): Likewise. * MODULES.html.sh (Unicode string functions): Add unictype/property-case-ignorable, unictype/property-cased, unictype/property-changes-when-casefolded, unictype/property-changes-when-casemapped, unictype/property-changes-when-lowercased, unictype/property-changes-when-titlecased, unictype/property-changes-when-uppercased.
* maint: update almost all copyright ranges to include 2011Jim Meyering2011-01-011-1/+1
| | | | Run the new "make update-copyright" rule.
* New module 'libunistring-optional'.Bruno Haible2010-05-181-0/+717