]> Savannah Git Hosting - gnulib.git/commit
Update to Unicode 16.0.0.
authorBruno Haible <bruno@clisp.org>
Fri, 13 Sep 2024 13:17:49 +0000 (15:17 +0200)
committerBruno Haible <bruno@clisp.org>
Fri, 13 Sep 2024 13:21:26 +0000 (15:21 +0200)
commit02a0e123b2dc0265a8295be9711765afed4693ea
treef5a4cd24d73e248cc02e96040e3d94b919567686
parent30417e7f918e95c368ef56a650fa5b5fa45cb130
Update to Unicode 16.0.0.

* lib/gen-uni-tables.c (PROP_MODIFIER_COMBINING_MARK): New enum item.
(fill_properties): Recognize property Modifier_Combining_Mark.
(UC_JOINING_GROUP_KASHMIRI_YEH): New enum item.
(fill_arabicshaping, joining_group_as_c_identifier): Handle
UC_JOINING_GROUP_KASHMIRI_YEH.
(LBP_*): Split LBP_AL into LBP_AL1 and LBP_AL2.
(LBP_AL): New enum item.
(get_lbea): New function.
(get_lbp): Use it. Update such that unilbrk/lbrkprop.txt comes out as
expected. Map U+25CC to LBP_AL2.
(PROP_EA, PROP, EA): New macros.
(debug_output_lbp): Print either LBP_AL1, LBP_AL2 as LBP_AL.
(lbp_value_to_string): Handle LBP_AL1, LBP_AL2 instead of LBP_AL.
(struct lbpea_table): Renamed from struct lbp_table.
(output_lbpea): Renamed from output_lbp. Store both the line break
property and the line break EastAsian bit in the same table entry.
(output_lbrk_tables): Update.
(output_lbrk_rules_as_tables): Update for LBP_AL change. Implement rules
LB28a, LB25, LB19, LB15d, LB13 as specified by
https://www.unicode.org/reports/tr14/tr14-53.html.
(get_wbp): Update such that uniwbrk/wbrkprop.txt comes out as expected.

* lib/unictype.in.h (UC_JOINING_GROUP_KASHMIRI_YEH): New enum item.
* lib/unictype/joininggroup_byname.gperf: Handle it.
* lib/unictype/joininggroup_name.h: Likewise.

* lib/unilbrk/lbrktables.h: Split LBP_AL into LBP_AL1 and LBP_AL2.
(LBP_AKLS_VI): New enum item, for rule LB28a.
(PROP, EA, PROP_EA): New macros.
(unilbrk_table): Update bounds.
* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
Use LBP_AL1 instead of LBP_AL. Use 2 characters of lookahead, for rules
LB15c, LB19a, LB25, LB28a. New variables prev_ea, prev2_ea, for rule
LB19a. New variable prev_initial_hyphen, for rule LB20a. New variable
prev_nus, for rule LB25. Implement rules LB15c, LB19a, LB20a, LB21a,
LB25, LB28a,  as specified by
https://www.unicode.org/reports/tr14/tr14-53.html.
* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
Likewise.
* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
Likewise.
* modules/unilbrk/base (Depends-on): Add stdbool.

* tests/uninorm/test-u32-normalize-big.h
(struct normalization_test_file): Now 6 parts.
* tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
Fill in 6 parts.
(test_specific, free_normalization_test_file): Now handle 6 parts.

* tests/uniwidth/test-uc_width2.sh: Update expected test result.

* All generated files under lib/uni* and tests/uni*: Regenerate.
* tests/uniname/NameAliases.txt: Update.
* tests/uniname/UnicodeData.txt: Update.
* tests/uninorm/NormalizationTest.txt: Update.
* tests/unigbrk/GraphemeBreakTest.txt: Update.
* tests/uniwbrk/WordBreakTest.txt: Update.

