diff options
author | Bruno Haible <bruno@clisp.org> | 2021-12-30 11:43:09 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2021-12-30 11:43:09 +0100 |
commit | ef4c53b0329bd6ce418bebbbac3fdf8b52aeb2aa (patch) | |
tree | 39cd796165a457bc2236d1a69b2df3ce72fbccbf | |
parent | 8026587b94e4274f3406a36bc89348a24ea86b6a (diff) | |
download | gnulib-ef4c53b0329bd6ce418bebbbac3fdf8b52aeb2aa.tar.gz |
unictype: Add Emoji properties from Unicode 11.0.0.
* lib/gen-uni-tables.c (PROP_EMOJI*, PROP_EXTENDED_PICTOGRAPHIC): New
enum values.
(fill_properties): Don't require a space between the property name and
the comment. Handle the property names from emoji-data.txt.
(is_property_emoji, is_property_emoji_presentation,
is_property_emoji_modifier, is_property_emoji_modifier_base,
is_property_emoji_component, is_property_extended_pictographic): New
declarations.
(output_properties): Emit the properties emoji, emoji_presentation,
emoji_modifier, emoji_modifier_base, emoji_component,
extended_pictographic.
(get_lbp): Use the emoji_modifier property.
(main): Expect one more argument, for the emoji-data.txt file.
* lib/unictype.in.h (UC_PROPERTY_EMOJI, UC_PROPERTY_EMOJI_PRESENTATION,
UC_PROPERTY_EMOJI_MODIFIER, UC_PROPERTY_EMOJI_MODIFIER_BASE,
UC_PROPERTY_EMOJI_COMPONENT, UC_PROPERTY_EXTENDED_PICTOGRAPHIC,
uc_is_property_emoji, uc_is_property_emoji_presentation,
uc_is_property_emoji_modifier, uc_is_property_emoji_modifier_base,
uc_is_property_emoji_component, uc_is_property_extended_pictographic):
New declarations.
* lib/unictype/pr_emoji.c: New file.
* lib/unictype/pr_emoji_presentation.c: New file.
* lib/unictype/pr_emoji_modifier.c: New file.
* lib/unictype/pr_emoji_modifier_base.c: New file.
* lib/unictype/pr_emoji_component.c: New file.
* lib/unictype/pr_extended_pictographic.c: New file.
* modules/unictype/property-emoji: New file.
* modules/unictype/property-emoji-tests: New file.
* modules/unictype/property-emoji-presentation: New file.
* modules/unictype/property-emoji-presentation-tests: New file.
* modules/unictype/property-emoji-modifier: New file.
* modules/unictype/property-emoji-modifier-tests: New file.
* modules/unictype/property-emoji-modifier-base: New file.
* modules/unictype/property-emoji-modifier-base-tests: New file.
* modules/unictype/property-emoji-component: New file.
* modules/unictype/property-emoji-component-tests: New file.
* modules/unictype/property-extended-pictographic: New file.
* modules/unictype/property-extended-pictographic-tests: New file.
* modules/unictype/property-all (Depends-on): Depend on the new modules.
34 files changed, 3210 insertions, 18 deletions
@@ -1,3 +1,46 @@ +2021-12-30 Bruno Haible <bruno@clisp.org> + + unictype: Add Emoji properties from Unicode 11.0.0. + * lib/gen-uni-tables.c (PROP_EMOJI*, PROP_EXTENDED_PICTOGRAPHIC): New + enum values. + (fill_properties): Don't require a space between the property name and + the comment. Handle the property names from emoji-data.txt. + (is_property_emoji, is_property_emoji_presentation, + is_property_emoji_modifier, is_property_emoji_modifier_base, + is_property_emoji_component, is_property_extended_pictographic): New + declarations. + (output_properties): Emit the properties emoji, emoji_presentation, + emoji_modifier, emoji_modifier_base, emoji_component, + extended_pictographic. + (get_lbp): Use the emoji_modifier property. + (main): Expect one more argument, for the emoji-data.txt file. + * lib/unictype.in.h (UC_PROPERTY_EMOJI, UC_PROPERTY_EMOJI_PRESENTATION, + UC_PROPERTY_EMOJI_MODIFIER, UC_PROPERTY_EMOJI_MODIFIER_BASE, + UC_PROPERTY_EMOJI_COMPONENT, UC_PROPERTY_EXTENDED_PICTOGRAPHIC, + uc_is_property_emoji, uc_is_property_emoji_presentation, + uc_is_property_emoji_modifier, uc_is_property_emoji_modifier_base, + uc_is_property_emoji_component, uc_is_property_extended_pictographic): + New declarations. + * lib/unictype/pr_emoji.c: New file. + * lib/unictype/pr_emoji_presentation.c: New file. + * lib/unictype/pr_emoji_modifier.c: New file. + * lib/unictype/pr_emoji_modifier_base.c: New file. + * lib/unictype/pr_emoji_component.c: New file. + * lib/unictype/pr_extended_pictographic.c: New file. + * modules/unictype/property-emoji: New file. + * modules/unictype/property-emoji-tests: New file. + * modules/unictype/property-emoji-presentation: New file. + * modules/unictype/property-emoji-presentation-tests: New file. + * modules/unictype/property-emoji-modifier: New file. + * modules/unictype/property-emoji-modifier-tests: New file. + * modules/unictype/property-emoji-modifier-base: New file. + * modules/unictype/property-emoji-modifier-base-tests: New file. + * modules/unictype/property-emoji-component: New file. + * modules/unictype/property-emoji-component-tests: New file. + * modules/unictype/property-extended-pictographic: New file. + * modules/unictype/property-extended-pictographic-tests: New file. + * modules/unictype/property-all (Depends-on): Depend on the new modules. + 2021-12-29 Bruno Haible <bruno@clisp.org> uniwidth: Give width 0 to conjoining Hangul Jamo jungseong, jongseong. diff --git a/lib/gen-uni-tables.c b/lib/gen-uni-tables.c index 85ad5c439e..a98da8b164 100644 --- a/lib/gen-uni-tables.c +++ b/lib/gen-uni-tables.c @@ -21,6 +21,7 @@ $ gen-uni-tables /usr/local/share/www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt \ /usr/local/share/www.unicode.org/Public/10.0.0/ucd/PropList.txt \ /usr/local/share/www.unicode.org/Public/10.0.0/ucd/DerivedCoreProperties.txt \ + /usr/local/share/www.unicode.org/Public/emoji/11.0/emoji-data.txt \ /usr/local/share/www.unicode.org/Public/10.0.0/ucd/ArabicShaping.txt \ /usr/local/share/www.unicode.org/Public/10.0.0/ucd/Scripts.txt \ /usr/local/share/www.unicode.org/Public/10.0.0/ucd/Blocks.txt \ @@ -2736,7 +2737,14 @@ enum PROP_DEFAULT_IGNORABLE_CODE_POINT, PROP_GRAPHEME_EXTEND, PROP_GRAPHEME_BASE, - PROP_GRAPHEME_LINK + PROP_GRAPHEME_LINK, + /* emoji-data.txt */ + PROP_EMOJI, + PROP_EMOJI_PRESENTATION, + PROP_EMOJI_MODIFIER, + PROP_EMOJI_MODIFIER_BASE, + PROP_EMOJI_COMPONENT, + PROP_EXTENDED_PICTOGRAPHIC }; unsigned long long unicode_properties[0x110000]; @@ -2778,9 +2786,9 @@ fill_properties (const char *proplist_filename) if (buf[0] == '\0' || buf[0] == '#') continue; - if (sscanf (buf, "%X..%X%[ ;]%[^ ]", &i1, &i2, padding, propname) != 4) + if (sscanf (buf, "%X..%X%[ ;]%[^ #]", &i1, &i2, padding, propname) != 4) { - if (sscanf (buf, "%X%[ ;]%[^ ]", &i1, padding, propname) != 3) + if (sscanf (buf, "%X%[ ;]%[^ #]", &i1, padding, propname) != 3) { fprintf (stderr, "parse error in '%s'\n", proplist_filename); exit (1); @@ -2844,6 +2852,13 @@ fill_properties (const char *proplist_filename) PROP ("Grapheme_Extend", PROP_GRAPHEME_EXTEND) PROP ("Grapheme_Base", PROP_GRAPHEME_BASE) PROP ("Grapheme_Link", PROP_GRAPHEME_LINK) + /* emoji-data.txt */ + PROP ("Emoji", PROP_EMOJI) + PROP ("Emoji_Presentation", PROP_EMOJI_PRESENTATION) + PROP ("Emoji_Modifier", PROP_EMOJI_MODIFIER) + PROP ("Emoji_Modifier_Base", PROP_EMOJI_MODIFIER_BASE) + PROP ("Emoji_Component", PROP_EMOJI_COMPONENT) + PROP ("Extended_Pictographic", PROP_EXTENDED_PICTOGRAPHIC) #undef PROP { fprintf (stderr, "unknown property named '%s' in '%s'\n", propname, @@ -3721,6 +3736,48 @@ is_property_regional_indicator (unsigned int ch) return ((unicode_properties[ch] & (1ULL << PROP_REGIONAL_INDICATOR)) != 0); } +/* See emoji-data.txt, UTS #51. */ +static bool +is_property_emoji (unsigned int ch) +{ + return ((unicode_properties[ch] & (1ULL << PROP_EMOJI)) != 0); +} + +/* See emoji-data.txt, UTS #51. */ +static bool +is_property_emoji_presentation (unsigned int ch) +{ + return ((unicode_properties[ch] & (1ULL << PROP_EMOJI_PRESENTATION)) != 0); +} + +/* See emoji-data.txt, UTS #51. */ +static bool +is_property_emoji_modifier (unsigned int ch) +{ + return ((unicode_properties[ch] & (1ULL << PROP_EMOJI_MODIFIER)) != 0); +} + +/* See emoji-data.txt, UTS #51. */ +static bool +is_property_emoji_modifier_base (unsigned int ch) +{ + return ((unicode_properties[ch] & (1ULL << PROP_EMOJI_MODIFIER_BASE)) != 0); +} + +/* See emoji-data.txt, UTS #51. */ +static bool +is_property_emoji_component (unsigned int ch) +{ + return ((unicode_properties[ch] & (1ULL << PROP_EMOJI_COMPONENT)) != 0); +} + +/* See emoji-data.txt, UTS #51. */ +static bool +is_property_extended_pictographic (unsigned int ch) +{ + return ((unicode_properties[ch] & (1ULL << PROP_EXTENDED_PICTOGRAPHIC)) != 0); +} + /* ------------------------------------------------------------------------- */ /* Output all properties. */ @@ -3818,6 +3875,12 @@ output_properties (const char *version) PROPERTY(extender) PROPERTY(ignorable_control) PROPERTY(regional_indicator) + PROPERTY(emoji) + PROPERTY(emoji_presentation) + PROPERTY(emoji_modifier) + PROPERTY(emoji_modifier_base) + PROPERTY(emoji_component) + PROPERTY(extended_pictographic) #undef PROPERTY } @@ -6651,7 +6714,7 @@ get_lbp (unsigned int ch) || (ch >= 0x1F9D1 && ch <= 0x1F9DD) /* ADULT..ELF */) attr |= (int64_t) 1 << LBP_EB; - if ((ch >= 0x1F3FB && ch <= 0x1F3FF) /* EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 */) + if (((unicode_properties[ch] >> PROP_EMOJI_MODIFIER) & 1) != 0) /* EMOJI MODIFIER */ attr |= (int64_t) 1 << LBP_EM; /* non-breaking (glue) */ @@ -10879,6 +10942,7 @@ main (int argc, char * argv[]) const char *unicodedata_filename; const char *proplist_filename; const char *derivedproplist_filename; + const char *emojidata_filename; const char *arabicshaping_filename; const char *scripts_filename; const char *blocks_filename; @@ -10892,9 +10956,9 @@ main (int argc, char * argv[]) const char *casefolding_filename; const char *version; - if (argc != 16) + if (argc != 17) { - fprintf (stderr, "Usage: %s UnicodeData.txt PropList.txt DerivedCoreProperties.txt ArabicShaping.txt Scripts.txt Blocks.txt PropList-3.0.1.txt EastAsianWidth.txt LineBreak.txt WordBreakProperty.txt GraphemeBreakProperty.txt CompositionExclusions.txt SpecialCasing.txt CaseFolding.txt version\n", + fprintf (stderr, "Usage: %s UnicodeData.txt PropList.txt DerivedCoreProperties.txt emoji-data.txt ArabicShaping.txt Scripts.txt Blocks.txt PropList-3.0.1.txt EastAsianWidth.txt LineBreak.txt WordBreakProperty.txt GraphemeBreakProperty.txt CompositionExclusions.txt SpecialCasing.txt CaseFolding.txt version\n", argv[0]); exit (1); } @@ -10902,23 +10966,25 @@ main (int argc, char * argv[]) unicodedata_filename = argv[1]; proplist_filename = argv[2]; derivedproplist_filename = argv[3]; - arabicshaping_filename = argv[4]; - scripts_filename = argv[5]; - blocks_filename = argv[6]; - proplist30_filename = argv[7]; - eastasianwidth_filename = argv[8]; - linebreak_filename = argv[9]; - wordbreakproperty_filename = argv[10]; - graphemebreakproperty_filename = argv[11]; - compositionexclusions_filename = argv[12]; - specialcasing_filename = argv[13]; - casefolding_filename = argv[14]; - version = argv[15]; + emojidata_filename = argv[4]; + arabicshaping_filename = argv[5]; + scripts_filename = argv[6]; + blocks_filename = argv[7]; + proplist30_filename = argv[8]; + eastasianwidth_filename = argv[9]; + linebreak_filename = argv[10]; + wordbreakproperty_filename = argv[11]; + graphemebreakproperty_filename = argv[12]; + compositionexclusions_filename = argv[13]; + specialcasing_filename = argv[14]; + casefolding_filename = argv[15]; + version = argv[16]; fill_attributes (unicodedata_filename); clear_properties (); fill_properties (proplist_filename); fill_properties (derivedproplist_filename); + fill_properties (emojidata_filename); fill_properties30 (proplist30_filename); fill_arabicshaping (arabicshaping_filename); fill_scripts (scripts_filename); @@ -10996,6 +11062,7 @@ main (int argc, char * argv[]) * /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/10.0.0/ucd/UnicodeData.txt \\ * /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/10.0.0/ucd/PropList.txt \\ * /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/10.0.0/ucd/DerivedCoreProperties.txt \\ + * /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/emoji/11.0/emoji-data.txt \\ * /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/10.0.0/ucd/ArabicShaping.txt \\ * /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/10.0.0/ucd/Scripts.txt \\ * /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/10.0.0/ucd/Blocks.txt \\ diff --git a/lib/unictype.in.h b/lib/unictype.in.h index 89d11bebcb..cb4902b5f6 100644 --- a/lib/unictype.in.h +++ b/lib/unictype.in.h @@ -665,6 +665,13 @@ extern const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH; extern const uc_property_t UC_PROPERTY_RADICAL; extern const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR; extern const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR; +/* Emoji. */ +extern const uc_property_t UC_PROPERTY_EMOJI; +extern const uc_property_t UC_PROPERTY_EMOJI_PRESENTATION; +extern const uc_property_t UC_PROPERTY_EMOJI_MODIFIER; +extern const uc_property_t UC_PROPERTY_EMOJI_MODIFIER_BASE; +extern const uc_property_t UC_PROPERTY_EMOJI_COMPONENT; +extern const uc_property_t UC_PROPERTY_EXTENDED_PICTOGRAPHIC; /* Misc. */ extern const uc_property_t UC_PROPERTY_ZERO_WIDTH; extern const uc_property_t UC_PROPERTY_SPACE; @@ -825,6 +832,18 @@ extern bool uc_is_property_ids_binary_operator (ucs4_t uc) _UC_ATTRIBUTE_CONST; extern bool uc_is_property_ids_trinary_operator (ucs4_t uc) _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_emoji (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_emoji_presentation (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_emoji_modifier (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_emoji_modifier_base (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_emoji_component (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_extended_pictographic (ucs4_t uc) + _UC_ATTRIBUTE_CONST; extern bool uc_is_property_zero_width (ucs4_t uc) _UC_ATTRIBUTE_CONST; extern bool uc_is_property_space (ucs4_t uc) diff --git a/lib/unictype/pr_emoji.c b/lib/unictype/pr_emoji.c new file mode 100644 index 0000000000..eb08236c57 --- /dev/null +++ b/lib/unictype/pr_emoji.c @@ -0,0 +1,43 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2002. + + 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/>. */ + +#include <config.h> + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_emoji table. */ +#include "pr_emoji.h" + +bool +uc_is_property_emoji (ucs4_t uc) +{ + return bitmap_lookup (&u_property_emoji, uc); +} + +const uc_property_t UC_PROPERTY_EMOJI = + { &uc_is_property_emoji }; diff --git a/lib/unictype/pr_emoji.h b/lib/unictype/pr_emoji.h new file mode 100644 index 0000000000..1698c99c6e --- /dev/null +++ b/lib/unictype/pr_emoji.h @@ -0,0 +1,363 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 10.0.0. */ + +/* Copyright (C) 2000-2021 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/>. */ + +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + unsigned int level3[14 << 4]; + } +u_property_emoji = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1 + }, + { + 0x00000000U, 0x03FF0408U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00004200U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x10000000U, 0x00000200U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x02000004U, 0x00000000U, 0x00000000U, + 0x03F00000U, 0x00000600U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x0C000000U, 0x00000100U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00008000U, 0x070FFE00U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000004U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00400C00U, 0x00000001U, 0x78000000U, + 0x2132401FU, 0x0700C44DU, 0x800FFF05U, 0xC8000169U, + 0x1AFC0000U, 0x60030C03U, 0x001AC130U, 0x27BF0600U, + 0x2054BF24U, 0x00180102U, 0x00B85090U, 0x00000018U, + 0x00E00000U, 0x80010002U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00300000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x180000E0U, 0x00000000U, 0x00210000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x20010000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x02800000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000010U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00008000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0xC0030000U, + 0x07FE4000U, 0x00000000U, 0x00000000U, 0xFFFFFFC0U, + 0x04000006U, 0x07FC8000U, 0x00030000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFF3U, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xCECFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFB9FFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xBFFFFFFFU, + 0xFFFFFFFFU, 0x3FFFFFFFU, 0xFFFF7E00U, 0x07F980FFU, + 0x00613C80U, 0x10060130U, 0x700E001CU, 0xFC08810AU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0x0000FFFFU, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0x0007F83FU, 0x03F91A3FU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFF0000U, 0x77FFFFFFU, 0xFFFFFFBFU, 0xF479FFFFU, + 0xFFFFFFFFU, 0x03FF0007U, 0xFFFF0007U, 0xFFFFFFFFU + } +}; diff --git a/lib/unictype/pr_emoji_component.c b/lib/unictype/pr_emoji_component.c new file mode 100644 index 0000000000..a4e4715211 --- /dev/null +++ b/lib/unictype/pr_emoji_component.c @@ -0,0 +1,43 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2002. + + 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/>. */ + +#include <config.h> + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_emoji_component table. */ +#include "pr_emoji_component.h" + +bool +uc_is_property_emoji_component (ucs4_t uc) +{ + return bitmap_lookup (&u_property_emoji_component, uc); +} + +const uc_property_t UC_PROPERTY_EMOJI_COMPONENT = + { &uc_is_property_emoji_component }; diff --git a/lib/unictype/pr_emoji_component.h b/lib/unictype/pr_emoji_component.h new file mode 100644 index 0000000000..016beba168 --- /dev/null +++ b/lib/unictype/pr_emoji_component.h @@ -0,0 +1,476 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 10.0.0. */ + +/* Copyright (C) 2000-2021 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/>. */ + +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + unsigned int level3[7 << 4]; + } +u_property_emoji_component = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + 16 + 384 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000U, 0x03FF0408U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00002000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000008U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00008000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0xFFFFFFC0U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0xF8000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x000F0000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U + } +}; diff --git a/lib/unictype/pr_emoji_modifier.c b/lib/unictype/pr_emoji_modifier.c new file mode 100644 index 0000000000..69febd9ea1 --- /dev/null +++ b/lib/unictype/pr_emoji_modifier.c @@ -0,0 +1,43 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2002. + + 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/>. */ + +#include <config.h> + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_emoji_modifier table. */ +#include "pr_emoji_modifier.h" + +bool +uc_is_property_emoji_modifier (ucs4_t uc) +{ + return bitmap_lookup (&u_property_emoji_modifier, uc); +} + +const uc_property_t UC_PROPERTY_EMOJI_MODIFIER = + { &uc_is_property_emoji_modifier }; diff --git a/lib/unictype/pr_emoji_modifier.h b/lib/unictype/pr_emoji_modifier.h new file mode 100644 index 0000000000..f4ece8c04b --- /dev/null +++ b/lib/unictype/pr_emoji_modifier.h @@ -0,0 +1,183 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 10.0.0. */ + +/* Copyright (C) 2000-2021 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/>. */ + +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[1 << 7]; + unsigned int level3[1 << 4]; + } +u_property_emoji_modifier = +{ + { 2 }, + { + -1, + 3 * sizeof (int) / sizeof (short) + 0 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0xF8000000U + } +}; diff --git a/lib/unictype/pr_emoji_modifier_base.c b/lib/unictype/pr_emoji_modifier_base.c new file mode 100644 index 0000000000..8e3d29626e --- /dev/null +++ b/lib/unictype/pr_emoji_modifier_base.c @@ -0,0 +1,43 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2002. + + 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/>. */ + +#include <config.h> + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_emoji_modifier_base table. */ +#include "pr_emoji_modifier_base.h" + +bool +uc_is_property_emoji_modifier_base (ucs4_t uc) +{ + return bitmap_lookup (&u_property_emoji_modifier_base, uc); +} + +const uc_property_t UC_PROPERTY_EMOJI_MODIFIER_BASE = + { &uc_is_property_emoji_modifier_base }; diff --git a/lib/unictype/pr_emoji_modifier_base.h b/lib/unictype/pr_emoji_modifier_base.h new file mode 100644 index 0000000000..dbf785ee7c --- /dev/null +++ b/lib/unictype/pr_emoji_modifier_base.h @@ -0,0 +1,327 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 10.0.0. */ + +/* Copyright (C) 2000-2021 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/>. */ + +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + unsigned int level3[5 << 4]; + } +u_property_emoji_modifier_base = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1 + }, + { + 0x20000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x02000000U, + 0x00003C00U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000020U, 0x00000000U, 0x00001C9CU, 0x00000000U, + 0x00000000U, 0x00000000U, 0x0001FFCCU, 0x11FF43C0U, + 0x000000EEU, 0x00000400U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x04300000U, + 0x00610000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x0000F8E0U, 0x00000000U, + 0x00000000U, 0x00700008U, 0x00001001U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xDF000000U, 0x63FF0040U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x03600000U, 0x3FFE0000U, 0x00000000U + } +}; diff --git a/lib/unictype/pr_emoji_presentation.c b/lib/unictype/pr_emoji_presentation.c new file mode 100644 index 0000000000..84b1c9146f --- /dev/null +++ b/lib/unictype/pr_emoji_presentation.c @@ -0,0 +1,43 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2002. + + 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/>. */ + +#include <config.h> + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_emoji_presentation table. */ +#include "pr_emoji_presentation.h" + +bool +uc_is_property_emoji_presentation (ucs4_t uc) +{ + return bitmap_lookup (&u_property_emoji_presentation, uc); +} + +const uc_property_t UC_PROPERTY_EMOJI_PRESENTATION = + { &uc_is_property_emoji_presentation }; diff --git a/lib/unictype/pr_emoji_presentation.h b/lib/unictype/pr_emoji_presentation.h new file mode 100644 index 0000000000..f6675e4bf6 --- /dev/null +++ b/lib/unictype/pr_emoji_presentation.h @@ -0,0 +1,343 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 10.0.0. */ + +/* Copyright (C) 2000-2021 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/>. */ + +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + unsigned int level3[9 << 4]; + } +u_property_emoji_presentation = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1 + }, + { + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x0C000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00091E00U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x60000000U, + 0x00300000U, 0x00000000U, 0x000FFF00U, 0x80000000U, + 0x00080000U, 0x60000C02U, 0x00104030U, 0x242C0400U, + 0x00000C20U, 0x00000100U, 0x00B85000U, 0x00000000U, + 0x00E00000U, 0x80010000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x18000000U, 0x00000000U, 0x00210000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000010U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00008000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x07FE4000U, 0x00000000U, 0x00000000U, 0xFFFFFFC0U, + 0x04000002U, 0x077C8000U, 0x00030000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFBFE001U, 0xFFFFFFFFU, 0xDFFFFFFFU, + 0x000FFFFFU, 0xFFFFFFFFU, 0x000F87FFU, 0xFF11FFFFU, + 0xFFFFFFFFU, 0x7FFFFFFFU, 0xFFFFFFFDU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x9FFFFFFFU, + 0xFFFFFFFFU, 0x3FFFFFFFU, 0xFFFF7800U, 0x040000FFU, + 0x00600000U, 0x00000010U, 0x00000000U, 0xF8000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0x0000FFFFU, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0x0007103FU, 0x03F01800U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFF0000U, 0x77FFFFFFU, 0xFFFFFFBFU, 0xF479FFFFU, + 0xFFFFFFFFU, 0x03FF0007U, 0xFFFF0007U, 0xFFFFFFFFU + } +}; diff --git a/lib/unictype/pr_extended_pictographic.c b/lib/unictype/pr_extended_pictographic.c new file mode 100644 index 0000000000..960fb45f1f --- /dev/null +++ b/lib/unictype/pr_extended_pictographic.c @@ -0,0 +1,43 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2002. + + 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/>. */ + +#include <config.h> + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_extended_pictographic table. */ +#include "pr_extended_pictographic.h" + +bool +uc_is_property_extended_pictographic (ucs4_t uc) +{ + return bitmap_lookup (&u_property_extended_pictographic, uc); +} + +const uc_property_t UC_PROPERTY_EXTENDED_PICTOGRAPHIC = + { &uc_is_property_extended_pictographic }; diff --git a/lib/unictype/pr_extended_pictographic.h b/lib/unictype/pr_extended_pictographic.h new file mode 100644 index 0000000000..fc059f1d02 --- /dev/null +++ b/lib/unictype/pr_extended_pictographic.h @@ -0,0 +1,371 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 10.0.0. */ + +/* Copyright (C) 2000-2021 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/>. */ + +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + unsigned int level3[16 << 4]; + } +u_property_extended_pictographic = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + 3 + 256 * sizeof (short) / sizeof (int) + 240 + }, + { + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00004200U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x10000000U, 0x00000200U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x02000004U, 0x00000000U, 0x00000000U, + 0x03F00000U, 0x00000600U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x0C000000U, 0x00000100U, 0x00000000U, 0x00000000U, + 0x00000100U, 0x00000000U, 0x00008000U, 0x070FFE00U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000004U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00400C00U, 0x00000001U, 0x78000000U, + 0xFFF7FFBFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFF003FU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0x2057FF3FU, 0x00180102U, 0x00B85090U, 0x000000F8U, + 0x00E00000U, 0x80010002U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00300000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x180000E0U, 0x00000000U, 0x00210000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x20010000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x02800000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0x0000E000U, 0x00008000U, 0x00000000U, 0xC003F000U, + 0x07FE4000U, 0xFFFFE000U, 0xFFFFFFFFU, 0x0000003FU, + 0x0400FFFEU, 0xF7FC8000U, 0xFFFFFE00U, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x07FFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0x3FFFFFFFU, 0xFFFFFFC0U, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0x0000FFFFU, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0x00000000U, 0x00000000U, 0x00000000U, 0xFFF00000U, + 0x00000000U, 0x00000000U, 0xFFE00000U, 0xFFFFFFFFU, + 0x0000F000U, 0x00000000U, 0xFC00FF00U, 0x00000000U, + 0x0000FF00U, 0xFFFFC000U, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFF000U, 0xF7FFFFFFU, 0xFFFFFFBFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU + } +}; diff --git a/modules/unictype/property-all b/modules/unictype/property-all index facfdd24f4..73bea9dcb2 100644 --- a/modules/unictype/property-all +++ b/modules/unictype/property-all @@ -39,6 +39,12 @@ unictype/property-decimal-digit unictype/property-default-ignorable-code-point unictype/property-deprecated unictype/property-diacritic +unictype/property-emoji +unictype/property-emoji-component +unictype/property-emoji-modifier +unictype/property-emoji-modifier-base +unictype/property-emoji-presentation +unictype/property-extended-pictographic unictype/property-extender unictype/property-format-control unictype/property-grapheme-base diff --git a/modules/unictype/property-emoji b/modules/unictype/property-emoji new file mode 100644 index 0000000000..022f167c06 --- /dev/null +++ b/modules/unictype/property-emoji @@ -0,0 +1,28 @@ +Description: +Test whether a Unicode character is "emoji". + +Files: +lib/unictype/pr_emoji.c +lib/unictype/pr_emoji.h +lib/unictype/bitmap.h + +Depends-on: +unictype/base + +configure.ac: +AC_REQUIRE([AC_C_INLINE]) +gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-emoji]) + +Makefile.am: +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI +lib_SOURCES += unictype/pr_emoji.c +endif + +Include: +"unictype.h" + +License: +LGPLv3+ or GPLv2+ + +Maintainer: +all diff --git a/modules/unictype/property-emoji-component b/modules/unictype/property-emoji-component new file mode 100644 index 0000000000..df067e3c74 --- /dev/null +++ b/modules/unictype/property-emoji-component @@ -0,0 +1,28 @@ +Description: +Test whether a Unicode character is "emoji component". + +Files: +lib/unictype/pr_emoji_component.c +lib/unictype/pr_emoji_component.h +lib/unictype/bitmap.h + +Depends-on: +unictype/base + +configure.ac: +AC_REQUIRE([AC_C_INLINE]) +gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-emoji-component]) + +Makefile.am: +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_COMPONENT +lib_SOURCES += unictype/pr_emoji_component.c +endif + +Include: +"unictype.h" + +License: +LGPLv3+ or GPLv2+ + +Maintainer: +all diff --git a/modules/unictype/property-emoji-component-tests b/modules/unictype/property-emoji-component-tests new file mode 100644 index 0000000000..125439bf55 --- /dev/null +++ b/modules/unictype/property-emoji-component-tests @@ -0,0 +1,15 @@ +Files: +tests/unictype/test-pr_emoji_component.c +tests/unictype/test-predicate-part1.h +tests/unictype/test-predicate-part2.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-pr_emoji_component +check_PROGRAMS += test-pr_emoji_component +test_pr_emoji_component_SOURCES = unictype/test-pr_emoji_component.c +test_pr_emoji_component_LDADD = $(LDADD) $(LIBUNISTRING) diff --git a/modules/unictype/property-emoji-modifier b/modules/unictype/property-emoji-modifier new file mode 100644 index 0000000000..9d358e7860 --- /dev/null +++ b/modules/unictype/property-emoji-modifier @@ -0,0 +1,28 @@ +Description: +Test whether a Unicode character is "emoji modifier". + +Files: +lib/unictype/pr_emoji_modifier.c +lib/unictype/pr_emoji_modifier.h +lib/unictype/bitmap.h + +Depends-on: +unictype/base + +configure.ac: +AC_REQUIRE([AC_C_INLINE]) +gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-emoji-modifier]) + +Makefile.am: +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER +lib_SOURCES += unictype/pr_emoji_modifier.c +endif + +Include: +"unictype.h" + +License: +LGPLv3+ or GPLv2+ + +Maintainer: +all diff --git a/modules/unictype/property-emoji-modifier-base b/modules/unictype/property-emoji-modifier-base new file mode 100644 index 0000000000..f16556b8f5 --- /dev/null +++ b/modules/unictype/property-emoji-modifier-base @@ -0,0 +1,28 @@ +Description: +Test whether a Unicode character is "emoji modifier base". + +Files: +lib/unictype/pr_emoji_modifier_base.c +lib/unictype/pr_emoji_modifier_base.h +lib/unictype/bitmap.h + +Depends-on: +unictype/base + +configure.ac: +AC_REQUIRE([AC_C_INLINE]) +gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-emoji-modifier-base]) + +Makefile.am: +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE +lib_SOURCES += unictype/pr_emoji_modifier_base.c +endif + +Include: +"unictype.h" + +License: +LGPLv3+ or GPLv2+ + +Maintainer: +all diff --git a/modules/unictype/property-emoji-modifier-base-tests b/modules/unictype/property-emoji-modifier-base-tests new file mode 100644 index 0000000000..4ed0ac0ab5 --- /dev/null +++ b/modules/unictype/property-emoji-modifier-base-tests @@ -0,0 +1,15 @@ +Files: +tests/unictype/test-pr_emoji_modifier_base.c +tests/unictype/test-predicate-part1.h +tests/unictype/test-predicate-part2.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-pr_emoji_modifier_base +check_PROGRAMS += test-pr_emoji_modifier_base +test_pr_emoji_modifier_base_SOURCES = unictype/test-pr_emoji_modifier_base.c +test_pr_emoji_modifier_base_LDADD = $(LDADD) $(LIBUNISTRING) diff --git a/modules/unictype/property-emoji-modifier-tests b/modules/unictype/property-emoji-modifier-tests new file mode 100644 index 0000000000..5a3c064832 --- /dev/null +++ b/modules/unictype/property-emoji-modifier-tests @@ -0,0 +1,15 @@ +Files: +tests/unictype/test-pr_emoji_modifier.c +tests/unictype/test-predicate-part1.h +tests/unictype/test-predicate-part2.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-pr_emoji_modifier +check_PROGRAMS += test-pr_emoji_modifier +test_pr_emoji_modifier_SOURCES = unictype/test-pr_emoji_modifier.c +test_pr_emoji_modifier_LDADD = $(LDADD) $(LIBUNISTRING) diff --git a/modules/unictype/property-emoji-presentation b/modules/unictype/property-emoji-presentation new file mode 100644 index 0000000000..f3259eaede --- /dev/null +++ b/modules/unictype/property-emoji-presentation @@ -0,0 +1,28 @@ +Description: +Test whether a Unicode character is "emoji presentation". + +Files: +lib/unictype/pr_emoji_presentation.c +lib/unictype/pr_emoji_presentation.h +lib/unictype/bitmap.h + +Depends-on: +unictype/base + +configure.ac: +AC_REQUIRE([AC_C_INLINE]) +gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-emoji-presentation]) + +Makefile.am: +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_PRESENTATION +lib_SOURCES += unictype/pr_emoji_presentation.c +endif + +Include: +"unictype.h" + +License: +LGPLv3+ or GPLv2+ + +Maintainer: +all diff --git a/modules/unictype/property-emoji-presentation-tests b/modules/unictype/property-emoji-presentation-tests new file mode 100644 index 0000000000..dca080d544 --- /dev/null +++ b/modules/unictype/property-emoji-presentation-tests @@ -0,0 +1,15 @@ +Files: +tests/unictype/test-pr_emoji_presentation.c +tests/unictype/test-predicate-part1.h +tests/unictype/test-predicate-part2.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-pr_emoji_presentation +check_PROGRAMS += test-pr_emoji_presentation +test_pr_emoji_presentation_SOURCES = unictype/test-pr_emoji_presentation.c +test_pr_emoji_presentation_LDADD = $(LDADD) $(LIBUNISTRING) diff --git a/modules/unictype/property-emoji-tests b/modules/unictype/property-emoji-tests new file mode 100644 index 0000000000..369db5568c --- /dev/null +++ b/modules/unictype/property-emoji-tests @@ -0,0 +1,15 @@ +Files: +tests/unictype/test-pr_emoji.c +tests/unictype/test-predicate-part1.h +tests/unictype/test-predicate-part2.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-pr_emoji +check_PROGRAMS += test-pr_emoji +test_pr_emoji_SOURCES = unictype/test-pr_emoji.c +test_pr_emoji_LDADD = $(LDADD) $(LIBUNISTRING) diff --git a/modules/unictype/property-extended-pictographic b/modules/unictype/property-extended-pictographic new file mode 100644 index 0000000000..96ce308a51 --- /dev/null +++ b/modules/unictype/property-extended-pictographic @@ -0,0 +1,28 @@ +Description: +Test whether a Unicode character is "extended pictographic". + +Files: +lib/unictype/pr_extended_pictographic.c +lib/unictype/pr_extended_pictographic.h +lib/unictype/bitmap.h + +Depends-on: +unictype/base + +configure.ac: +AC_REQUIRE([AC_C_INLINE]) +gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-extended-pictographic]) + +Makefile.am: +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC +lib_SOURCES += unictype/pr_extended_pictographic.c +endif + +Include: +"unictype.h" + +License: +LGPLv3+ or GPLv2+ + +Maintainer: +all diff --git a/modules/unictype/property-extended-pictographic-tests b/modules/unictype/property-extended-pictographic-tests new file mode 100644 index 0000000000..731257aa56 --- /dev/null +++ b/modules/unictype/property-extended-pictographic-tests @@ -0,0 +1,15 @@ +Files: +tests/unictype/test-pr_extended_pictographic.c +tests/unictype/test-predicate-part1.h +tests/unictype/test-predicate-part2.h +tests/macros.h + +Depends-on: + +configure.ac: + +Makefile.am: +TESTS += test-pr_extended_pictographic +check_PROGRAMS += test-pr_extended_pictographic +test_pr_extended_pictographic_SOURCES = unictype/test-pr_extended_pictographic.c +test_pr_extended_pictographic_LDADD = $(LDADD) $(LIBUNISTRING) diff --git a/tests/unictype/test-pr_emoji.c b/tests/unictype/test-pr_emoji.c new file mode 100644 index 0000000000..a4fa3b8a47 --- /dev/null +++ b/tests/unictype/test-pr_emoji.c @@ -0,0 +1,169 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + +#include "test-predicate-part1.h" + + { 0x0023, 0x0023 }, + { 0x002A, 0x002A }, + { 0x0030, 0x0039 }, + { 0x00A9, 0x00A9 }, + { 0x00AE, 0x00AE }, + { 0x203C, 0x203C }, + { 0x2049, 0x2049 }, + { 0x2122, 0x2122 }, + { 0x2139, 0x2139 }, + { 0x2194, 0x2199 }, + { 0x21A9, 0x21AA }, + { 0x231A, 0x231B }, + { 0x2328, 0x2328 }, + { 0x23CF, 0x23CF }, + { 0x23E9, 0x23F3 }, + { 0x23F8, 0x23FA }, + { 0x24C2, 0x24C2 }, + { 0x25AA, 0x25AB }, + { 0x25B6, 0x25B6 }, + { 0x25C0, 0x25C0 }, + { 0x25FB, 0x25FE }, + { 0x2600, 0x2604 }, + { 0x260E, 0x260E }, + { 0x2611, 0x2611 }, + { 0x2614, 0x2615 }, + { 0x2618, 0x2618 }, + { 0x261D, 0x261D }, + { 0x2620, 0x2620 }, + { 0x2622, 0x2623 }, + { 0x2626, 0x2626 }, + { 0x262A, 0x262A }, + { 0x262E, 0x262F }, + { 0x2638, 0x263A }, + { 0x2640, 0x2640 }, + { 0x2642, 0x2642 }, + { 0x2648, 0x2653 }, + { 0x265F, 0x2660 }, + { 0x2663, 0x2663 }, + { 0x2665, 0x2666 }, + { 0x2668, 0x2668 }, + { 0x267B, 0x267B }, + { 0x267E, 0x267F }, + { 0x2692, 0x2697 }, + { 0x2699, 0x2699 }, + { 0x269B, 0x269C }, + { 0x26A0, 0x26A1 }, + { 0x26AA, 0x26AB }, + { 0x26B0, 0x26B1 }, + { 0x26BD, 0x26BE }, + { 0x26C4, 0x26C5 }, + { 0x26C8, 0x26C8 }, + { 0x26CE, 0x26CF }, + { 0x26D1, 0x26D1 }, + { 0x26D3, 0x26D4 }, + { 0x26E9, 0x26EA }, + { 0x26F0, 0x26F5 }, + { 0x26F7, 0x26FA }, + { 0x26FD, 0x26FD }, + { 0x2702, 0x2702 }, + { 0x2705, 0x2705 }, + { 0x2708, 0x270D }, + { 0x270F, 0x270F }, + { 0x2712, 0x2712 }, + { 0x2714, 0x2714 }, + { 0x2716, 0x2716 }, + { 0x271D, 0x271D }, + { 0x2721, 0x2721 }, + { 0x2728, 0x2728 }, + { 0x2733, 0x2734 }, + { 0x2744, 0x2744 }, + { 0x2747, 0x2747 }, + { 0x274C, 0x274C }, + { 0x274E, 0x274E }, + { 0x2753, 0x2755 }, + { 0x2757, 0x2757 }, + { 0x2763, 0x2764 }, + { 0x2795, 0x2797 }, + { 0x27A1, 0x27A1 }, + { 0x27B0, 0x27B0 }, + { 0x27BF, 0x27BF }, + { 0x2934, 0x2935 }, + { 0x2B05, 0x2B07 }, + { 0x2B1B, 0x2B1C }, + { 0x2B50, 0x2B50 }, + { 0x2B55, 0x2B55 }, + { 0x3030, 0x3030 }, + { 0x303D, 0x303D }, + { 0x3297, 0x3297 }, + { 0x3299, 0x3299 }, + { 0x1F004, 0x1F004 }, + { 0x1F0CF, 0x1F0CF }, + { 0x1F170, 0x1F171 }, + { 0x1F17E, 0x1F17F }, + { 0x1F18E, 0x1F18E }, + { 0x1F191, 0x1F19A }, + { 0x1F1E6, 0x1F1FF }, + { 0x1F201, 0x1F202 }, + { 0x1F21A, 0x1F21A }, + { 0x1F22F, 0x1F22F }, + { 0x1F232, 0x1F23A }, + { 0x1F250, 0x1F251 }, + { 0x1F300, 0x1F321 }, + { 0x1F324, 0x1F393 }, + { 0x1F396, 0x1F397 }, + { 0x1F399, 0x1F39B }, + { 0x1F39E, 0x1F3F0 }, + { 0x1F3F3, 0x1F3F5 }, + { 0x1F3F7, 0x1F4FD }, + { 0x1F4FF, 0x1F53D }, + { 0x1F549, 0x1F54E }, + { 0x1F550, 0x1F567 }, + { 0x1F56F, 0x1F570 }, + { 0x1F573, 0x1F57A }, + { 0x1F587, 0x1F587 }, + { 0x1F58A, 0x1F58D }, + { 0x1F590, 0x1F590 }, + { 0x1F595, 0x1F596 }, + { 0x1F5A4, 0x1F5A5 }, + { 0x1F5A8, 0x1F5A8 }, + { 0x1F5B1, 0x1F5B2 }, + { 0x1F5BC, 0x1F5BC }, + { 0x1F5C2, 0x1F5C4 }, + { 0x1F5D1, 0x1F5D3 }, + { 0x1F5DC, 0x1F5DE }, + { 0x1F5E1, 0x1F5E1 }, + { 0x1F5E3, 0x1F5E3 }, + { 0x1F5E8, 0x1F5E8 }, + { 0x1F5EF, 0x1F5EF }, + { 0x1F5F3, 0x1F5F3 }, + { 0x1F5FA, 0x1F64F }, + { 0x1F680, 0x1F6C5 }, + { 0x1F6CB, 0x1F6D2 }, + { 0x1F6E0, 0x1F6E5 }, + { 0x1F6E9, 0x1F6E9 }, + { 0x1F6EB, 0x1F6EC }, + { 0x1F6F0, 0x1F6F0 }, + { 0x1F6F3, 0x1F6F9 }, + { 0x1F910, 0x1F93A }, + { 0x1F93C, 0x1F93E }, + { 0x1F940, 0x1F945 }, + { 0x1F947, 0x1F970 }, + { 0x1F973, 0x1F976 }, + { 0x1F97A, 0x1F97A }, + { 0x1F97C, 0x1F9A2 }, + { 0x1F9B0, 0x1F9B9 }, + { 0x1F9C0, 0x1F9C2 }, + { 0x1F9D0, 0x1F9FF } + +#define PREDICATE(c) uc_is_property_emoji (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_emoji_component.c b/tests/unictype/test-pr_emoji_component.c new file mode 100644 index 0000000000..45d3862545 --- /dev/null +++ b/tests/unictype/test-pr_emoji_component.c @@ -0,0 +1,32 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + +#include "test-predicate-part1.h" + + { 0x0023, 0x0023 }, + { 0x002A, 0x002A }, + { 0x0030, 0x0039 }, + { 0x200D, 0x200D }, + { 0x20E3, 0x20E3 }, + { 0xFE0F, 0xFE0F }, + { 0x1F1E6, 0x1F1FF }, + { 0x1F3FB, 0x1F3FF }, + { 0x1F9B0, 0x1F9B3 }, + { 0xE0020, 0xE007F } + +#define PREDICATE(c) uc_is_property_emoji_component (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_emoji_modifier.c b/tests/unictype/test-pr_emoji_modifier.c new file mode 100644 index 0000000000..6722ef13f1 --- /dev/null +++ b/tests/unictype/test-pr_emoji_modifier.c @@ -0,0 +1,23 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + +#include "test-predicate-part1.h" + + { 0x1F3FB, 0x1F3FF } + +#define PREDICATE(c) uc_is_property_emoji_modifier (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_emoji_modifier_base.c b/tests/unictype/test-pr_emoji_modifier_base.c new file mode 100644 index 0000000000..ea70851dff --- /dev/null +++ b/tests/unictype/test-pr_emoji_modifier_base.c @@ -0,0 +1,56 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + +#include "test-predicate-part1.h" + + { 0x261D, 0x261D }, + { 0x26F9, 0x26F9 }, + { 0x270A, 0x270D }, + { 0x1F385, 0x1F385 }, + { 0x1F3C2, 0x1F3C4 }, + { 0x1F3C7, 0x1F3C7 }, + { 0x1F3CA, 0x1F3CC }, + { 0x1F442, 0x1F443 }, + { 0x1F446, 0x1F450 }, + { 0x1F466, 0x1F469 }, + { 0x1F46E, 0x1F46E }, + { 0x1F470, 0x1F478 }, + { 0x1F47C, 0x1F47C }, + { 0x1F481, 0x1F483 }, + { 0x1F485, 0x1F487 }, + { 0x1F4AA, 0x1F4AA }, + { 0x1F574, 0x1F575 }, + { 0x1F57A, 0x1F57A }, + { 0x1F590, 0x1F590 }, + { 0x1F595, 0x1F596 }, + { 0x1F645, 0x1F647 }, + { 0x1F64B, 0x1F64F }, + { 0x1F6A3, 0x1F6A3 }, + { 0x1F6B4, 0x1F6B6 }, + { 0x1F6C0, 0x1F6C0 }, + { 0x1F6CC, 0x1F6CC }, + { 0x1F918, 0x1F91C }, + { 0x1F91E, 0x1F91F }, + { 0x1F926, 0x1F926 }, + { 0x1F930, 0x1F939 }, + { 0x1F93D, 0x1F93E }, + { 0x1F9B5, 0x1F9B6 }, + { 0x1F9B8, 0x1F9B9 }, + { 0x1F9D1, 0x1F9DD } + +#define PREDICATE(c) uc_is_property_emoji_modifier_base (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_emoji_presentation.c b/tests/unictype/test-pr_emoji_presentation.c new file mode 100644 index 0000000000..3e1998f86a --- /dev/null +++ b/tests/unictype/test-pr_emoji_presentation.c @@ -0,0 +1,99 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + +#include "test-predicate-part1.h" + + { 0x231A, 0x231B }, + { 0x23E9, 0x23EC }, + { 0x23F0, 0x23F0 }, + { 0x23F3, 0x23F3 }, + { 0x25FD, 0x25FE }, + { 0x2614, 0x2615 }, + { 0x2648, 0x2653 }, + { 0x267F, 0x267F }, + { 0x2693, 0x2693 }, + { 0x26A1, 0x26A1 }, + { 0x26AA, 0x26AB }, + { 0x26BD, 0x26BE }, + { 0x26C4, 0x26C5 }, + { 0x26CE, 0x26CE }, + { 0x26D4, 0x26D4 }, + { 0x26EA, 0x26EA }, + { 0x26F2, 0x26F3 }, + { 0x26F5, 0x26F5 }, + { 0x26FA, 0x26FA }, + { 0x26FD, 0x26FD }, + { 0x2705, 0x2705 }, + { 0x270A, 0x270B }, + { 0x2728, 0x2728 }, + { 0x274C, 0x274C }, + { 0x274E, 0x274E }, + { 0x2753, 0x2755 }, + { 0x2757, 0x2757 }, + { 0x2795, 0x2797 }, + { 0x27B0, 0x27B0 }, + { 0x27BF, 0x27BF }, + { 0x2B1B, 0x2B1C }, + { 0x2B50, 0x2B50 }, + { 0x2B55, 0x2B55 }, + { 0x1F004, 0x1F004 }, + { 0x1F0CF, 0x1F0CF }, + { 0x1F18E, 0x1F18E }, + { 0x1F191, 0x1F19A }, + { 0x1F1E6, 0x1F1FF }, + { 0x1F201, 0x1F201 }, + { 0x1F21A, 0x1F21A }, + { 0x1F22F, 0x1F22F }, + { 0x1F232, 0x1F236 }, + { 0x1F238, 0x1F23A }, + { 0x1F250, 0x1F251 }, + { 0x1F300, 0x1F320 }, + { 0x1F32D, 0x1F335 }, + { 0x1F337, 0x1F37C }, + { 0x1F37E, 0x1F393 }, + { 0x1F3A0, 0x1F3CA }, + { 0x1F3CF, 0x1F3D3 }, + { 0x1F3E0, 0x1F3F0 }, + { 0x1F3F4, 0x1F3F4 }, + { 0x1F3F8, 0x1F43E }, + { 0x1F440, 0x1F440 }, + { 0x1F442, 0x1F4FC }, + { 0x1F4FF, 0x1F53D }, + { 0x1F54B, 0x1F54E }, + { 0x1F550, 0x1F567 }, + { 0x1F57A, 0x1F57A }, + { 0x1F595, 0x1F596 }, + { 0x1F5A4, 0x1F5A4 }, + { 0x1F5FB, 0x1F64F }, + { 0x1F680, 0x1F6C5 }, + { 0x1F6CC, 0x1F6CC }, + { 0x1F6D0, 0x1F6D2 }, + { 0x1F6EB, 0x1F6EC }, + { 0x1F6F4, 0x1F6F9 }, + { 0x1F910, 0x1F93A }, + { 0x1F93C, 0x1F93E }, + { 0x1F940, 0x1F945 }, + { 0x1F947, 0x1F970 }, + { 0x1F973, 0x1F976 }, + { 0x1F97A, 0x1F97A }, + { 0x1F97C, 0x1F9A2 }, + { 0x1F9B0, 0x1F9B9 }, + { 0x1F9C0, 0x1F9C2 }, + { 0x1F9D0, 0x1F9FF } + +#define PREDICATE(c) uc_is_property_emoji_presentation (c) +#include "test-predicate-part2.h" diff --git a/tests/unictype/test-pr_extended_pictographic.c b/tests/unictype/test-pr_extended_pictographic.c new file mode 100644 index 0000000000..e3efe80bba --- /dev/null +++ b/tests/unictype/test-pr_extended_pictographic.c @@ -0,0 +1,99 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test the Unicode character type functions. + Copyright (C) 2007 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + +#include "test-predicate-part1.h" + + { 0x00A9, 0x00A9 }, + { 0x00AE, 0x00AE }, + { 0x203C, 0x203C }, + { 0x2049, 0x2049 }, + { 0x2122, 0x2122 }, + { 0x2139, 0x2139 }, + { 0x2194, 0x2199 }, + { 0x21A9, 0x21AA }, + { 0x231A, 0x231B }, + { 0x2328, 0x2328 }, + { 0x2388, 0x2388 }, + { 0x23CF, 0x23CF }, + { 0x23E9, 0x23F3 }, + { 0x23F8, 0x23FA }, + { 0x24C2, 0x24C2 }, + { 0x25AA, 0x25AB }, + { 0x25B6, 0x25B6 }, + { 0x25C0, 0x25C0 }, + { 0x25FB, 0x25FE }, + { 0x2600, 0x2605 }, + { 0x2607, 0x2612 }, + { 0x2614, 0x2685 }, + { 0x2690, 0x2705 }, + { 0x2708, 0x2712 }, + { 0x2714, 0x2714 }, + { 0x2716, 0x2716 }, + { 0x271D, 0x271D }, + { 0x2721, 0x2721 }, + { 0x2728, 0x2728 }, + { 0x2733, 0x2734 }, + { 0x2744, 0x2744 }, + { 0x2747, 0x2747 }, + { 0x274C, 0x274C }, + { 0x274E, 0x274E }, + { 0x2753, 0x2755 }, + { 0x2757, 0x2757 }, + { 0x2763, 0x2767 }, + { 0x2795, 0x2797 }, + { 0x27A1, 0x27A1 }, + { 0x27B0, 0x27B0 }, + { 0x27BF, 0x27BF }, + { 0x2934, 0x2935 }, + { 0x2B05, 0x2B07 }, + { 0x2B1B, 0x2B1C }, + { 0x2B50, 0x2B50 }, + { 0x2B55, 0x2B55 }, + { 0x3030, 0x3030 }, + { 0x303D, 0x303D }, + { 0x3297, 0x3297 }, + { 0x3299, 0x3299 }, + { 0x1F000, 0x1F0FF }, + { 0x1F10D, 0x1F10F }, + { 0x1F12F, 0x1F12F }, + { 0x1F16C, 0x1F171 }, + { 0x1F17E, 0x1F17F }, + { 0x1F18E, 0x1F18E }, + { 0x1F191, 0x1F19A }, + { 0x1F1AD, 0x1F1E5 }, + { 0x1F201, 0x1F20F }, + { 0x1F21A, 0x1F21A }, + { 0x1F22F, 0x1F22F }, + { 0x1F232, 0x1F23A }, + { 0x1F23C, 0x1F23F }, + { 0x1F249, 0x1F3FA }, + { 0x1F400, 0x1F53D }, + { 0x1F546, 0x1F64F }, + { 0x1F680, 0x1F6FF }, + { 0x1F774, 0x1F77F }, + { 0x1F7D5, 0x1F7FF }, + { 0x1F80C, 0x1F80F }, + { 0x1F848, 0x1F84F }, + { 0x1F85A, 0x1F85F }, + { 0x1F888, 0x1F88F }, + { 0x1F8AE, 0x1F8FF }, + { 0x1F90C, 0x1F93A }, + { 0x1F93C, 0x1F945 }, + { 0x1F947, 0x1FFFD } + +#define PREDICATE(c) uc_is_property_extended_pictographic (c) +#include "test-predicate-part2.h" |