annotate modules/unigbrk/u16-grapheme-breaks @ 19273:638b6d1fdf36 ueno/unicode-9.0.0

libunistring: update to Unicode 9.0.0 * 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.
author Daiki Ueno <ueno@gnu.org>
date Wed, 12 Oct 2016 17:40:37 +0200
parents 7a8cc7ac7421
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14076
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
1 Description:
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
2 Find grapheme cluster breaks in UTF-16 string.
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
3
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
4 Files:
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
5 lib/unigbrk/u16-grapheme-breaks.c
19273
638b6d1fdf36 libunistring: update to Unicode 9.0.0
Daiki Ueno <ueno@gnu.org>
parents: 18515
diff changeset
6 lib/unigbrk/u-grapheme-breaks.h
14076
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
7
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
8 Depends-on:
19273
638b6d1fdf36 libunistring: update to Unicode 9.0.0
Daiki Ueno <ueno@gnu.org>
parents: 18515
diff changeset
9 unigbrk/base
638b6d1fdf36 libunistring: update to Unicode 9.0.0
Daiki Ueno <ueno@gnu.org>
parents: 18515
diff changeset
10 unigbrk/uc-gbrk-prop
14076
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
11 unistr/u16-mbtouc
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
12
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
13 configure.ac:
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
14 gl_MODULE_INDICATOR([unigbrk/u16-grapheme-breaks])
18018
591bd18735af libunistring: bump minimum version to 0.9.6
Daiki Ueno <ueno@gnu.org>
parents: 17871
diff changeset
15 gl_LIBUNISTRING_MODULE([0.9.6], [unigbrk/u16-grapheme-breaks])
14076
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
16
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
17 Makefile.am:
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
18 if LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_BREAKS
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
19 lib_SOURCES += unigbrk/u16-grapheme-breaks.c
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
20 endif
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
21
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
22 Include:
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
23 "unigbrk.h"
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
24
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
25 License:
18515
7a8cc7ac7421 libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
Bruno Haible <bruno@clisp.org>
parents: 18018
diff changeset
26 LGPLv3+ or GPLv2
14076
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
27
bf75753bb6d8 unigbrk: New modules for grapheme clusters.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
28 Maintainer:
17713
1f14c6dd175d Bruno Haible has stepped down as maintainer.
Paul Eggert <eggert@cs.ucla.edu>
parents: 14076
diff changeset
29 Ben Pfaff, Daiki Ueno