* All the affected modules: Bump required libunistring version.
503 files changed:
ChangeLog
lib/gen-uni-tables.c
lib/unicase/cased.h
lib/unicase/ignorable.h
lib/unicase/special-casing-table.gperf
lib/unicase/tocasefold.h
lib/unicase/tolower.h
lib/unicase/totitle.h
lib/unicase/toupper.h
lib/unictype.in.h
lib/unictype/bidi_of.h
lib/unictype/blocks.h
lib/unictype/categ_C.h
lib/unictype/categ_Cc.h
lib/unictype/categ_Cf.h
lib/unictype/categ_Cn.h
lib/unictype/categ_Co.h
lib/unictype/categ_Cs.h
lib/unictype/categ_L.h
lib/unictype/categ_LC.h
lib/unictype/categ_Ll.h
lib/unictype/categ_Lm.h
lib/unictype/categ_Lo.h
lib/unictype/categ_Lt.h
lib/unictype/categ_Lu.h
lib/unictype/categ_M.h
lib/unictype/categ_Mc.h
lib/unictype/categ_Me.h
lib/unictype/categ_Mn.h
lib/unictype/categ_N.h
lib/unictype/categ_Nd.h
lib/unictype/categ_Nl.h
lib/unictype/categ_No.h
lib/unictype/categ_P.h
lib/unictype/categ_Pc.h
lib/unictype/categ_Pd.h
lib/unictype/categ_Pe.h
lib/unictype/categ_Pf.h
lib/unictype/categ_Pi.h
lib/unictype/categ_Po.h
lib/unictype/categ_Ps.h
lib/unictype/categ_S.h
lib/unictype/categ_Sc.h
lib/unictype/categ_Sk.h
lib/unictype/categ_Sm.h
lib/unictype/categ_So.h
lib/unictype/categ_Z.h
lib/unictype/categ_Zl.h
lib/unictype/categ_Zp.h
lib/unictype/categ_Zs.h
lib/unictype/categ_of.h
lib/unictype/combiningclass.h
lib/unictype/ctype_alnum.h
lib/unictype/ctype_alpha.h
lib/unictype/ctype_blank.h
lib/unictype/ctype_cntrl.h
lib/unictype/ctype_digit.h
lib/unictype/ctype_graph.h
lib/unictype/ctype_lower.h
lib/unictype/ctype_print.h
lib/unictype/ctype_punct.h
lib/unictype/ctype_space.h
lib/unictype/ctype_upper.h
lib/unictype/ctype_xdigit.h
lib/unictype/decdigit.h
lib/unictype/digit.h
lib/unictype/incb_of.h
lib/unictype/joininggroup_byname.gperf
lib/unictype/joininggroup_name.h
lib/unictype/joininggroup_of.h
lib/unictype/joiningtype_of.h
lib/unictype/mirror.h
lib/unictype/numeric.h
lib/unictype/pr_alphabetic.h
lib/unictype/pr_ascii_hex_digit.h
lib/unictype/pr_bidi_arabic_digit.h
lib/unictype/pr_bidi_arabic_right_to_left.h
lib/unictype/pr_bidi_block_separator.h
lib/unictype/pr_bidi_boundary_neutral.h
lib/unictype/pr_bidi_common_separator.h
lib/unictype/pr_bidi_control.h
lib/unictype/pr_bidi_embedding_or_override.h
lib/unictype/pr_bidi_eur_num_separator.h
lib/unictype/pr_bidi_eur_num_terminator.h
lib/unictype/pr_bidi_european_digit.h
lib/unictype/pr_bidi_hebrew_right_to_left.h
lib/unictype/pr_bidi_left_to_right.h
lib/unictype/pr_bidi_non_spacing_mark.h
lib/unictype/pr_bidi_other_neutral.h
lib/unictype/pr_bidi_pdf.h
lib/unictype/pr_bidi_segment_separator.h
lib/unictype/pr_bidi_whitespace.h
lib/unictype/pr_case_ignorable.h
lib/unictype/pr_cased.h
lib/unictype/pr_changes_when_casefolded.h
lib/unictype/pr_changes_when_casemapped.h
lib/unictype/pr_changes_when_lowercased.h
lib/unictype/pr_changes_when_titlecased.h
lib/unictype/pr_changes_when_uppercased.h
lib/unictype/pr_combining.h
lib/unictype/pr_composite.h
lib/unictype/pr_currency_symbol.h
lib/unictype/pr_dash.h
lib/unictype/pr_decimal_digit.h
lib/unictype/pr_default_ignorable_code_point.h
lib/unictype/pr_deprecated.h
lib/unictype/pr_diacritic.h
lib/unictype/pr_emoji.h
lib/unictype/pr_emoji_component.h
lib/unictype/pr_emoji_modifier.h
lib/unictype/pr_emoji_modifier_base.h
lib/unictype/pr_emoji_presentation.h
lib/unictype/pr_extended_pictographic.h
lib/unictype/pr_extender.h
lib/unictype/pr_format_control.h
lib/unictype/pr_grapheme_base.h
lib/unictype/pr_grapheme_extend.h
lib/unictype/pr_grapheme_link.h
lib/unictype/pr_hex_digit.h
lib/unictype/pr_hyphen.h
lib/unictype/pr_id_compat_math_continue.h
lib/unictype/pr_id_compat_math_start.h
lib/unictype/pr_id_continue.h
lib/unictype/pr_id_start.h
lib/unictype/pr_ideographic.h
lib/unictype/pr_ids_binary_operator.h
lib/unictype/pr_ids_trinary_operator.h
lib/unictype/pr_ignorable_control.h
lib/unictype/pr_iso_control.h
lib/unictype/pr_join_control.h
lib/unictype/pr_left_of_pair.h
lib/unictype/pr_line_separator.h
lib/unictype/pr_logical_order_exception.h
lib/unictype/pr_lowercase.h
lib/unictype/pr_math.h
lib/unictype/pr_non_break.h
lib/unictype/pr_not_a_character.h
lib/unictype/pr_numeric.h
lib/unictype/pr_other_alphabetic.h
lib/unictype/pr_other_default_ignorable_code_point.h
lib/unictype/pr_other_grapheme_extend.h
lib/unictype/pr_other_id_continue.h
lib/unictype/pr_other_id_start.h
lib/unictype/pr_other_lowercase.h
lib/unictype/pr_other_math.h
lib/unictype/pr_other_uppercase.h
lib/unictype/pr_paired_punctuation.h
lib/unictype/pr_paragraph_separator.h
lib/unictype/pr_pattern_syntax.h
lib/unictype/pr_pattern_white_space.h
lib/unictype/pr_prepended_concatenation_mark.h
lib/unictype/pr_private_use.h
lib/unictype/pr_punctuation.h
lib/unictype/pr_quotation_mark.h
lib/unictype/pr_radical.h
lib/unictype/pr_sentence_terminal.h
lib/unictype/pr_soft_dotted.h
lib/unictype/pr_space.h
lib/unictype/pr_terminal_punctuation.h
lib/unictype/pr_titlecase.h
lib/unictype/pr_unassigned_code_value.h
lib/unictype/pr_unified_ideograph.h
lib/unictype/pr_uppercase.h
lib/unictype/pr_variation_selector.h
lib/unictype/pr_white_space.h
lib/unictype/pr_xid_continue.h
lib/unictype/pr_xid_start.h
lib/unictype/pr_zero_width.h
lib/unictype/scripts.h
lib/unictype/scripts_byname.gperf
lib/unictype/sy_c_ident.h
lib/unictype/sy_c_whitespace.h
lib/unictype/sy_java_ident.h
lib/unictype/sy_java_whitespace.h
lib/unigbrk/gbrkprop.h
lib/unilbrk/lbrkprop1.h
lib/unilbrk/lbrkprop2.h
lib/unilbrk/lbrktables.c
lib/unilbrk/lbrktables.h
lib/unilbrk/u16-possible-linebreaks.c
lib/unilbrk/u32-possible-linebreaks.c
lib/unilbrk/u8-possible-linebreaks.c
lib/unimetadata/u-version.c
lib/uniname/uninames.h
lib/uninorm/composition-table-bounds.h
lib/uninorm/composition-table.gperf
lib/uninorm/decomposition-table1.h
lib/uninorm/decomposition-table2.h
lib/uniwbrk/wbrkprop.h
lib/uniwidth/width0.h
lib/uniwidth/width2.h
modules/unicase/tolower
modules/unicase/totitle
modules/unicase/toupper
modules/unicase/u16-casecmp
modules/unicase/u16-casecoll
modules/unicase/u16-casefold
modules/unicase/u16-casexfrm
modules/unicase/u16-ct-casefold
modules/unicase/u16-ct-tolower
modules/unicase/u16-ct-totitle
modules/unicase/u16-ct-toupper
modules/unicase/u16-is-cased
modules/unicase/u16-is-casefolded
modules/unicase/u16-is-lowercase
modules/unicase/u16-is-titlecase
modules/unicase/u16-is-uppercase
modules/unicase/u16-prefix-context
modules/unicase/u16-suffix-context
modules/unicase/u16-tolower
modules/unicase/u16-totitle
modules/unicase/u16-toupper
modules/unicase/u32-casecmp
modules/unicase/u32-casecoll
modules/unicase/u32-casefold
modules/unicase/u32-casexfrm
modules/unicase/u32-ct-casefold
modules/unicase/u32-ct-tolower
modules/unicase/u32-ct-totitle
modules/unicase/u32-ct-toupper
modules/unicase/u32-is-cased
modules/unicase/u32-is-casefolded
modules/unicase/u32-is-lowercase
modules/unicase/u32-is-titlecase
modules/unicase/u32-is-uppercase
modules/unicase/u32-prefix-context
modules/unicase/u32-suffix-context
modules/unicase/u32-tolower
modules/unicase/u32-totitle
modules/unicase/u32-toupper
modules/unicase/u8-casecmp
modules/unicase/u8-casecoll
modules/unicase/u8-casefold
modules/unicase/u8-casexfrm
modules/unicase/u8-ct-casefold
modules/unicase/u8-ct-tolower
modules/unicase/u8-ct-totitle
modules/unicase/u8-ct-toupper
modules/unicase/u8-is-cased
modules/unicase/u8-is-casefolded
modules/unicase/u8-is-lowercase
modules/unicase/u8-is-titlecase
modules/unicase/u8-is-uppercase
modules/unicase/u8-prefix-context
modules/unicase/u8-suffix-context
modules/unicase/u8-tolower
modules/unicase/u8-totitle
modules/unicase/u8-toupper
modules/unicase/ulc-casecmp
modules/unicase/ulc-casecoll
modules/unicase/ulc-casexfrm
modules/unictype/base
modules/unictype/bidiclass-of
modules/unictype/bidiclass-test
modules/unictype/block-list
modules/unictype/category-C
modules/unictype/category-Cn
modules/unictype/category-L
modules/unictype/category-LC
modules/unictype/category-Ll
modules/unictype/category-Lm
modules/unictype/category-Lo
modules/unictype/category-Lu
modules/unictype/category-M
modules/unictype/category-Mc
modules/unictype/category-Mn
modules/unictype/category-N
modules/unictype/category-Nd
modules/unictype/category-P
modules/unictype/category-Pd
modules/unictype/category-Po
modules/unictype/category-S
modules/unictype/category-Sm
modules/unictype/category-So
modules/unictype/category-and
modules/unictype/category-and-not
modules/unictype/category-byname
modules/unictype/category-of
modules/unictype/category-or
modules/unictype/combining-class
modules/unictype/ctype-alnum
modules/unictype/ctype-alpha
modules/unictype/ctype-graph
modules/unictype/ctype-lower
modules/unictype/ctype-print
modules/unictype/ctype-punct
modules/unictype/ctype-upper
modules/unictype/decimal-digit
modules/unictype/digit
modules/unictype/incb-of
modules/unictype/joininggroup-byname
modules/unictype/joininggroup-name
modules/unictype/joininggroup-of
modules/unictype/joiningtype-of
modules/unictype/mirror
modules/unictype/numeric
modules/unictype/property-alphabetic
modules/unictype/property-bidi-arabic-digit
modules/unictype/property-bidi-arabic-right-to-left
modules/unictype/property-bidi-block-separator
modules/unictype/property-bidi-boundary-neutral
modules/unictype/property-bidi-common-separator
modules/unictype/property-bidi-control
modules/unictype/property-bidi-embedding-or-override
modules/unictype/property-bidi-eur-num-separator
modules/unictype/property-bidi-eur-num-terminator
modules/unictype/property-bidi-european-digit
modules/unictype/property-bidi-hebrew-right-to-left
modules/unictype/property-bidi-left-to-right
modules/unictype/property-bidi-non-spacing-mark
modules/unictype/property-bidi-other-neutral
modules/unictype/property-bidi-pdf
modules/unictype/property-bidi-segment-separator
modules/unictype/property-bidi-whitespace
modules/unictype/property-byname
modules/unictype/property-case-ignorable
modules/unictype/property-cased
modules/unictype/property-changes-when-casefolded
modules/unictype/property-changes-when-casemapped
modules/unictype/property-changes-when-lowercased
modules/unictype/property-changes-when-titlecased
modules/unictype/property-changes-when-uppercased
modules/unictype/property-combining
modules/unictype/property-composite
modules/unictype/property-dash
modules/unictype/property-decimal-digit
modules/unictype/property-diacritic
modules/unictype/property-emoji
modules/unictype/property-emoji-presentation
modules/unictype/property-extender
modules/unictype/property-grapheme-base
modules/unictype/property-grapheme-extend
modules/unictype/property-grapheme-link
modules/unictype/property-id-continue
modules/unictype/property-id-start
modules/unictype/property-ideographic
modules/unictype/property-lowercase
modules/unictype/property-math
modules/unictype/property-numeric
modules/unictype/property-other-alphabetic
modules/unictype/property-other-grapheme-extend
modules/unictype/property-punctuation
modules/unictype/property-sentence-terminal
modules/unictype/property-terminal-punctuation
modules/unictype/property-unassigned-code-value
modules/unictype/property-uppercase
modules/unictype/property-xid-continue
modules/unictype/property-xid-start
modules/unictype/scripts
modules/unictype/syntax-java-ident
modules/unigbrk/u16-grapheme-breaks
modules/unigbrk/u16-grapheme-next
modules/unigbrk/u16-grapheme-prev
modules/unigbrk/u32-grapheme-breaks
modules/unigbrk/u32-grapheme-next
modules/unigbrk/u32-grapheme-prev
modules/unigbrk/u8-grapheme-breaks
modules/unigbrk/u8-grapheme-next
modules/unigbrk/u8-grapheme-prev
modules/unigbrk/uc-gbrk-prop
modules/unigbrk/uc-grapheme-breaks
modules/unigbrk/uc-is-grapheme-break
modules/unigbrk/ulc-grapheme-breaks
modules/unilbrk/base
modules/unilbrk/u16-possible-linebreaks
modules/unilbrk/u16-width-linebreaks
modules/unilbrk/u32-possible-linebreaks
modules/unilbrk/u32-width-linebreaks
modules/unilbrk/u8-possible-linebreaks
modules/unilbrk/u8-width-linebreaks
modules/unilbrk/ulc-possible-linebreaks
modules/unilbrk/ulc-width-linebreaks
modules/unimetadata/u-version
modules/uniname/uniname
modules/uninorm/canonical-decomposition
modules/uninorm/composition
modules/uninorm/decomposition
modules/uninorm/filter
modules/uninorm/nfc
modules/uninorm/nfd
modules/uninorm/nfkc
modules/uninorm/nfkd
modules/uninorm/u16-normalize
modules/uninorm/u16-normcmp
modules/uninorm/u16-normcoll
modules/uninorm/u16-normxfrm
modules/uninorm/u32-normalize
modules/uninorm/u32-normcmp
modules/uninorm/u32-normcoll
modules/uninorm/u32-normxfrm
modules/uninorm/u8-normalize
modules/uninorm/u8-normcmp
modules/uninorm/u8-normcoll
modules/uninorm/u8-normxfrm
modules/unistdio/ulc-asnprintf
modules/unistdio/ulc-asprintf
modules/unistdio/ulc-fprintf
modules/unistdio/ulc-snprintf
modules/unistdio/ulc-sprintf
modules/unistdio/ulc-vasnprintf
modules/unistdio/ulc-vasprintf
modules/unistdio/ulc-vfprintf
modules/unistdio/ulc-vsnprintf
modules/unistdio/ulc-vsprintf
modules/uniwbrk/u16-wordbreaks
modules/uniwbrk/u32-wordbreaks
modules/uniwbrk/u8-wordbreaks
modules/uniwbrk/ulc-wordbreaks
modules/uniwbrk/wordbreak-property
modules/uniwidth/u16-strwidth
modules/uniwidth/u16-width
modules/uniwidth/u32-strwidth
modules/uniwidth/u32-width
modules/uniwidth/u8-strwidth
modules/uniwidth/u8-width
modules/uniwidth/width
tests/unicase/test-cased.c
tests/unicase/test-ignorable.c
tests/unicase/test-uc_tolower.c
tests/unicase/test-uc_totitle.c
tests/unicase/test-uc_toupper.c
tests/unictype/test-categ_C.c
tests/unictype/test-categ_Cn.c
tests/unictype/test-categ_L.c
tests/unictype/test-categ_LC.c
tests/unictype/test-categ_Ll.c
tests/unictype/test-categ_Lm.c
tests/unictype/test-categ_Lo.c
tests/unictype/test-categ_Lu.c
tests/unictype/test-categ_M.c
tests/unictype/test-categ_Mc.c
tests/unictype/test-categ_Mn.c
tests/unictype/test-categ_N.c
tests/unictype/test-categ_Nd.c
tests/unictype/test-categ_P.c
tests/unictype/test-categ_Pd.c
tests/unictype/test-categ_Po.c
tests/unictype/test-categ_S.c
tests/unictype/test-categ_Sm.c
tests/unictype/test-categ_So.c
tests/unictype/test-ctype_alnum.c
tests/unictype/test-ctype_alpha.c
tests/unictype/test-ctype_graph.c
tests/unictype/test-ctype_lower.c
tests/unictype/test-ctype_print.c
tests/unictype/test-ctype_punct.c
tests/unictype/test-ctype_upper.c
tests/unictype/test-decdigit.h
tests/unictype/test-digit.h
tests/unictype/test-incb_of.h
tests/unictype/test-joininggroup_of.h
tests/unictype/test-joiningtype_of.h
tests/unictype/test-numeric.h
tests/unictype/test-pr_alphabetic.c
tests/unictype/test-pr_bidi_arabic_digit.c
tests/unictype/test-pr_bidi_arabic_right_to_left.c
tests/unictype/test-pr_bidi_european_digit.c
tests/unictype/test-pr_bidi_hebrew_right_to_left.c
tests/unictype/test-pr_bidi_left_to_right.c
tests/unictype/test-pr_bidi_non_spacing_mark.c
tests/unictype/test-pr_bidi_other_neutral.c
tests/unictype/test-pr_case_ignorable.c
tests/unictype/test-pr_cased.c
tests/unictype/test-pr_changes_when_casefolded.c
tests/unictype/test-pr_changes_when_casemapped.c
tests/unictype/test-pr_changes_when_lowercased.c
tests/unictype/test-pr_changes_when_titlecased.c
tests/unictype/test-pr_changes_when_uppercased.c
tests/unictype/test-pr_combining.c
tests/unictype/test-pr_composite.c
tests/unictype/test-pr_dash.c
tests/unictype/test-pr_decimal_digit.c
tests/unictype/test-pr_diacritic.c
tests/unictype/test-pr_emoji.c
tests/unictype/test-pr_emoji_presentation.c
tests/unictype/test-pr_extender.c
tests/unictype/test-pr_grapheme_base.c
tests/unictype/test-pr_grapheme_extend.c
tests/unictype/test-pr_grapheme_link.c
tests/unictype/test-pr_id_continue.c
tests/unictype/test-pr_id_start.c
tests/unictype/test-pr_ideographic.c
tests/unictype/test-pr_lowercase.c
tests/unictype/test-pr_math.c
tests/unictype/test-pr_numeric.c
tests/unictype/test-pr_other_alphabetic.c
tests/unictype/test-pr_other_grapheme_extend.c
tests/unictype/test-pr_punctuation.c
tests/unictype/test-pr_sentence_terminal.c
tests/unictype/test-pr_terminal_punctuation.c
tests/unictype/test-pr_unassigned_code_value.c
tests/unictype/test-pr_uppercase.c
tests/unictype/test-pr_xid_continue.c
tests/unictype/test-pr_xid_start.c
tests/unigbrk/GraphemeBreakTest.txt
tests/unigbrk/test-uc-gbrk-prop.h
tests/uniname/NameAliases.txt
tests/uniname/UnicodeData.txt
tests/uninorm/NormalizationTest.txt
tests/uninorm/test-u32-normalize-big.c
tests/uninorm/test-u32-normalize-big.h
tests/uniwbrk/WordBreakTest.txt
tests/uniwidth/test-uc_width2.sh