From 4e51bc98a29b92fb5389c72a769f89c2a1d14158 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 26 Mar 2011 15:36:15 +0100 Subject: [PATCH] unictype/property-byname: Reduce the number of load-time relocations. * lib/unictype/pr_byname.c: Include . (UC_PROPERTY_INDEX_*): New enumeration values. (uc_property_byname): Convert an index from the lookup table to an uc_property_t. * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t values. --- ChangeLog | 10 ++ lib/unictype/pr_byname.c | 284 ++++++++++++++++++++++++++++- lib/unictype/pr_byname.gperf | 414 +++++++++++++++++++++---------------------- 3 files changed, 499 insertions(+), 209 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4c31bde90..7e073f379 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2011-03-26 Bruno Haible + unictype/property-byname: Reduce the number of load-time relocations. + * lib/unictype/pr_byname.c: Include . + (UC_PROPERTY_INDEX_*): New enumeration values. + (uc_property_byname): Convert an index from the lookup table to an + uc_property_t. + * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t + values. + +2011-03-26 Bruno Haible + unictype/property-byname: Allow omitted word separators and aliases. * lib/unictype/pr_byname.gperf: Add property names without word separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except diff --git a/lib/unictype/pr_byname.c b/lib/unictype/pr_byname.c index 7f44a8c36..94753abe7 100644 --- a/lib/unictype/pr_byname.c +++ b/lib/unictype/pr_byname.c @@ -1,5 +1,5 @@ /* Properties of Unicode characters. - Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2007, 2011 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software: you can redistribute it and/or modify it @@ -20,8 +20,110 @@ /* Specification. */ #include "unictype.h" +#include #include +/* Indices stored in the 'struct named_category' elements of the perfect hash + table. We don't use uc_general_category_t values or their addresses + directly, because this would introduce load-time relocations. */ +enum +{ + /* General. */ + UC_PROPERTY_INDEX_WHITE_SPACE, + UC_PROPERTY_INDEX_ALPHABETIC, + UC_PROPERTY_INDEX_OTHER_ALPHABETIC, + UC_PROPERTY_INDEX_NOT_A_CHARACTER, + UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT, + UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT, + UC_PROPERTY_INDEX_DEPRECATED, + UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION, + UC_PROPERTY_INDEX_VARIATION_SELECTOR, + UC_PROPERTY_INDEX_PRIVATE_USE, + UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE, + /* Case. */ + UC_PROPERTY_INDEX_UPPERCASE, + UC_PROPERTY_INDEX_OTHER_UPPERCASE, + UC_PROPERTY_INDEX_LOWERCASE, + UC_PROPERTY_INDEX_OTHER_LOWERCASE, + UC_PROPERTY_INDEX_TITLECASE, + UC_PROPERTY_INDEX_CASED, + UC_PROPERTY_INDEX_CASE_IGNORABLE, + UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED, + UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED, + UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED, + UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED, + UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED, + UC_PROPERTY_INDEX_SOFT_DOTTED, + /* Identifiers. */ + UC_PROPERTY_INDEX_ID_START, + UC_PROPERTY_INDEX_OTHER_ID_START, + UC_PROPERTY_INDEX_ID_CONTINUE, + UC_PROPERTY_INDEX_OTHER_ID_CONTINUE, + UC_PROPERTY_INDEX_XID_START, + UC_PROPERTY_INDEX_XID_CONTINUE, + UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE, + UC_PROPERTY_INDEX_PATTERN_SYNTAX, + /* Shaping and rendering. */ + UC_PROPERTY_INDEX_JOIN_CONTROL, + UC_PROPERTY_INDEX_GRAPHEME_BASE, + UC_PROPERTY_INDEX_GRAPHEME_EXTEND, + UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND, + UC_PROPERTY_INDEX_GRAPHEME_LINK, + /* Bidi. */ + UC_PROPERTY_INDEX_BIDI_CONTROL, + UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT, + UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT, + UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT, + UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT, + UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR, + UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR, + UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT, + UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR, + UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR, + UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR, + UC_PROPERTY_INDEX_BIDI_WHITESPACE, + UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK, + UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL, + UC_PROPERTY_INDEX_BIDI_PDF, + UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE, + UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL, + /* Numeric. */ + UC_PROPERTY_INDEX_HEX_DIGIT, + UC_PROPERTY_INDEX_ASCII_HEX_DIGIT, + /* CJK. */ + UC_PROPERTY_INDEX_IDEOGRAPHIC, + UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH, + UC_PROPERTY_INDEX_RADICAL, + UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR, + UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR, + /* Misc. */ + UC_PROPERTY_INDEX_ZERO_WIDTH, + UC_PROPERTY_INDEX_SPACE, + UC_PROPERTY_INDEX_NON_BREAK, + UC_PROPERTY_INDEX_ISO_CONTROL, + UC_PROPERTY_INDEX_FORMAT_CONTROL, + UC_PROPERTY_INDEX_DASH, + UC_PROPERTY_INDEX_HYPHEN, + UC_PROPERTY_INDEX_PUNCTUATION, + UC_PROPERTY_INDEX_LINE_SEPARATOR, + UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR, + UC_PROPERTY_INDEX_QUOTATION_MARK, + UC_PROPERTY_INDEX_SENTENCE_TERMINAL, + UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION, + UC_PROPERTY_INDEX_CURRENCY_SYMBOL, + UC_PROPERTY_INDEX_MATH, + UC_PROPERTY_INDEX_OTHER_MATH, + UC_PROPERTY_INDEX_PAIRED_PUNCTUATION, + UC_PROPERTY_INDEX_LEFT_OF_PAIR, + UC_PROPERTY_INDEX_COMBINING, + UC_PROPERTY_INDEX_COMPOSITE, + UC_PROPERTY_INDEX_DECIMAL_DIGIT, + UC_PROPERTY_INDEX_NUMERIC, + UC_PROPERTY_INDEX_DIACRITIC, + UC_PROPERTY_INDEX_EXTENDER, + UC_PROPERTY_INDEX_IGNORABLE_CONTROL +}; + /* Get gperf generated lookup function. */ #include "unictype/pr_byname.h" @@ -53,7 +155,185 @@ uc_property_byname (const char *property_name) } found = uc_property_lookup (buf, bp - buf); if (found != NULL) - return found->property; + /* Use a 'switch' statement here, because a table would introduce load-time + relocations. */ + switch (found->property_index) + { + case UC_PROPERTY_INDEX_WHITE_SPACE: + return UC_PROPERTY_WHITE_SPACE; + case UC_PROPERTY_INDEX_ALPHABETIC: + return UC_PROPERTY_ALPHABETIC; + case UC_PROPERTY_INDEX_OTHER_ALPHABETIC: + return UC_PROPERTY_OTHER_ALPHABETIC; + case UC_PROPERTY_INDEX_NOT_A_CHARACTER: + return UC_PROPERTY_NOT_A_CHARACTER; + case UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT: + return UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT; + case UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT: + return UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT; + case UC_PROPERTY_INDEX_DEPRECATED: + return UC_PROPERTY_DEPRECATED; + case UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION: + return UC_PROPERTY_LOGICAL_ORDER_EXCEPTION; + case UC_PROPERTY_INDEX_VARIATION_SELECTOR: + return UC_PROPERTY_VARIATION_SELECTOR; + case UC_PROPERTY_INDEX_PRIVATE_USE: + return UC_PROPERTY_PRIVATE_USE; + case UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE: + return UC_PROPERTY_UNASSIGNED_CODE_VALUE; + case UC_PROPERTY_INDEX_UPPERCASE: + return UC_PROPERTY_UPPERCASE; + case UC_PROPERTY_INDEX_OTHER_UPPERCASE: + return UC_PROPERTY_OTHER_UPPERCASE; + case UC_PROPERTY_INDEX_LOWERCASE: + return UC_PROPERTY_LOWERCASE; + case UC_PROPERTY_INDEX_OTHER_LOWERCASE: + return UC_PROPERTY_OTHER_LOWERCASE; + case UC_PROPERTY_INDEX_TITLECASE: + return UC_PROPERTY_TITLECASE; + case UC_PROPERTY_INDEX_CASED: + return UC_PROPERTY_CASED; + case UC_PROPERTY_INDEX_CASE_IGNORABLE: + return UC_PROPERTY_CASE_IGNORABLE; + case UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED: + return UC_PROPERTY_CHANGES_WHEN_LOWERCASED; + case UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED: + return UC_PROPERTY_CHANGES_WHEN_UPPERCASED; + case UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED: + return UC_PROPERTY_CHANGES_WHEN_TITLECASED; + case UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED: + return UC_PROPERTY_CHANGES_WHEN_CASEFOLDED; + case UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED: + return UC_PROPERTY_CHANGES_WHEN_CASEMAPPED; + case UC_PROPERTY_INDEX_SOFT_DOTTED: + return UC_PROPERTY_SOFT_DOTTED; + case UC_PROPERTY_INDEX_ID_START: + return UC_PROPERTY_ID_START; + case UC_PROPERTY_INDEX_OTHER_ID_START: + return UC_PROPERTY_OTHER_ID_START; + case UC_PROPERTY_INDEX_ID_CONTINUE: + return UC_PROPERTY_ID_CONTINUE; + case UC_PROPERTY_INDEX_OTHER_ID_CONTINUE: + return UC_PROPERTY_OTHER_ID_CONTINUE; + case UC_PROPERTY_INDEX_XID_START: + return UC_PROPERTY_XID_START; + case UC_PROPERTY_INDEX_XID_CONTINUE: + return UC_PROPERTY_XID_CONTINUE; + case UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE: + return UC_PROPERTY_PATTERN_WHITE_SPACE; + case UC_PROPERTY_INDEX_PATTERN_SYNTAX: + return UC_PROPERTY_PATTERN_SYNTAX; + case UC_PROPERTY_INDEX_JOIN_CONTROL: + return UC_PROPERTY_JOIN_CONTROL; + case UC_PROPERTY_INDEX_GRAPHEME_BASE: + return UC_PROPERTY_GRAPHEME_BASE; + case UC_PROPERTY_INDEX_GRAPHEME_EXTEND: + return UC_PROPERTY_GRAPHEME_EXTEND; + case UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND: + return UC_PROPERTY_OTHER_GRAPHEME_EXTEND; + case UC_PROPERTY_INDEX_GRAPHEME_LINK: + return UC_PROPERTY_GRAPHEME_LINK; + case UC_PROPERTY_INDEX_BIDI_CONTROL: + return UC_PROPERTY_BIDI_CONTROL; + case UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT: + return UC_PROPERTY_BIDI_LEFT_TO_RIGHT; + case UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT: + return UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT; + case UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT: + return UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT; + case UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT: + return UC_PROPERTY_BIDI_EUROPEAN_DIGIT; + case UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR: + return UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR; + case UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR: + return UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR; + case UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT: + return UC_PROPERTY_BIDI_ARABIC_DIGIT; + case UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR: + return UC_PROPERTY_BIDI_COMMON_SEPARATOR; + case UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR: + return UC_PROPERTY_BIDI_BLOCK_SEPARATOR; + case UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR: + return UC_PROPERTY_BIDI_SEGMENT_SEPARATOR; + case UC_PROPERTY_INDEX_BIDI_WHITESPACE: + return UC_PROPERTY_BIDI_WHITESPACE; + case UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK: + return UC_PROPERTY_BIDI_NON_SPACING_MARK; + case UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL: + return UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL; + case UC_PROPERTY_INDEX_BIDI_PDF: + return UC_PROPERTY_BIDI_PDF; + case UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE: + return UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE; + case UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL: + return UC_PROPERTY_BIDI_OTHER_NEUTRAL; + case UC_PROPERTY_INDEX_HEX_DIGIT: + return UC_PROPERTY_HEX_DIGIT; + case UC_PROPERTY_INDEX_ASCII_HEX_DIGIT: + return UC_PROPERTY_ASCII_HEX_DIGIT; + case UC_PROPERTY_INDEX_IDEOGRAPHIC: + return UC_PROPERTY_IDEOGRAPHIC; + case UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH: + return UC_PROPERTY_UNIFIED_IDEOGRAPH; + case UC_PROPERTY_INDEX_RADICAL: + return UC_PROPERTY_RADICAL; + case UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR: + return UC_PROPERTY_IDS_BINARY_OPERATOR; + case UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR: + return UC_PROPERTY_IDS_TRINARY_OPERATOR; + case UC_PROPERTY_INDEX_ZERO_WIDTH: + return UC_PROPERTY_ZERO_WIDTH; + case UC_PROPERTY_INDEX_SPACE: + return UC_PROPERTY_SPACE; + case UC_PROPERTY_INDEX_NON_BREAK: + return UC_PROPERTY_NON_BREAK; + case UC_PROPERTY_INDEX_ISO_CONTROL: + return UC_PROPERTY_ISO_CONTROL; + case UC_PROPERTY_INDEX_FORMAT_CONTROL: + return UC_PROPERTY_FORMAT_CONTROL; + case UC_PROPERTY_INDEX_DASH: + return UC_PROPERTY_DASH; + case UC_PROPERTY_INDEX_HYPHEN: + return UC_PROPERTY_HYPHEN; + case UC_PROPERTY_INDEX_PUNCTUATION: + return UC_PROPERTY_PUNCTUATION; + case UC_PROPERTY_INDEX_LINE_SEPARATOR: + return UC_PROPERTY_LINE_SEPARATOR; + case UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR: + return UC_PROPERTY_PARAGRAPH_SEPARATOR; + case UC_PROPERTY_INDEX_QUOTATION_MARK: + return UC_PROPERTY_QUOTATION_MARK; + case UC_PROPERTY_INDEX_SENTENCE_TERMINAL: + return UC_PROPERTY_SENTENCE_TERMINAL; + case UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION: + return UC_PROPERTY_TERMINAL_PUNCTUATION; + case UC_PROPERTY_INDEX_CURRENCY_SYMBOL: + return UC_PROPERTY_CURRENCY_SYMBOL; + case UC_PROPERTY_INDEX_MATH: + return UC_PROPERTY_MATH; + case UC_PROPERTY_INDEX_OTHER_MATH: + return UC_PROPERTY_OTHER_MATH; + case UC_PROPERTY_INDEX_PAIRED_PUNCTUATION: + return UC_PROPERTY_PAIRED_PUNCTUATION; + case UC_PROPERTY_INDEX_LEFT_OF_PAIR: + return UC_PROPERTY_LEFT_OF_PAIR; + case UC_PROPERTY_INDEX_COMBINING: + return UC_PROPERTY_COMBINING; + case UC_PROPERTY_INDEX_COMPOSITE: + return UC_PROPERTY_COMPOSITE; + case UC_PROPERTY_INDEX_DECIMAL_DIGIT: + return UC_PROPERTY_DECIMAL_DIGIT; + case UC_PROPERTY_INDEX_NUMERIC: + return UC_PROPERTY_NUMERIC; + case UC_PROPERTY_INDEX_DIACRITIC: + return UC_PROPERTY_DIACRITIC; + case UC_PROPERTY_INDEX_EXTENDER: + return UC_PROPERTY_EXTENDER; + case UC_PROPERTY_INDEX_IGNORABLE_CONTROL: + return UC_PROPERTY_IGNORABLE_CONTROL; + default: + abort (); + } invalid: return UC_PROPERTY_NONE; } diff --git a/lib/unictype/pr_byname.gperf b/lib/unictype/pr_byname.gperf index fcc39010e..9c2031bdb 100644 --- a/lib/unictype/pr_byname.gperf +++ b/lib/unictype/pr_byname.gperf @@ -1,4 +1,4 @@ -struct named_property { int name; uc_property_t property; }; +struct named_property { int name; int property_index; }; %struct-type %language=ANSI-C %define hash-function-name properties_hash @@ -10,209 +10,209 @@ struct named_property { int name; uc_property_t property; }; %pic %define string-pool-name properties_stringpool %% -white_space, { &uc_is_property_white_space } -whitespace, { &uc_is_property_white_space } -wspace, { &uc_is_property_white_space } -alphabetic, { &uc_is_property_alphabetic } -alpha, { &uc_is_property_alphabetic } -other_alphabetic, { &uc_is_property_other_alphabetic } -otheralphabetic, { &uc_is_property_other_alphabetic } -oalpha, { &uc_is_property_other_alphabetic } -not_a_character, { &uc_is_property_not_a_character } -notacharacter, { &uc_is_property_not_a_character } -default_ignorable_code_point, { &uc_is_property_default_ignorable_code_point } -defaultignorablecodepoint, { &uc_is_property_default_ignorable_code_point } -di, { &uc_is_property_default_ignorable_code_point } -other_default_ignorable_code_point, { &uc_is_property_other_default_ignorable_code_point } -otherdefaultignorablecodepoint, { &uc_is_property_other_default_ignorable_code_point } -odi, { &uc_is_property_other_default_ignorable_code_point } -deprecated, { &uc_is_property_deprecated } -dep, { &uc_is_property_deprecated } -logical_order_exception, { &uc_is_property_logical_order_exception } -logicalorderexception, { &uc_is_property_logical_order_exception } -loe, { &uc_is_property_logical_order_exception } -variation_selector, { &uc_is_property_variation_selector } -variationselector, { &uc_is_property_variation_selector } -vs, { &uc_is_property_variation_selector } -private_use, { &uc_is_property_private_use } -privateuse, { &uc_is_property_private_use } -unassigned_code_value, { &uc_is_property_unassigned_code_value } -unassignedcodevalue, { &uc_is_property_unassigned_code_value } -uppercase, { &uc_is_property_uppercase } -upper, { &uc_is_property_uppercase } -other_uppercase, { &uc_is_property_other_uppercase } -otheruppercase, { &uc_is_property_other_uppercase } -oupper, { &uc_is_property_other_uppercase } -lowercase, { &uc_is_property_lowercase } -lower, { &uc_is_property_lowercase } -other_lowercase, { &uc_is_property_other_lowercase } -otherlowercase, { &uc_is_property_other_lowercase } -olower, { &uc_is_property_other_lowercase } -titlecase, { &uc_is_property_titlecase } -cased, { &uc_is_property_cased } -case_ignorable, { &uc_is_property_case_ignorable } -caseignorable, { &uc_is_property_case_ignorable } -ci, { &uc_is_property_case_ignorable } -changes_when_lowercased, { &uc_is_property_changes_when_lowercased } -changeswhenlowercased, { &uc_is_property_changes_when_lowercased } -cwl, { &uc_is_property_changes_when_lowercased } -changes_when_uppercased, { &uc_is_property_changes_when_uppercased } -changeswhenuppercased, { &uc_is_property_changes_when_uppercased } -cwu, { &uc_is_property_changes_when_uppercased } -changes_when_titlecased, { &uc_is_property_changes_when_titlecased } -changeswhentitlecased, { &uc_is_property_changes_when_titlecased } -cwt, { &uc_is_property_changes_when_titlecased } -changes_when_casefolded, { &uc_is_property_changes_when_casefolded } -changeswhencasefolded, { &uc_is_property_changes_when_casefolded } -cwcf, { &uc_is_property_changes_when_casefolded } -changes_when_casemapped, { &uc_is_property_changes_when_casemapped } -changeswhencasemapped, { &uc_is_property_changes_when_casemapped } -cwcm, { &uc_is_property_changes_when_casemapped } -soft_dotted, { &uc_is_property_soft_dotted } -softdotted, { &uc_is_property_soft_dotted } -sd, { &uc_is_property_soft_dotted } -id_start, { &uc_is_property_id_start } -idstart, { &uc_is_property_id_start } -ids, { &uc_is_property_id_start } -other_id_start, { &uc_is_property_other_id_start } -otheridstart, { &uc_is_property_other_id_start } -oids, { &uc_is_property_other_id_start } -id_continue, { &uc_is_property_id_continue } -idcontinue, { &uc_is_property_id_continue } -idc, { &uc_is_property_id_continue } -other_id_continue, { &uc_is_property_other_id_continue } -otheridcontinue, { &uc_is_property_other_id_continue } -oidc, { &uc_is_property_other_id_continue } -xid_start, { &uc_is_property_xid_start } -xidstart, { &uc_is_property_xid_start } -xids, { &uc_is_property_xid_start } -xid_continue, { &uc_is_property_xid_continue } -xidcontinue, { &uc_is_property_xid_continue } -xidc, { &uc_is_property_xid_continue } -pattern_white_space, { &uc_is_property_pattern_white_space } -patternwhitespace, { &uc_is_property_pattern_white_space } -pat_ws, { &uc_is_property_pattern_white_space } -patws, { &uc_is_property_pattern_white_space } -pattern_syntax, { &uc_is_property_pattern_syntax } -patternsyntax, { &uc_is_property_pattern_syntax } -pat_syn, { &uc_is_property_pattern_syntax } -patsyn, { &uc_is_property_pattern_syntax } -join_control, { &uc_is_property_join_control } -joincontrol, { &uc_is_property_join_control } -join_c, { &uc_is_property_join_control } -joinc, { &uc_is_property_join_control } -grapheme_base, { &uc_is_property_grapheme_base } -graphemebase, { &uc_is_property_grapheme_base } -gr_base, { &uc_is_property_grapheme_base } -grbase, { &uc_is_property_grapheme_base } -grapheme_extend, { &uc_is_property_grapheme_extend } -graphemeextend, { &uc_is_property_grapheme_extend } -gr_ext, { &uc_is_property_grapheme_extend } -grext, { &uc_is_property_grapheme_extend } -other_grapheme_extend, { &uc_is_property_other_grapheme_extend } -othergraphemeextend, { &uc_is_property_other_grapheme_extend } -ogr_ext, { &uc_is_property_other_grapheme_extend } -ogrext, { &uc_is_property_other_grapheme_extend } -grapheme_link, { &uc_is_property_grapheme_link } -graphemelink, { &uc_is_property_grapheme_link } -gr_link, { &uc_is_property_grapheme_link } -grlink, { &uc_is_property_grapheme_link } -bidi_control, { &uc_is_property_bidi_control } -bidicontrol, { &uc_is_property_bidi_control } -bidi_c, { &uc_is_property_bidi_control } -bidic, { &uc_is_property_bidi_control } -bidi_left_to_right, { &uc_is_property_bidi_left_to_right } -bidilefttoright, { &uc_is_property_bidi_left_to_right } -bidi_hebrew_right_to_left, { &uc_is_property_bidi_hebrew_right_to_left } -bidihebrewrighttoleft, { &uc_is_property_bidi_hebrew_right_to_left } -bidi_arabic_right_to_left, { &uc_is_property_bidi_arabic_right_to_left } -bidiarabicrighttoleft, { &uc_is_property_bidi_arabic_right_to_left } -bidi_european_digit, { &uc_is_property_bidi_european_digit } -bidieuropeandigit, { &uc_is_property_bidi_european_digit } -bidi_eur_num_separator, { &uc_is_property_bidi_eur_num_separator } -bidieurnumseparator, { &uc_is_property_bidi_eur_num_separator } -bidi_eur_num_terminator, { &uc_is_property_bidi_eur_num_terminator } -bidieurnumterminator, { &uc_is_property_bidi_eur_num_terminator } -bidi_arabic_digit, { &uc_is_property_bidi_arabic_digit } -bidiarabicdigit, { &uc_is_property_bidi_arabic_digit } -bidi_common_separator, { &uc_is_property_bidi_common_separator } -bidicommonseparator, { &uc_is_property_bidi_common_separator } -bidi_block_separator, { &uc_is_property_bidi_block_separator } -bidiblockseparator, { &uc_is_property_bidi_block_separator } -bidi_segment_separator, { &uc_is_property_bidi_segment_separator } -bidisegmentseparator, { &uc_is_property_bidi_segment_separator } -bidi_whitespace, { &uc_is_property_bidi_whitespace } -bidiwhitespace, { &uc_is_property_bidi_whitespace } -bidi_non_spacing_mark, { &uc_is_property_bidi_non_spacing_mark } -bidinonspacingmark, { &uc_is_property_bidi_non_spacing_mark } -bidi_boundary_neutral, { &uc_is_property_bidi_boundary_neutral } -bidiboundaryneutral, { &uc_is_property_bidi_boundary_neutral } -bidi_pdf, { &uc_is_property_bidi_pdf } -bidipdf, { &uc_is_property_bidi_pdf } -bidi_embedding_or_override, { &uc_is_property_bidi_embedding_or_override } -bidiembeddingoroverride, { &uc_is_property_bidi_embedding_or_override } -bidi_other_neutral, { &uc_is_property_bidi_other_neutral } -bidiotherneutral, { &uc_is_property_bidi_other_neutral } -hex_digit, { &uc_is_property_hex_digit } -hexdigit, { &uc_is_property_hex_digit } -hex, { &uc_is_property_hex_digit } -ascii_hex_digit, { &uc_is_property_ascii_hex_digit } -asciihexdigit, { &uc_is_property_ascii_hex_digit } -ahex, { &uc_is_property_ascii_hex_digit } -ideographic, { &uc_is_property_ideographic } -ideo, { &uc_is_property_ideographic } -unified_ideograph, { &uc_is_property_unified_ideograph } -unifiedideograph, { &uc_is_property_unified_ideograph } -uideo, { &uc_is_property_unified_ideograph } -radical, { &uc_is_property_radical } -ids_binary_operator, { &uc_is_property_ids_binary_operator } -idsbinaryoperator, { &uc_is_property_ids_binary_operator } -idsb, { &uc_is_property_ids_binary_operator } -ids_trinary_operator, { &uc_is_property_ids_trinary_operator } -idstrinaryoperator, { &uc_is_property_ids_trinary_operator } -idst, { &uc_is_property_ids_trinary_operator } -zero_width, { &uc_is_property_zero_width } -zerowidth, { &uc_is_property_zero_width } -space, { &uc_is_property_space } -non_break, { &uc_is_property_non_break } -nonbreak, { &uc_is_property_non_break } -iso_control, { &uc_is_property_iso_control } -isocontrol, { &uc_is_property_iso_control } -format_control, { &uc_is_property_format_control } -formatcontrol, { &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 } -lineseparator, { &uc_is_property_line_separator } -paragraph_separator, { &uc_is_property_paragraph_separator } -paragraphseparator, { &uc_is_property_paragraph_separator } -quotation_mark, { &uc_is_property_quotation_mark } -quotationmark, { &uc_is_property_quotation_mark } -qmark, { &uc_is_property_quotation_mark } -sentence_terminal, { &uc_is_property_sentence_terminal } -sentenceterminal, { &uc_is_property_sentence_terminal } -terminal_punctuation, { &uc_is_property_terminal_punctuation } -terminalpunctuation, { &uc_is_property_terminal_punctuation } -term, { &uc_is_property_terminal_punctuation } -currency_symbol, { &uc_is_property_currency_symbol } -currencysymbol, { &uc_is_property_currency_symbol } -math, { &uc_is_property_math } -other_math, { &uc_is_property_other_math } -othermath, { &uc_is_property_other_math } -omath, { &uc_is_property_other_math } -paired_punctuation, { &uc_is_property_paired_punctuation } -pairedpunctuation, { &uc_is_property_paired_punctuation } -left_of_pair, { &uc_is_property_left_of_pair } -leftofpair, { &uc_is_property_left_of_pair } -combining, { &uc_is_property_combining } -composite, { &uc_is_property_composite } -decimal_digit, { &uc_is_property_decimal_digit } -decimaldigit, { &uc_is_property_decimal_digit } -numeric, { &uc_is_property_numeric } -diacritic, { &uc_is_property_diacritic } -dia, { &uc_is_property_diacritic } -extender, { &uc_is_property_extender } -ext, { &uc_is_property_extender } -ignorable_control, { &uc_is_property_ignorable_control } -ignorablecontrol, { &uc_is_property_ignorable_control } +white_space, UC_PROPERTY_INDEX_WHITE_SPACE +whitespace, UC_PROPERTY_INDEX_WHITE_SPACE +wspace, UC_PROPERTY_INDEX_WHITE_SPACE +alphabetic, UC_PROPERTY_INDEX_ALPHABETIC +alpha, UC_PROPERTY_INDEX_ALPHABETIC +other_alphabetic, UC_PROPERTY_INDEX_OTHER_ALPHABETIC +otheralphabetic, UC_PROPERTY_INDEX_OTHER_ALPHABETIC +oalpha, UC_PROPERTY_INDEX_OTHER_ALPHABETIC +not_a_character, UC_PROPERTY_INDEX_NOT_A_CHARACTER +notacharacter, UC_PROPERTY_INDEX_NOT_A_CHARACTER +default_ignorable_code_point, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT +defaultignorablecodepoint, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT +di, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT +other_default_ignorable_code_point, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT +otherdefaultignorablecodepoint, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT +odi, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT +deprecated, UC_PROPERTY_INDEX_DEPRECATED +dep, UC_PROPERTY_INDEX_DEPRECATED +logical_order_exception, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION +logicalorderexception, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION +loe, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION +variation_selector, UC_PROPERTY_INDEX_VARIATION_SELECTOR +variationselector, UC_PROPERTY_INDEX_VARIATION_SELECTOR +vs, UC_PROPERTY_INDEX_VARIATION_SELECTOR +private_use, UC_PROPERTY_INDEX_PRIVATE_USE +privateuse, UC_PROPERTY_INDEX_PRIVATE_USE +unassigned_code_value, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE +unassignedcodevalue, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE +uppercase, UC_PROPERTY_INDEX_UPPERCASE +upper, UC_PROPERTY_INDEX_UPPERCASE +other_uppercase, UC_PROPERTY_INDEX_OTHER_UPPERCASE +otheruppercase, UC_PROPERTY_INDEX_OTHER_UPPERCASE +oupper, UC_PROPERTY_INDEX_OTHER_UPPERCASE +lowercase, UC_PROPERTY_INDEX_LOWERCASE +lower, UC_PROPERTY_INDEX_LOWERCASE +other_lowercase, UC_PROPERTY_INDEX_OTHER_LOWERCASE +otherlowercase, UC_PROPERTY_INDEX_OTHER_LOWERCASE +olower, UC_PROPERTY_INDEX_OTHER_LOWERCASE +titlecase, UC_PROPERTY_INDEX_TITLECASE +cased, UC_PROPERTY_INDEX_CASED +case_ignorable, UC_PROPERTY_INDEX_CASE_IGNORABLE +caseignorable, UC_PROPERTY_INDEX_CASE_IGNORABLE +ci, UC_PROPERTY_INDEX_CASE_IGNORABLE +changes_when_lowercased, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED +changeswhenlowercased, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED +cwl, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED +changes_when_uppercased, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED +changeswhenuppercased, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED +cwu, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED +changes_when_titlecased, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED +changeswhentitlecased, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED +cwt, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED +changes_when_casefolded, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED +changeswhencasefolded, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED +cwcf, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED +changes_when_casemapped, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED +changeswhencasemapped, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED +cwcm, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED +soft_dotted, UC_PROPERTY_INDEX_SOFT_DOTTED +softdotted, UC_PROPERTY_INDEX_SOFT_DOTTED +sd, UC_PROPERTY_INDEX_SOFT_DOTTED +id_start, UC_PROPERTY_INDEX_ID_START +idstart, UC_PROPERTY_INDEX_ID_START +ids, UC_PROPERTY_INDEX_ID_START +other_id_start, UC_PROPERTY_INDEX_OTHER_ID_START +otheridstart, UC_PROPERTY_INDEX_OTHER_ID_START +oids, UC_PROPERTY_INDEX_OTHER_ID_START +id_continue, UC_PROPERTY_INDEX_ID_CONTINUE +idcontinue, UC_PROPERTY_INDEX_ID_CONTINUE +idc, UC_PROPERTY_INDEX_ID_CONTINUE +other_id_continue, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE +otheridcontinue, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE +oidc, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE +xid_start, UC_PROPERTY_INDEX_XID_START +xidstart, UC_PROPERTY_INDEX_XID_START +xids, UC_PROPERTY_INDEX_XID_START +xid_continue, UC_PROPERTY_INDEX_XID_CONTINUE +xidcontinue, UC_PROPERTY_INDEX_XID_CONTINUE +xidc, UC_PROPERTY_INDEX_XID_CONTINUE +pattern_white_space, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE +patternwhitespace, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE +pat_ws, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE +patws, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE +pattern_syntax, UC_PROPERTY_INDEX_PATTERN_SYNTAX +patternsyntax, UC_PROPERTY_INDEX_PATTERN_SYNTAX +pat_syn, UC_PROPERTY_INDEX_PATTERN_SYNTAX +patsyn, UC_PROPERTY_INDEX_PATTERN_SYNTAX +join_control, UC_PROPERTY_INDEX_JOIN_CONTROL +joincontrol, UC_PROPERTY_INDEX_JOIN_CONTROL +join_c, UC_PROPERTY_INDEX_JOIN_CONTROL +joinc, UC_PROPERTY_INDEX_JOIN_CONTROL +grapheme_base, UC_PROPERTY_INDEX_GRAPHEME_BASE +graphemebase, UC_PROPERTY_INDEX_GRAPHEME_BASE +gr_base, UC_PROPERTY_INDEX_GRAPHEME_BASE +grbase, UC_PROPERTY_INDEX_GRAPHEME_BASE +grapheme_extend, UC_PROPERTY_INDEX_GRAPHEME_EXTEND +graphemeextend, UC_PROPERTY_INDEX_GRAPHEME_EXTEND +gr_ext, UC_PROPERTY_INDEX_GRAPHEME_EXTEND +grext, UC_PROPERTY_INDEX_GRAPHEME_EXTEND +other_grapheme_extend, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND +othergraphemeextend, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND +ogr_ext, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND +ogrext, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND +grapheme_link, UC_PROPERTY_INDEX_GRAPHEME_LINK +graphemelink, UC_PROPERTY_INDEX_GRAPHEME_LINK +gr_link, UC_PROPERTY_INDEX_GRAPHEME_LINK +grlink, UC_PROPERTY_INDEX_GRAPHEME_LINK +bidi_control, UC_PROPERTY_INDEX_BIDI_CONTROL +bidicontrol, UC_PROPERTY_INDEX_BIDI_CONTROL +bidi_c, UC_PROPERTY_INDEX_BIDI_CONTROL +bidic, UC_PROPERTY_INDEX_BIDI_CONTROL +bidi_left_to_right, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT +bidilefttoright, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT +bidi_hebrew_right_to_left, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT +bidihebrewrighttoleft, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT +bidi_arabic_right_to_left, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT +bidiarabicrighttoleft, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT +bidi_european_digit, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT +bidieuropeandigit, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT +bidi_eur_num_separator, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR +bidieurnumseparator, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR +bidi_eur_num_terminator, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR +bidieurnumterminator, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR +bidi_arabic_digit, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT +bidiarabicdigit, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT +bidi_common_separator, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR +bidicommonseparator, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR +bidi_block_separator, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR +bidiblockseparator, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR +bidi_segment_separator, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR +bidisegmentseparator, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR +bidi_whitespace, UC_PROPERTY_INDEX_BIDI_WHITESPACE +bidiwhitespace, UC_PROPERTY_INDEX_BIDI_WHITESPACE +bidi_non_spacing_mark, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK +bidinonspacingmark, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK +bidi_boundary_neutral, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL +bidiboundaryneutral, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL +bidi_pdf, UC_PROPERTY_INDEX_BIDI_PDF +bidipdf, UC_PROPERTY_INDEX_BIDI_PDF +bidi_embedding_or_override, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE +bidiembeddingoroverride, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE +bidi_other_neutral, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL +bidiotherneutral, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL +hex_digit, UC_PROPERTY_INDEX_HEX_DIGIT +hexdigit, UC_PROPERTY_INDEX_HEX_DIGIT +hex, UC_PROPERTY_INDEX_HEX_DIGIT +ascii_hex_digit, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT +asciihexdigit, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT +ahex, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT +ideographic, UC_PROPERTY_INDEX_IDEOGRAPHIC +ideo, UC_PROPERTY_INDEX_IDEOGRAPHIC +unified_ideograph, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH +unifiedideograph, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH +uideo, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH +radical, UC_PROPERTY_INDEX_RADICAL +ids_binary_operator, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR +idsbinaryoperator, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR +idsb, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR +ids_trinary_operator, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR +idstrinaryoperator, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR +idst, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR +zero_width, UC_PROPERTY_INDEX_ZERO_WIDTH +zerowidth, UC_PROPERTY_INDEX_ZERO_WIDTH +space, UC_PROPERTY_INDEX_SPACE +non_break, UC_PROPERTY_INDEX_NON_BREAK +nonbreak, UC_PROPERTY_INDEX_NON_BREAK +iso_control, UC_PROPERTY_INDEX_ISO_CONTROL +isocontrol, UC_PROPERTY_INDEX_ISO_CONTROL +format_control, UC_PROPERTY_INDEX_FORMAT_CONTROL +formatcontrol, UC_PROPERTY_INDEX_FORMAT_CONTROL +dash, UC_PROPERTY_INDEX_DASH +hyphen, UC_PROPERTY_INDEX_HYPHEN +punctuation, UC_PROPERTY_INDEX_PUNCTUATION +line_separator, UC_PROPERTY_INDEX_LINE_SEPARATOR +lineseparator, UC_PROPERTY_INDEX_LINE_SEPARATOR +paragraph_separator, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR +paragraphseparator, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR +quotation_mark, UC_PROPERTY_INDEX_QUOTATION_MARK +quotationmark, UC_PROPERTY_INDEX_QUOTATION_MARK +qmark, UC_PROPERTY_INDEX_QUOTATION_MARK +sentence_terminal, UC_PROPERTY_INDEX_SENTENCE_TERMINAL +sentenceterminal, UC_PROPERTY_INDEX_SENTENCE_TERMINAL +terminal_punctuation, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION +terminalpunctuation, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION +term, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION +currency_symbol, UC_PROPERTY_INDEX_CURRENCY_SYMBOL +currencysymbol, UC_PROPERTY_INDEX_CURRENCY_SYMBOL +math, UC_PROPERTY_INDEX_MATH +other_math, UC_PROPERTY_INDEX_OTHER_MATH +othermath, UC_PROPERTY_INDEX_OTHER_MATH +omath, UC_PROPERTY_INDEX_OTHER_MATH +paired_punctuation, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION +pairedpunctuation, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION +left_of_pair, UC_PROPERTY_INDEX_LEFT_OF_PAIR +leftofpair, UC_PROPERTY_INDEX_LEFT_OF_PAIR +combining, UC_PROPERTY_INDEX_COMBINING +composite, UC_PROPERTY_INDEX_COMPOSITE +decimal_digit, UC_PROPERTY_INDEX_DECIMAL_DIGIT +decimaldigit, UC_PROPERTY_INDEX_DECIMAL_DIGIT +numeric, UC_PROPERTY_INDEX_NUMERIC +diacritic, UC_PROPERTY_INDEX_DIACRITIC +dia, UC_PROPERTY_INDEX_DIACRITIC +extender, UC_PROPERTY_INDEX_EXTENDER +ext, UC_PROPERTY_INDEX_EXTENDER +ignorable_control, UC_PROPERTY_INDEX_IGNORABLE_CONTROL +ignorablecontrol, UC_PROPERTY_INDEX_IGNORABLE_CONTROL -- 2.11.0