/* Properties of Unicode characters.
   Copyright (C) 2007-2022 Free Software Foundation, Inc.

   This file is free software.
   It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
   You can redistribute it and/or modify it under either
     - the terms of the GNU Lesser General Public License as published
       by the Free Software Foundation; either version 3, or (at your
       option) any later version, or
     - 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, or
     - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".

   This file 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 and the GNU General Public License
   for more details.

   You should have received a copy of the GNU Lesser General Public
   License and of the GNU General Public License along with this
   program.  If not, see <https://www.gnu.org/licenses/>.  */

struct named_property { int name; int property_index; };
%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
%pic
%define string-pool-name properties_stringpool
%%
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
