From da3ed3aa9bdd33aef50dad098de675fb2f498903 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 09:37:51 +0100 Subject: [PATCH 01/10] Update the CHANGELOG to include the emoji-data properties. --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cc0aae9..c59f9d22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,10 @@ # Change Log -## 9.0.0.1 - (In Progress) +## 10.0.0 - (In Progress) * Add `iswblank` and `iswxdigit` compatibility. * Improve ctype compatibility. -* PropList property lookup. +* PropList and emoji-data property lookup. ## 9.0.0 - 2016-12-28 From 6ff015f171e86a5a29e391baa6c7dbbff1ec87f5 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 10:03:51 +0100 Subject: [PATCH 02/10] Use curl's -o to save the data files. This will prevent writing the file if the command fails. --- Makefile.am | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile.am b/Makefile.am index fd7f3ed0..1d9931d1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -62,27 +62,27 @@ UCD_SRCDIR=http://www.unicode.org/Public data/emoji/emoji-data.txt: mkdir -pv data/emoji - curl ${UCD_SRCDIR}/emoji/${EMOJI_VERSION}/emoji-data.txt > $@ + curl ${UCD_SRCDIR}/emoji/${EMOJI_VERSION}/emoji-data.txt -o $@ data/ucd/PropList.txt: mkdir -pv data/ucd - curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/PropList.txt > $@ + curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/PropList.txt -o $@ data/ucd/DerivedCoreProperties.txt: mkdir -pv data/ucd - curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/DerivedCoreProperties.txt > $@ + curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/DerivedCoreProperties.txt -o $@ data/ucd/PropertyValueAliases.txt: mkdir -pv data/ucd - curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/PropertyValueAliases.txt > $@ + curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/PropertyValueAliases.txt -o $@ data/ucd/Scripts.txt: mkdir -pv data/ucd - curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/Scripts.txt > $@ + curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/Scripts.txt -o $@ data/ucd/UnicodeData.txt: mkdir -pv data/ucd - curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/UnicodeData.txt > $@ + curl ${UCD_SRCDIR}/${UCD_VERSION}/ucd/UnicodeData.txt -o $@ ############################# documentation ################################### From 0b56f2e5bcd66b7632bdca677c96380fc9c37375 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 11:45:36 +0100 Subject: [PATCH 03/10] Use C-style comments to support using a C89 compiler. --- CHANGELOG.md | 1 + src/case.c | 7 +- src/categories.c | 1245 ++++++++++++++++++++--------------------- src/ctype.c | 40 +- src/proplist.c | 88 +-- src/scripts.c | 1251 +++++++++++++++++++++--------------------- tests/printcdata.c | 48 +- tests/printucddata.c | 48 +- tools/case.py | 7 +- tools/categories.py | 15 +- tools/scripts.py | 15 +- 11 files changed, 1386 insertions(+), 1379 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c59f9d22..1ce304d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ * Add `iswblank` and `iswxdigit` compatibility. * Improve ctype compatibility. * PropList and emoji-data property lookup. +* Support building with a C89 compiler. ## 9.0.0 - 2016-12-28 diff --git a/src/case.c b/src/case.c index 3e46a56d..14a5e9aa 100644 --- a/src/case.c +++ b/src/case.c @@ -18,14 +18,15 @@ * along with ucd-tools. If not, see . */ -// NOTE: This file is automatically generated from the UnicodeData.txt file in -// the Unicode Character database by the ucd-tools/tools/categories.py script. +/* NOTE: This file is automatically generated from the UnicodeData.txt file in + * the Unicode Character database by the ucd-tools/tools/categories.py script. + */ #include "ucd/ucd.h" #include -// Unicode Character Data 9.0.0 +/* Unicode Character Data 9.0.0 */ struct case_conversion_entry { diff --git a/src/categories.c b/src/categories.c index 964ac416..6ec02144 100644 --- a/src/categories.c +++ b/src/categories.c @@ -18,8 +18,9 @@ * along with ucd-tools. If not, see . */ -// NOTE: This file is automatically generated from the UnicodeData.txt file in -// the Unicode Character database by the ucd-tools/tools/categories.py script. +/* NOTE: This file is automatically generated from the UnicodeData.txt file in + * the Unicode Character database by the ucd-tools/tools/categories.py script. + */ #include "ucd/ucd.h" @@ -57,7 +58,7 @@ #define Zs UCD_CATEGORY_Zs #define Ii UCD_CATEGORY_Ii -// Unicode Character Data 9.0.0 +/* Unicode Character Data 9.0.0 */ static const uint8_t categories_Cn[256] = { @@ -2698,11 +2699,11 @@ static const uint8_t *categories_000000_00D7FF[] = categories_000E00, categories_000F00, categories_001000, - categories_Lo, // 001100 + categories_Lo, /* 001100 */ categories_001200, categories_001300, categories_001400, - categories_Lo, // 001500 + categories_Lo, /* 001500 */ categories_001600, categories_001700, categories_001800, @@ -2715,15 +2716,15 @@ static const uint8_t *categories_000000_00D7FF[] = categories_001F00, categories_002000, categories_002100, - categories_Sm, // 002200 + categories_Sm, /* 002200 */ categories_002300, categories_002400, categories_002500, categories_002600, categories_002700, - categories_So, // 002800 + categories_So, /* 002800 */ categories_002900, - categories_Sm, // 002A00 + categories_Sm, /* 002A00 */ categories_002B00, categories_002C00, categories_002D00, @@ -2732,180 +2733,180 @@ static const uint8_t *categories_000000_00D7FF[] = categories_003000, categories_003100, categories_003200, - categories_So, // 003300 - categories_Lo, // 003400 - categories_Lo, // 003500 - categories_Lo, // 003600 - categories_Lo, // 003700 - categories_Lo, // 003800 - categories_Lo, // 003900 - categories_Lo, // 003A00 - categories_Lo, // 003B00 - categories_Lo, // 003C00 - categories_Lo, // 003D00 - categories_Lo, // 003E00 - categories_Lo, // 003F00 - categories_Lo, // 004000 - categories_Lo, // 004100 - categories_Lo, // 004200 - categories_Lo, // 004300 - categories_Lo, // 004400 - categories_Lo, // 004500 - categories_Lo, // 004600 - categories_Lo, // 004700 - categories_Lo, // 004800 - categories_Lo, // 004900 - categories_Lo, // 004A00 - categories_Lo, // 004B00 - categories_Lo, // 004C00 + categories_So, /* 003300 */ + categories_Lo, /* 003400 */ + categories_Lo, /* 003500 */ + categories_Lo, /* 003600 */ + categories_Lo, /* 003700 */ + categories_Lo, /* 003800 */ + categories_Lo, /* 003900 */ + categories_Lo, /* 003A00 */ + categories_Lo, /* 003B00 */ + categories_Lo, /* 003C00 */ + categories_Lo, /* 003D00 */ + categories_Lo, /* 003E00 */ + categories_Lo, /* 003F00 */ + categories_Lo, /* 004000 */ + categories_Lo, /* 004100 */ + categories_Lo, /* 004200 */ + categories_Lo, /* 004300 */ + categories_Lo, /* 004400 */ + categories_Lo, /* 004500 */ + categories_Lo, /* 004600 */ + categories_Lo, /* 004700 */ + categories_Lo, /* 004800 */ + categories_Lo, /* 004900 */ + categories_Lo, /* 004A00 */ + categories_Lo, /* 004B00 */ + categories_Lo, /* 004C00 */ categories_004D00, - categories_Lo, // 004E00 - categories_Lo, // 004F00 - categories_Lo, // 005000 - categories_Lo, // 005100 - categories_Lo, // 005200 - categories_Lo, // 005300 - categories_Lo, // 005400 - categories_Lo, // 005500 - categories_Lo, // 005600 - categories_Lo, // 005700 - categories_Lo, // 005800 - categories_Lo, // 005900 - categories_Lo, // 005A00 - categories_Lo, // 005B00 - categories_Lo, // 005C00 - categories_Lo, // 005D00 - categories_Lo, // 005E00 - categories_Lo, // 005F00 - categories_Lo, // 006000 - categories_Lo, // 006100 - categories_Lo, // 006200 - categories_Lo, // 006300 - categories_Lo, // 006400 - categories_Lo, // 006500 - categories_Lo, // 006600 - categories_Lo, // 006700 - categories_Lo, // 006800 - categories_Lo, // 006900 - categories_Lo, // 006A00 - categories_Lo, // 006B00 - categories_Lo, // 006C00 - categories_Lo, // 006D00 - categories_Lo, // 006E00 - categories_Lo, // 006F00 - categories_Lo, // 007000 - categories_Lo, // 007100 - categories_Lo, // 007200 - categories_Lo, // 007300 - categories_Lo, // 007400 - categories_Lo, // 007500 - categories_Lo, // 007600 - categories_Lo, // 007700 - categories_Lo, // 007800 - categories_Lo, // 007900 - categories_Lo, // 007A00 - categories_Lo, // 007B00 - categories_Lo, // 007C00 - categories_Lo, // 007D00 - categories_Lo, // 007E00 - categories_Lo, // 007F00 - categories_Lo, // 008000 - categories_Lo, // 008100 - categories_Lo, // 008200 - categories_Lo, // 008300 - categories_Lo, // 008400 - categories_Lo, // 008500 - categories_Lo, // 008600 - categories_Lo, // 008700 - categories_Lo, // 008800 - categories_Lo, // 008900 - categories_Lo, // 008A00 - categories_Lo, // 008B00 - categories_Lo, // 008C00 - categories_Lo, // 008D00 - categories_Lo, // 008E00 - categories_Lo, // 008F00 - categories_Lo, // 009000 - categories_Lo, // 009100 - categories_Lo, // 009200 - categories_Lo, // 009300 - categories_Lo, // 009400 - categories_Lo, // 009500 - categories_Lo, // 009600 - categories_Lo, // 009700 - categories_Lo, // 009800 - categories_Lo, // 009900 - categories_Lo, // 009A00 - categories_Lo, // 009B00 - categories_Lo, // 009C00 - categories_Lo, // 009D00 - categories_Lo, // 009E00 + categories_Lo, /* 004E00 */ + categories_Lo, /* 004F00 */ + categories_Lo, /* 005000 */ + categories_Lo, /* 005100 */ + categories_Lo, /* 005200 */ + categories_Lo, /* 005300 */ + categories_Lo, /* 005400 */ + categories_Lo, /* 005500 */ + categories_Lo, /* 005600 */ + categories_Lo, /* 005700 */ + categories_Lo, /* 005800 */ + categories_Lo, /* 005900 */ + categories_Lo, /* 005A00 */ + categories_Lo, /* 005B00 */ + categories_Lo, /* 005C00 */ + categories_Lo, /* 005D00 */ + categories_Lo, /* 005E00 */ + categories_Lo, /* 005F00 */ + categories_Lo, /* 006000 */ + categories_Lo, /* 006100 */ + categories_Lo, /* 006200 */ + categories_Lo, /* 006300 */ + categories_Lo, /* 006400 */ + categories_Lo, /* 006500 */ + categories_Lo, /* 006600 */ + categories_Lo, /* 006700 */ + categories_Lo, /* 006800 */ + categories_Lo, /* 006900 */ + categories_Lo, /* 006A00 */ + categories_Lo, /* 006B00 */ + categories_Lo, /* 006C00 */ + categories_Lo, /* 006D00 */ + categories_Lo, /* 006E00 */ + categories_Lo, /* 006F00 */ + categories_Lo, /* 007000 */ + categories_Lo, /* 007100 */ + categories_Lo, /* 007200 */ + categories_Lo, /* 007300 */ + categories_Lo, /* 007400 */ + categories_Lo, /* 007500 */ + categories_Lo, /* 007600 */ + categories_Lo, /* 007700 */ + categories_Lo, /* 007800 */ + categories_Lo, /* 007900 */ + categories_Lo, /* 007A00 */ + categories_Lo, /* 007B00 */ + categories_Lo, /* 007C00 */ + categories_Lo, /* 007D00 */ + categories_Lo, /* 007E00 */ + categories_Lo, /* 007F00 */ + categories_Lo, /* 008000 */ + categories_Lo, /* 008100 */ + categories_Lo, /* 008200 */ + categories_Lo, /* 008300 */ + categories_Lo, /* 008400 */ + categories_Lo, /* 008500 */ + categories_Lo, /* 008600 */ + categories_Lo, /* 008700 */ + categories_Lo, /* 008800 */ + categories_Lo, /* 008900 */ + categories_Lo, /* 008A00 */ + categories_Lo, /* 008B00 */ + categories_Lo, /* 008C00 */ + categories_Lo, /* 008D00 */ + categories_Lo, /* 008E00 */ + categories_Lo, /* 008F00 */ + categories_Lo, /* 009000 */ + categories_Lo, /* 009100 */ + categories_Lo, /* 009200 */ + categories_Lo, /* 009300 */ + categories_Lo, /* 009400 */ + categories_Lo, /* 009500 */ + categories_Lo, /* 009600 */ + categories_Lo, /* 009700 */ + categories_Lo, /* 009800 */ + categories_Lo, /* 009900 */ + categories_Lo, /* 009A00 */ + categories_Lo, /* 009B00 */ + categories_Lo, /* 009C00 */ + categories_Lo, /* 009D00 */ + categories_Lo, /* 009E00 */ categories_009F00, categories_00A000, - categories_Lo, // 00A100 - categories_Lo, // 00A200 - categories_Lo, // 00A300 + categories_Lo, /* 00A100 */ + categories_Lo, /* 00A200 */ + categories_Lo, /* 00A300 */ categories_00A400, - categories_Lo, // 00A500 + categories_Lo, /* 00A500 */ categories_00A600, categories_00A700, categories_00A800, categories_00A900, categories_00AA00, categories_00AB00, - categories_Lo, // 00AC00 - categories_Lo, // 00AD00 - categories_Lo, // 00AE00 - categories_Lo, // 00AF00 - categories_Lo, // 00B000 - categories_Lo, // 00B100 - categories_Lo, // 00B200 - categories_Lo, // 00B300 - categories_Lo, // 00B400 - categories_Lo, // 00B500 - categories_Lo, // 00B600 - categories_Lo, // 00B700 - categories_Lo, // 00B800 - categories_Lo, // 00B900 - categories_Lo, // 00BA00 - categories_Lo, // 00BB00 - categories_Lo, // 00BC00 - categories_Lo, // 00BD00 - categories_Lo, // 00BE00 - categories_Lo, // 00BF00 - categories_Lo, // 00C000 - categories_Lo, // 00C100 - categories_Lo, // 00C200 - categories_Lo, // 00C300 - categories_Lo, // 00C400 - categories_Lo, // 00C500 - categories_Lo, // 00C600 - categories_Lo, // 00C700 - categories_Lo, // 00C800 - categories_Lo, // 00C900 - categories_Lo, // 00CA00 - categories_Lo, // 00CB00 - categories_Lo, // 00CC00 - categories_Lo, // 00CD00 - categories_Lo, // 00CE00 - categories_Lo, // 00CF00 - categories_Lo, // 00D000 - categories_Lo, // 00D100 - categories_Lo, // 00D200 - categories_Lo, // 00D300 - categories_Lo, // 00D400 - categories_Lo, // 00D500 - categories_Lo, // 00D600 + categories_Lo, /* 00AC00 */ + categories_Lo, /* 00AD00 */ + categories_Lo, /* 00AE00 */ + categories_Lo, /* 00AF00 */ + categories_Lo, /* 00B000 */ + categories_Lo, /* 00B100 */ + categories_Lo, /* 00B200 */ + categories_Lo, /* 00B300 */ + categories_Lo, /* 00B400 */ + categories_Lo, /* 00B500 */ + categories_Lo, /* 00B600 */ + categories_Lo, /* 00B700 */ + categories_Lo, /* 00B800 */ + categories_Lo, /* 00B900 */ + categories_Lo, /* 00BA00 */ + categories_Lo, /* 00BB00 */ + categories_Lo, /* 00BC00 */ + categories_Lo, /* 00BD00 */ + categories_Lo, /* 00BE00 */ + categories_Lo, /* 00BF00 */ + categories_Lo, /* 00C000 */ + categories_Lo, /* 00C100 */ + categories_Lo, /* 00C200 */ + categories_Lo, /* 00C300 */ + categories_Lo, /* 00C400 */ + categories_Lo, /* 00C500 */ + categories_Lo, /* 00C600 */ + categories_Lo, /* 00C700 */ + categories_Lo, /* 00C800 */ + categories_Lo, /* 00C900 */ + categories_Lo, /* 00CA00 */ + categories_Lo, /* 00CB00 */ + categories_Lo, /* 00CC00 */ + categories_Lo, /* 00CD00 */ + categories_Lo, /* 00CE00 */ + categories_Lo, /* 00CF00 */ + categories_Lo, /* 00D000 */ + categories_Lo, /* 00D100 */ + categories_Lo, /* 00D200 */ + categories_Lo, /* 00D300 */ + categories_Lo, /* 00D400 */ + categories_Lo, /* 00D500 */ + categories_Lo, /* 00D600 */ categories_00D700, }; static const uint8_t *categories_00F800_02FAFF[] = { - categories_Co, // 00F800 - categories_Lo, // 00F900 + categories_Co, /* 00F800 */ + categories_Lo, /* 00F900 */ categories_00FA00, categories_00FB00, - categories_Lo, // 00FC00 + categories_Lo, /* 00FC00 */ categories_00FD00, categories_00FE00, categories_00FF00, @@ -2915,16 +2916,16 @@ static const uint8_t *categories_00F800_02FAFF[] = categories_010300, categories_010400, categories_010500, - categories_Lo, // 010600 + categories_Lo, /* 010600 */ categories_010700, categories_010800, categories_010900, categories_010A00, categories_010B00, categories_010C00, - categories_Cn, // 010D00 + categories_Cn, /* 010D00 */ categories_010E00, - categories_Cn, // 010F00 + categories_Cn, /* 010F00 */ categories_011000, categories_011100, categories_011200, @@ -2934,189 +2935,189 @@ static const uint8_t *categories_00F800_02FAFF[] = categories_011600, categories_011700, categories_011800, - categories_Cn, // 011900 + categories_Cn, /* 011900 */ categories_011A00, - categories_Cn, // 011B00 + categories_Cn, /* 011B00 */ categories_011C00, - categories_Cn, // 011D00 - categories_Cn, // 011E00 - categories_Cn, // 011F00 - categories_Lo, // 012000 - categories_Lo, // 012100 - categories_Lo, // 012200 + categories_Cn, /* 011D00 */ + categories_Cn, /* 011E00 */ + categories_Cn, /* 011F00 */ + categories_Lo, /* 012000 */ + categories_Lo, /* 012100 */ + categories_Lo, /* 012200 */ categories_012300, categories_012400, categories_012500, - categories_Cn, // 012600 - categories_Cn, // 012700 - categories_Cn, // 012800 - categories_Cn, // 012900 - categories_Cn, // 012A00 - categories_Cn, // 012B00 - categories_Cn, // 012C00 - categories_Cn, // 012D00 - categories_Cn, // 012E00 - categories_Cn, // 012F00 - categories_Lo, // 013000 - categories_Lo, // 013100 - categories_Lo, // 013200 - categories_Lo, // 013300 + categories_Cn, /* 012600 */ + categories_Cn, /* 012700 */ + categories_Cn, /* 012800 */ + categories_Cn, /* 012900 */ + categories_Cn, /* 012A00 */ + categories_Cn, /* 012B00 */ + categories_Cn, /* 012C00 */ + categories_Cn, /* 012D00 */ + categories_Cn, /* 012E00 */ + categories_Cn, /* 012F00 */ + categories_Lo, /* 013000 */ + categories_Lo, /* 013100 */ + categories_Lo, /* 013200 */ + categories_Lo, /* 013300 */ categories_013400, - categories_Cn, // 013500 - categories_Cn, // 013600 - categories_Cn, // 013700 - categories_Cn, // 013800 - categories_Cn, // 013900 - categories_Cn, // 013A00 - categories_Cn, // 013B00 - categories_Cn, // 013C00 - categories_Cn, // 013D00 - categories_Cn, // 013E00 - categories_Cn, // 013F00 - categories_Cn, // 014000 - categories_Cn, // 014100 - categories_Cn, // 014200 - categories_Cn, // 014300 - categories_Lo, // 014400 - categories_Lo, // 014500 + categories_Cn, /* 013500 */ + categories_Cn, /* 013600 */ + categories_Cn, /* 013700 */ + categories_Cn, /* 013800 */ + categories_Cn, /* 013900 */ + categories_Cn, /* 013A00 */ + categories_Cn, /* 013B00 */ + categories_Cn, /* 013C00 */ + categories_Cn, /* 013D00 */ + categories_Cn, /* 013E00 */ + categories_Cn, /* 013F00 */ + categories_Cn, /* 014000 */ + categories_Cn, /* 014100 */ + categories_Cn, /* 014200 */ + categories_Cn, /* 014300 */ + categories_Lo, /* 014400 */ + categories_Lo, /* 014500 */ categories_014600, - categories_Cn, // 014700 - categories_Cn, // 014800 - categories_Cn, // 014900 - categories_Cn, // 014A00 - categories_Cn, // 014B00 - categories_Cn, // 014C00 - categories_Cn, // 014D00 - categories_Cn, // 014E00 - categories_Cn, // 014F00 - categories_Cn, // 015000 - categories_Cn, // 015100 - categories_Cn, // 015200 - categories_Cn, // 015300 - categories_Cn, // 015400 - categories_Cn, // 015500 - categories_Cn, // 015600 - categories_Cn, // 015700 - categories_Cn, // 015800 - categories_Cn, // 015900 - categories_Cn, // 015A00 - categories_Cn, // 015B00 - categories_Cn, // 015C00 - categories_Cn, // 015D00 - categories_Cn, // 015E00 - categories_Cn, // 015F00 - categories_Cn, // 016000 - categories_Cn, // 016100 - categories_Cn, // 016200 - categories_Cn, // 016300 - categories_Cn, // 016400 - categories_Cn, // 016500 - categories_Cn, // 016600 - categories_Cn, // 016700 - categories_Lo, // 016800 - categories_Lo, // 016900 + categories_Cn, /* 014700 */ + categories_Cn, /* 014800 */ + categories_Cn, /* 014900 */ + categories_Cn, /* 014A00 */ + categories_Cn, /* 014B00 */ + categories_Cn, /* 014C00 */ + categories_Cn, /* 014D00 */ + categories_Cn, /* 014E00 */ + categories_Cn, /* 014F00 */ + categories_Cn, /* 015000 */ + categories_Cn, /* 015100 */ + categories_Cn, /* 015200 */ + categories_Cn, /* 015300 */ + categories_Cn, /* 015400 */ + categories_Cn, /* 015500 */ + categories_Cn, /* 015600 */ + categories_Cn, /* 015700 */ + categories_Cn, /* 015800 */ + categories_Cn, /* 015900 */ + categories_Cn, /* 015A00 */ + categories_Cn, /* 015B00 */ + categories_Cn, /* 015C00 */ + categories_Cn, /* 015D00 */ + categories_Cn, /* 015E00 */ + categories_Cn, /* 015F00 */ + categories_Cn, /* 016000 */ + categories_Cn, /* 016100 */ + categories_Cn, /* 016200 */ + categories_Cn, /* 016300 */ + categories_Cn, /* 016400 */ + categories_Cn, /* 016500 */ + categories_Cn, /* 016600 */ + categories_Cn, /* 016700 */ + categories_Lo, /* 016800 */ + categories_Lo, /* 016900 */ categories_016A00, categories_016B00, - categories_Cn, // 016C00 - categories_Cn, // 016D00 - categories_Cn, // 016E00 + categories_Cn, /* 016C00 */ + categories_Cn, /* 016D00 */ + categories_Cn, /* 016E00 */ categories_016F00, - categories_Lo, // 017000 - categories_Lo, // 017100 - categories_Lo, // 017200 - categories_Lo, // 017300 - categories_Lo, // 017400 - categories_Lo, // 017500 - categories_Lo, // 017600 - categories_Lo, // 017700 - categories_Lo, // 017800 - categories_Lo, // 017900 - categories_Lo, // 017A00 - categories_Lo, // 017B00 - categories_Lo, // 017C00 - categories_Lo, // 017D00 - categories_Lo, // 017E00 - categories_Lo, // 017F00 - categories_Lo, // 018000 - categories_Lo, // 018100 - categories_Lo, // 018200 - categories_Lo, // 018300 - categories_Lo, // 018400 - categories_Lo, // 018500 - categories_Lo, // 018600 + categories_Lo, /* 017000 */ + categories_Lo, /* 017100 */ + categories_Lo, /* 017200 */ + categories_Lo, /* 017300 */ + categories_Lo, /* 017400 */ + categories_Lo, /* 017500 */ + categories_Lo, /* 017600 */ + categories_Lo, /* 017700 */ + categories_Lo, /* 017800 */ + categories_Lo, /* 017900 */ + categories_Lo, /* 017A00 */ + categories_Lo, /* 017B00 */ + categories_Lo, /* 017C00 */ + categories_Lo, /* 017D00 */ + categories_Lo, /* 017E00 */ + categories_Lo, /* 017F00 */ + categories_Lo, /* 018000 */ + categories_Lo, /* 018100 */ + categories_Lo, /* 018200 */ + categories_Lo, /* 018300 */ + categories_Lo, /* 018400 */ + categories_Lo, /* 018500 */ + categories_Lo, /* 018600 */ categories_018700, - categories_Lo, // 018800 - categories_Lo, // 018900 + categories_Lo, /* 018800 */ + categories_Lo, /* 018900 */ categories_018A00, - categories_Cn, // 018B00 - categories_Cn, // 018C00 - categories_Cn, // 018D00 - categories_Cn, // 018E00 - categories_Cn, // 018F00 - categories_Cn, // 019000 - categories_Cn, // 019100 - categories_Cn, // 019200 - categories_Cn, // 019300 - categories_Cn, // 019400 - categories_Cn, // 019500 - categories_Cn, // 019600 - categories_Cn, // 019700 - categories_Cn, // 019800 - categories_Cn, // 019900 - categories_Cn, // 019A00 - categories_Cn, // 019B00 - categories_Cn, // 019C00 - categories_Cn, // 019D00 - categories_Cn, // 019E00 - categories_Cn, // 019F00 - categories_Cn, // 01A000 - categories_Cn, // 01A100 - categories_Cn, // 01A200 - categories_Cn, // 01A300 - categories_Cn, // 01A400 - categories_Cn, // 01A500 - categories_Cn, // 01A600 - categories_Cn, // 01A700 - categories_Cn, // 01A800 - categories_Cn, // 01A900 - categories_Cn, // 01AA00 - categories_Cn, // 01AB00 - categories_Cn, // 01AC00 - categories_Cn, // 01AD00 - categories_Cn, // 01AE00 - categories_Cn, // 01AF00 + categories_Cn, /* 018B00 */ + categories_Cn, /* 018C00 */ + categories_Cn, /* 018D00 */ + categories_Cn, /* 018E00 */ + categories_Cn, /* 018F00 */ + categories_Cn, /* 019000 */ + categories_Cn, /* 019100 */ + categories_Cn, /* 019200 */ + categories_Cn, /* 019300 */ + categories_Cn, /* 019400 */ + categories_Cn, /* 019500 */ + categories_Cn, /* 019600 */ + categories_Cn, /* 019700 */ + categories_Cn, /* 019800 */ + categories_Cn, /* 019900 */ + categories_Cn, /* 019A00 */ + categories_Cn, /* 019B00 */ + categories_Cn, /* 019C00 */ + categories_Cn, /* 019D00 */ + categories_Cn, /* 019E00 */ + categories_Cn, /* 019F00 */ + categories_Cn, /* 01A000 */ + categories_Cn, /* 01A100 */ + categories_Cn, /* 01A200 */ + categories_Cn, /* 01A300 */ + categories_Cn, /* 01A400 */ + categories_Cn, /* 01A500 */ + categories_Cn, /* 01A600 */ + categories_Cn, /* 01A700 */ + categories_Cn, /* 01A800 */ + categories_Cn, /* 01A900 */ + categories_Cn, /* 01AA00 */ + categories_Cn, /* 01AB00 */ + categories_Cn, /* 01AC00 */ + categories_Cn, /* 01AD00 */ + categories_Cn, /* 01AE00 */ + categories_Cn, /* 01AF00 */ categories_01B000, - categories_Cn, // 01B100 - categories_Cn, // 01B200 - categories_Cn, // 01B300 - categories_Cn, // 01B400 - categories_Cn, // 01B500 - categories_Cn, // 01B600 - categories_Cn, // 01B700 - categories_Cn, // 01B800 - categories_Cn, // 01B900 - categories_Cn, // 01BA00 - categories_Cn, // 01BB00 + categories_Cn, /* 01B100 */ + categories_Cn, /* 01B200 */ + categories_Cn, /* 01B300 */ + categories_Cn, /* 01B400 */ + categories_Cn, /* 01B500 */ + categories_Cn, /* 01B600 */ + categories_Cn, /* 01B700 */ + categories_Cn, /* 01B800 */ + categories_Cn, /* 01B900 */ + categories_Cn, /* 01BA00 */ + categories_Cn, /* 01BB00 */ categories_01BC00, - categories_Cn, // 01BD00 - categories_Cn, // 01BE00 - categories_Cn, // 01BF00 - categories_Cn, // 01C000 - categories_Cn, // 01C100 - categories_Cn, // 01C200 - categories_Cn, // 01C300 - categories_Cn, // 01C400 - categories_Cn, // 01C500 - categories_Cn, // 01C600 - categories_Cn, // 01C700 - categories_Cn, // 01C800 - categories_Cn, // 01C900 - categories_Cn, // 01CA00 - categories_Cn, // 01CB00 - categories_Cn, // 01CC00 - categories_Cn, // 01CD00 - categories_Cn, // 01CE00 - categories_Cn, // 01CF00 + categories_Cn, /* 01BD00 */ + categories_Cn, /* 01BE00 */ + categories_Cn, /* 01BF00 */ + categories_Cn, /* 01C000 */ + categories_Cn, /* 01C100 */ + categories_Cn, /* 01C200 */ + categories_Cn, /* 01C300 */ + categories_Cn, /* 01C400 */ + categories_Cn, /* 01C500 */ + categories_Cn, /* 01C600 */ + categories_Cn, /* 01C700 */ + categories_Cn, /* 01C800 */ + categories_Cn, /* 01C900 */ + categories_Cn, /* 01CA00 */ + categories_Cn, /* 01CB00 */ + categories_Cn, /* 01CC00 */ + categories_Cn, /* 01CD00 */ + categories_Cn, /* 01CE00 */ + categories_Cn, /* 01CF00 */ categories_01D000, categories_01D100, categories_01D200, @@ -3125,296 +3126,296 @@ static const uint8_t *categories_00F800_02FAFF[] = categories_01D500, categories_01D600, categories_01D700, - categories_So, // 01D800 - categories_So, // 01D900 + categories_So, /* 01D800 */ + categories_So, /* 01D900 */ categories_01DA00, - categories_Cn, // 01DB00 - categories_Cn, // 01DC00 - categories_Cn, // 01DD00 - categories_Cn, // 01DE00 - categories_Cn, // 01DF00 + categories_Cn, /* 01DB00 */ + categories_Cn, /* 01DC00 */ + categories_Cn, /* 01DD00 */ + categories_Cn, /* 01DE00 */ + categories_Cn, /* 01DF00 */ categories_01E000, - categories_Cn, // 01E100 - categories_Cn, // 01E200 - categories_Cn, // 01E300 - categories_Cn, // 01E400 - categories_Cn, // 01E500 - categories_Cn, // 01E600 - categories_Cn, // 01E700 + categories_Cn, /* 01E100 */ + categories_Cn, /* 01E200 */ + categories_Cn, /* 01E300 */ + categories_Cn, /* 01E400 */ + categories_Cn, /* 01E500 */ + categories_Cn, /* 01E600 */ + categories_Cn, /* 01E700 */ categories_01E800, categories_01E900, - categories_Cn, // 01EA00 - categories_Cn, // 01EB00 - categories_Cn, // 01EC00 - categories_Cn, // 01ED00 + categories_Cn, /* 01EA00 */ + categories_Cn, /* 01EB00 */ + categories_Cn, /* 01EC00 */ + categories_Cn, /* 01ED00 */ categories_01EE00, - categories_Cn, // 01EF00 + categories_Cn, /* 01EF00 */ categories_01F000, categories_01F100, categories_01F200, categories_01F300, - categories_So, // 01F400 - categories_So, // 01F500 + categories_So, /* 01F400 */ + categories_So, /* 01F500 */ categories_01F600, categories_01F700, categories_01F800, categories_01F900, - categories_Cn, // 01FA00 - categories_Cn, // 01FB00 - categories_Cn, // 01FC00 - categories_Cn, // 01FD00 - categories_Cn, // 01FE00 - categories_Cn, // 01FF00 - categories_Lo, // 020000 - categories_Lo, // 020100 - categories_Lo, // 020200 - categories_Lo, // 020300 - categories_Lo, // 020400 - categories_Lo, // 020500 - categories_Lo, // 020600 - categories_Lo, // 020700 - categories_Lo, // 020800 - categories_Lo, // 020900 - categories_Lo, // 020A00 - categories_Lo, // 020B00 - categories_Lo, // 020C00 - categories_Lo, // 020D00 - categories_Lo, // 020E00 - categories_Lo, // 020F00 - categories_Lo, // 021000 - categories_Lo, // 021100 - categories_Lo, // 021200 - categories_Lo, // 021300 - categories_Lo, // 021400 - categories_Lo, // 021500 - categories_Lo, // 021600 - categories_Lo, // 021700 - categories_Lo, // 021800 - categories_Lo, // 021900 - categories_Lo, // 021A00 - categories_Lo, // 021B00 - categories_Lo, // 021C00 - categories_Lo, // 021D00 - categories_Lo, // 021E00 - categories_Lo, // 021F00 - categories_Lo, // 022000 - categories_Lo, // 022100 - categories_Lo, // 022200 - categories_Lo, // 022300 - categories_Lo, // 022400 - categories_Lo, // 022500 - categories_Lo, // 022600 - categories_Lo, // 022700 - categories_Lo, // 022800 - categories_Lo, // 022900 - categories_Lo, // 022A00 - categories_Lo, // 022B00 - categories_Lo, // 022C00 - categories_Lo, // 022D00 - categories_Lo, // 022E00 - categories_Lo, // 022F00 - categories_Lo, // 023000 - categories_Lo, // 023100 - categories_Lo, // 023200 - categories_Lo, // 023300 - categories_Lo, // 023400 - categories_Lo, // 023500 - categories_Lo, // 023600 - categories_Lo, // 023700 - categories_Lo, // 023800 - categories_Lo, // 023900 - categories_Lo, // 023A00 - categories_Lo, // 023B00 - categories_Lo, // 023C00 - categories_Lo, // 023D00 - categories_Lo, // 023E00 - categories_Lo, // 023F00 - categories_Lo, // 024000 - categories_Lo, // 024100 - categories_Lo, // 024200 - categories_Lo, // 024300 - categories_Lo, // 024400 - categories_Lo, // 024500 - categories_Lo, // 024600 - categories_Lo, // 024700 - categories_Lo, // 024800 - categories_Lo, // 024900 - categories_Lo, // 024A00 - categories_Lo, // 024B00 - categories_Lo, // 024C00 - categories_Lo, // 024D00 - categories_Lo, // 024E00 - categories_Lo, // 024F00 - categories_Lo, // 025000 - categories_Lo, // 025100 - categories_Lo, // 025200 - categories_Lo, // 025300 - categories_Lo, // 025400 - categories_Lo, // 025500 - categories_Lo, // 025600 - categories_Lo, // 025700 - categories_Lo, // 025800 - categories_Lo, // 025900 - categories_Lo, // 025A00 - categories_Lo, // 025B00 - categories_Lo, // 025C00 - categories_Lo, // 025D00 - categories_Lo, // 025E00 - categories_Lo, // 025F00 - categories_Lo, // 026000 - categories_Lo, // 026100 - categories_Lo, // 026200 - categories_Lo, // 026300 - categories_Lo, // 026400 - categories_Lo, // 026500 - categories_Lo, // 026600 - categories_Lo, // 026700 - categories_Lo, // 026800 - categories_Lo, // 026900 - categories_Lo, // 026A00 - categories_Lo, // 026B00 - categories_Lo, // 026C00 - categories_Lo, // 026D00 - categories_Lo, // 026E00 - categories_Lo, // 026F00 - categories_Lo, // 027000 - categories_Lo, // 027100 - categories_Lo, // 027200 - categories_Lo, // 027300 - categories_Lo, // 027400 - categories_Lo, // 027500 - categories_Lo, // 027600 - categories_Lo, // 027700 - categories_Lo, // 027800 - categories_Lo, // 027900 - categories_Lo, // 027A00 - categories_Lo, // 027B00 - categories_Lo, // 027C00 - categories_Lo, // 027D00 - categories_Lo, // 027E00 - categories_Lo, // 027F00 - categories_Lo, // 028000 - categories_Lo, // 028100 - categories_Lo, // 028200 - categories_Lo, // 028300 - categories_Lo, // 028400 - categories_Lo, // 028500 - categories_Lo, // 028600 - categories_Lo, // 028700 - categories_Lo, // 028800 - categories_Lo, // 028900 - categories_Lo, // 028A00 - categories_Lo, // 028B00 - categories_Lo, // 028C00 - categories_Lo, // 028D00 - categories_Lo, // 028E00 - categories_Lo, // 028F00 - categories_Lo, // 029000 - categories_Lo, // 029100 - categories_Lo, // 029200 - categories_Lo, // 029300 - categories_Lo, // 029400 - categories_Lo, // 029500 - categories_Lo, // 029600 - categories_Lo, // 029700 - categories_Lo, // 029800 - categories_Lo, // 029900 - categories_Lo, // 029A00 - categories_Lo, // 029B00 - categories_Lo, // 029C00 - categories_Lo, // 029D00 - categories_Lo, // 029E00 - categories_Lo, // 029F00 - categories_Lo, // 02A000 - categories_Lo, // 02A100 - categories_Lo, // 02A200 - categories_Lo, // 02A300 - categories_Lo, // 02A400 - categories_Lo, // 02A500 + categories_Cn, /* 01FA00 */ + categories_Cn, /* 01FB00 */ + categories_Cn, /* 01FC00 */ + categories_Cn, /* 01FD00 */ + categories_Cn, /* 01FE00 */ + categories_Cn, /* 01FF00 */ + categories_Lo, /* 020000 */ + categories_Lo, /* 020100 */ + categories_Lo, /* 020200 */ + categories_Lo, /* 020300 */ + categories_Lo, /* 020400 */ + categories_Lo, /* 020500 */ + categories_Lo, /* 020600 */ + categories_Lo, /* 020700 */ + categories_Lo, /* 020800 */ + categories_Lo, /* 020900 */ + categories_Lo, /* 020A00 */ + categories_Lo, /* 020B00 */ + categories_Lo, /* 020C00 */ + categories_Lo, /* 020D00 */ + categories_Lo, /* 020E00 */ + categories_Lo, /* 020F00 */ + categories_Lo, /* 021000 */ + categories_Lo, /* 021100 */ + categories_Lo, /* 021200 */ + categories_Lo, /* 021300 */ + categories_Lo, /* 021400 */ + categories_Lo, /* 021500 */ + categories_Lo, /* 021600 */ + categories_Lo, /* 021700 */ + categories_Lo, /* 021800 */ + categories_Lo, /* 021900 */ + categories_Lo, /* 021A00 */ + categories_Lo, /* 021B00 */ + categories_Lo, /* 021C00 */ + categories_Lo, /* 021D00 */ + categories_Lo, /* 021E00 */ + categories_Lo, /* 021F00 */ + categories_Lo, /* 022000 */ + categories_Lo, /* 022100 */ + categories_Lo, /* 022200 */ + categories_Lo, /* 022300 */ + categories_Lo, /* 022400 */ + categories_Lo, /* 022500 */ + categories_Lo, /* 022600 */ + categories_Lo, /* 022700 */ + categories_Lo, /* 022800 */ + categories_Lo, /* 022900 */ + categories_Lo, /* 022A00 */ + categories_Lo, /* 022B00 */ + categories_Lo, /* 022C00 */ + categories_Lo, /* 022D00 */ + categories_Lo, /* 022E00 */ + categories_Lo, /* 022F00 */ + categories_Lo, /* 023000 */ + categories_Lo, /* 023100 */ + categories_Lo, /* 023200 */ + categories_Lo, /* 023300 */ + categories_Lo, /* 023400 */ + categories_Lo, /* 023500 */ + categories_Lo, /* 023600 */ + categories_Lo, /* 023700 */ + categories_Lo, /* 023800 */ + categories_Lo, /* 023900 */ + categories_Lo, /* 023A00 */ + categories_Lo, /* 023B00 */ + categories_Lo, /* 023C00 */ + categories_Lo, /* 023D00 */ + categories_Lo, /* 023E00 */ + categories_Lo, /* 023F00 */ + categories_Lo, /* 024000 */ + categories_Lo, /* 024100 */ + categories_Lo, /* 024200 */ + categories_Lo, /* 024300 */ + categories_Lo, /* 024400 */ + categories_Lo, /* 024500 */ + categories_Lo, /* 024600 */ + categories_Lo, /* 024700 */ + categories_Lo, /* 024800 */ + categories_Lo, /* 024900 */ + categories_Lo, /* 024A00 */ + categories_Lo, /* 024B00 */ + categories_Lo, /* 024C00 */ + categories_Lo, /* 024D00 */ + categories_Lo, /* 024E00 */ + categories_Lo, /* 024F00 */ + categories_Lo, /* 025000 */ + categories_Lo, /* 025100 */ + categories_Lo, /* 025200 */ + categories_Lo, /* 025300 */ + categories_Lo, /* 025400 */ + categories_Lo, /* 025500 */ + categories_Lo, /* 025600 */ + categories_Lo, /* 025700 */ + categories_Lo, /* 025800 */ + categories_Lo, /* 025900 */ + categories_Lo, /* 025A00 */ + categories_Lo, /* 025B00 */ + categories_Lo, /* 025C00 */ + categories_Lo, /* 025D00 */ + categories_Lo, /* 025E00 */ + categories_Lo, /* 025F00 */ + categories_Lo, /* 026000 */ + categories_Lo, /* 026100 */ + categories_Lo, /* 026200 */ + categories_Lo, /* 026300 */ + categories_Lo, /* 026400 */ + categories_Lo, /* 026500 */ + categories_Lo, /* 026600 */ + categories_Lo, /* 026700 */ + categories_Lo, /* 026800 */ + categories_Lo, /* 026900 */ + categories_Lo, /* 026A00 */ + categories_Lo, /* 026B00 */ + categories_Lo, /* 026C00 */ + categories_Lo, /* 026D00 */ + categories_Lo, /* 026E00 */ + categories_Lo, /* 026F00 */ + categories_Lo, /* 027000 */ + categories_Lo, /* 027100 */ + categories_Lo, /* 027200 */ + categories_Lo, /* 027300 */ + categories_Lo, /* 027400 */ + categories_Lo, /* 027500 */ + categories_Lo, /* 027600 */ + categories_Lo, /* 027700 */ + categories_Lo, /* 027800 */ + categories_Lo, /* 027900 */ + categories_Lo, /* 027A00 */ + categories_Lo, /* 027B00 */ + categories_Lo, /* 027C00 */ + categories_Lo, /* 027D00 */ + categories_Lo, /* 027E00 */ + categories_Lo, /* 027F00 */ + categories_Lo, /* 028000 */ + categories_Lo, /* 028100 */ + categories_Lo, /* 028200 */ + categories_Lo, /* 028300 */ + categories_Lo, /* 028400 */ + categories_Lo, /* 028500 */ + categories_Lo, /* 028600 */ + categories_Lo, /* 028700 */ + categories_Lo, /* 028800 */ + categories_Lo, /* 028900 */ + categories_Lo, /* 028A00 */ + categories_Lo, /* 028B00 */ + categories_Lo, /* 028C00 */ + categories_Lo, /* 028D00 */ + categories_Lo, /* 028E00 */ + categories_Lo, /* 028F00 */ + categories_Lo, /* 029000 */ + categories_Lo, /* 029100 */ + categories_Lo, /* 029200 */ + categories_Lo, /* 029300 */ + categories_Lo, /* 029400 */ + categories_Lo, /* 029500 */ + categories_Lo, /* 029600 */ + categories_Lo, /* 029700 */ + categories_Lo, /* 029800 */ + categories_Lo, /* 029900 */ + categories_Lo, /* 029A00 */ + categories_Lo, /* 029B00 */ + categories_Lo, /* 029C00 */ + categories_Lo, /* 029D00 */ + categories_Lo, /* 029E00 */ + categories_Lo, /* 029F00 */ + categories_Lo, /* 02A000 */ + categories_Lo, /* 02A100 */ + categories_Lo, /* 02A200 */ + categories_Lo, /* 02A300 */ + categories_Lo, /* 02A400 */ + categories_Lo, /* 02A500 */ categories_02A600, - categories_Lo, // 02A700 - categories_Lo, // 02A800 - categories_Lo, // 02A900 - categories_Lo, // 02AA00 - categories_Lo, // 02AB00 - categories_Lo, // 02AC00 - categories_Lo, // 02AD00 - categories_Lo, // 02AE00 - categories_Lo, // 02AF00 - categories_Lo, // 02B000 - categories_Lo, // 02B100 - categories_Lo, // 02B200 - categories_Lo, // 02B300 - categories_Lo, // 02B400 - categories_Lo, // 02B500 - categories_Lo, // 02B600 + categories_Lo, /* 02A700 */ + categories_Lo, /* 02A800 */ + categories_Lo, /* 02A900 */ + categories_Lo, /* 02AA00 */ + categories_Lo, /* 02AB00 */ + categories_Lo, /* 02AC00 */ + categories_Lo, /* 02AD00 */ + categories_Lo, /* 02AE00 */ + categories_Lo, /* 02AF00 */ + categories_Lo, /* 02B000 */ + categories_Lo, /* 02B100 */ + categories_Lo, /* 02B200 */ + categories_Lo, /* 02B300 */ + categories_Lo, /* 02B400 */ + categories_Lo, /* 02B500 */ + categories_Lo, /* 02B600 */ categories_02B700, categories_02B800, - categories_Lo, // 02B900 - categories_Lo, // 02BA00 - categories_Lo, // 02BB00 - categories_Lo, // 02BC00 - categories_Lo, // 02BD00 - categories_Lo, // 02BE00 - categories_Lo, // 02BF00 - categories_Lo, // 02C000 - categories_Lo, // 02C100 - categories_Lo, // 02C200 - categories_Lo, // 02C300 - categories_Lo, // 02C400 - categories_Lo, // 02C500 - categories_Lo, // 02C600 - categories_Lo, // 02C700 - categories_Lo, // 02C800 - categories_Lo, // 02C900 - categories_Lo, // 02CA00 - categories_Lo, // 02CB00 - categories_Lo, // 02CC00 - categories_Lo, // 02CD00 + categories_Lo, /* 02B900 */ + categories_Lo, /* 02BA00 */ + categories_Lo, /* 02BB00 */ + categories_Lo, /* 02BC00 */ + categories_Lo, /* 02BD00 */ + categories_Lo, /* 02BE00 */ + categories_Lo, /* 02BF00 */ + categories_Lo, /* 02C000 */ + categories_Lo, /* 02C100 */ + categories_Lo, /* 02C200 */ + categories_Lo, /* 02C300 */ + categories_Lo, /* 02C400 */ + categories_Lo, /* 02C500 */ + categories_Lo, /* 02C600 */ + categories_Lo, /* 02C700 */ + categories_Lo, /* 02C800 */ + categories_Lo, /* 02C900 */ + categories_Lo, /* 02CA00 */ + categories_Lo, /* 02CB00 */ + categories_Lo, /* 02CC00 */ + categories_Lo, /* 02CD00 */ categories_02CE00, - categories_Cn, // 02CF00 - categories_Cn, // 02D000 - categories_Cn, // 02D100 - categories_Cn, // 02D200 - categories_Cn, // 02D300 - categories_Cn, // 02D400 - categories_Cn, // 02D500 - categories_Cn, // 02D600 - categories_Cn, // 02D700 - categories_Cn, // 02D800 - categories_Cn, // 02D900 - categories_Cn, // 02DA00 - categories_Cn, // 02DB00 - categories_Cn, // 02DC00 - categories_Cn, // 02DD00 - categories_Cn, // 02DE00 - categories_Cn, // 02DF00 - categories_Cn, // 02E000 - categories_Cn, // 02E100 - categories_Cn, // 02E200 - categories_Cn, // 02E300 - categories_Cn, // 02E400 - categories_Cn, // 02E500 - categories_Cn, // 02E600 - categories_Cn, // 02E700 - categories_Cn, // 02E800 - categories_Cn, // 02E900 - categories_Cn, // 02EA00 - categories_Cn, // 02EB00 - categories_Cn, // 02EC00 - categories_Cn, // 02ED00 - categories_Cn, // 02EE00 - categories_Cn, // 02EF00 - categories_Cn, // 02F000 - categories_Cn, // 02F100 - categories_Cn, // 02F200 - categories_Cn, // 02F300 - categories_Cn, // 02F400 - categories_Cn, // 02F500 - categories_Cn, // 02F600 - categories_Cn, // 02F700 - categories_Lo, // 02F800 - categories_Lo, // 02F900 + categories_Cn, /* 02CF00 */ + categories_Cn, /* 02D000 */ + categories_Cn, /* 02D100 */ + categories_Cn, /* 02D200 */ + categories_Cn, /* 02D300 */ + categories_Cn, /* 02D400 */ + categories_Cn, /* 02D500 */ + categories_Cn, /* 02D600 */ + categories_Cn, /* 02D700 */ + categories_Cn, /* 02D800 */ + categories_Cn, /* 02D900 */ + categories_Cn, /* 02DA00 */ + categories_Cn, /* 02DB00 */ + categories_Cn, /* 02DC00 */ + categories_Cn, /* 02DD00 */ + categories_Cn, /* 02DE00 */ + categories_Cn, /* 02DF00 */ + categories_Cn, /* 02E000 */ + categories_Cn, /* 02E100 */ + categories_Cn, /* 02E200 */ + categories_Cn, /* 02E300 */ + categories_Cn, /* 02E400 */ + categories_Cn, /* 02E500 */ + categories_Cn, /* 02E600 */ + categories_Cn, /* 02E700 */ + categories_Cn, /* 02E800 */ + categories_Cn, /* 02E900 */ + categories_Cn, /* 02EA00 */ + categories_Cn, /* 02EB00 */ + categories_Cn, /* 02EC00 */ + categories_Cn, /* 02ED00 */ + categories_Cn, /* 02EE00 */ + categories_Cn, /* 02EF00 */ + categories_Cn, /* 02F000 */ + categories_Cn, /* 02F100 */ + categories_Cn, /* 02F200 */ + categories_Cn, /* 02F300 */ + categories_Cn, /* 02F400 */ + categories_Cn, /* 02F500 */ + categories_Cn, /* 02F600 */ + categories_Cn, /* 02F700 */ + categories_Lo, /* 02F800 */ + categories_Lo, /* 02F900 */ categories_02FA00, }; @@ -3426,30 +3427,30 @@ static const uint8_t *categories_0E0000_0E01FF[] = ucd_category ucd_lookup_category(codepoint_t c) { - if (c <= 0x00D7FF) // 000000..00D7FF + if (c <= 0x00D7FF) /* 000000..00D7FF */ { const uint8_t *table = categories_000000_00D7FF[(c - 0x000000) / 256]; return (ucd_category)table[c % 256]; } - if (c <= 0x00DFFF) return Cs; // 00D800..00DFFF : Surrogates - if (c <= 0x00F7FF) return Co; // 00E000..00F7FF : Private Use Area - if (c <= 0x02FAFF) // 00F800..02FAFF + if (c <= 0x00DFFF) return Cs; /* 00D800..00DFFF : Surrogates */ + if (c <= 0x00F7FF) return Co; /* 00E000..00F7FF : Private Use Area */ + if (c <= 0x02FAFF) /* 00F800..02FAFF */ { const uint8_t *table = categories_00F800_02FAFF[(c - 0x00F800) / 256]; return (ucd_category)table[c % 256]; } - if (c <= 0x0DFFFF) return Cn; // 02FB00..0DFFFF : Unassigned - if (c <= 0x0E01FF) // 0E0000..0E01FF + if (c <= 0x0DFFFF) return Cn; /* 02FB00..0DFFFF : Unassigned */ + if (c <= 0x0E01FF) /* 0E0000..0E01FF */ { const uint8_t *table = categories_0E0000_0E01FF[(c - 0x0E0000) / 256]; return (ucd_category)table[c % 256]; } - if (c <= 0x0EFFFF) return Cn; // 0E0200..0EFFFF : Unassigned - if (c <= 0x0FFFFD) return Co; // 0F0000..0FFFFD : Plane 15 Private Use - if (c <= 0x0FFFFF) return Cn; // 0FFFFE..0FFFFF : Plane 15 Private Use - if (c <= 0x10FFFD) return Co; // 100000..10FFFD : Plane 16 Private Use - if (c <= 0x10FFFF) return Cn; // 10FFFE..10FFFF : Plane 16 Private Use - return Ii; // Invalid Unicode Codepoint + if (c <= 0x0EFFFF) return Cn; /* 0E0200..0EFFFF : Unassigned */ + if (c <= 0x0FFFFD) return Co; /* 0F0000..0FFFFD : Plane 15 Private Use */ + if (c <= 0x0FFFFF) return Cn; /* 0FFFFE..0FFFFF : Plane 15 Private Use */ + if (c <= 0x10FFFD) return Co; /* 100000..10FFFD : Plane 16 Private Use */ + if (c <= 0x10FFFF) return Cn; /* 10FFFE..10FFFF : Plane 16 Private Use */ + return Ii; /* Invalid Unicode Codepoint */ } ucd_category_group ucd_get_category_group_for_category(ucd_category c) diff --git a/src/ctype.c b/src/ctype.c index 5c8b025c..42bb9f58 100644 --- a/src/ctype.c +++ b/src/ctype.c @@ -69,16 +69,16 @@ int ucd_isblank(codepoint_t c) switch (ucd_lookup_category(c)) { case UCD_CATEGORY_Zs: - switch (c) // Exclude characters with the DispositionType + switch (c) /* Exclude characters with the DispositionType */ { - case 0x00A0: // U+00A0 : NO-BREAK SPACE - case 0x2007: // U+2007 : FIGURE SPACE - case 0x202F: // U+202F : NARROW NO-BREAK SPACE + case 0x00A0: /* U+00A0 : NO-BREAK SPACE */ + case 0x2007: /* U+2007 : FIGURE SPACE */ + case 0x202F: /* U+202F : NARROW NO-BREAK SPACE */ return 0; } return 1; case UCD_CATEGORY_Cc: - return c == 0x09; // U+0009 : CHARACTER TABULATION + return c == 0x09; /* U+0009 : CHARACTER TABULATION */ default: return 0; } @@ -91,7 +91,7 @@ int ucd_iscntrl(codepoint_t c) int ucd_isdigit(codepoint_t c) { - return (c >= 0x30 && c <= 0x39); // [0-9] + return (c >= 0x30 && c <= 0x39); /* [0-9] */ } int ucd_isgraph(codepoint_t c) @@ -174,23 +174,23 @@ int ucd_isspace(codepoint_t c) case UCD_CATEGORY_Zp: return 1; case UCD_CATEGORY_Zs: - switch (c) // Exclude characters with the DispositionType + switch (c) /* Exclude characters with the DispositionType */ { - case 0x00A0: // U+00A0 : NO-BREAK SPACE - case 0x2007: // U+2007 : FIGURE SPACE - case 0x202F: // U+202F : NARROW NO-BREAK SPACE + case 0x00A0: /* U+00A0 : NO-BREAK SPACE */ + case 0x2007: /* U+2007 : FIGURE SPACE */ + case 0x202F: /* U+202F : NARROW NO-BREAK SPACE */ return 0; } return 1; case UCD_CATEGORY_Cc: - switch (c) // Include control characters marked as White_Space + switch (c) /* Include control characters marked as White_Space */ { - case 0x09: // U+0009 : CHARACTER TABULATION - case 0x0A: // U+000A : LINE FEED - case 0x0B: // U+000B : LINE TABULATION - case 0x0C: // U+000C : FORM FEED - case 0x0D: // U+000D : CARRIAGE RETURN - case 0x85: // U+0085 : NEXT LINE + case 0x09: /* U+0009 : CHARACTER TABULATION */ + case 0x0A: /* U+000A : LINE FEED */ + case 0x0B: /* U+000B : LINE TABULATION */ + case 0x0C: /* U+000C : FORM FEED */ + case 0x0D: /* U+000D : CARRIAGE RETURN */ + case 0x85: /* U+0085 : NEXT LINE */ return 1; } default: @@ -217,7 +217,7 @@ int ucd_isupper(codepoint_t c) int ucd_isxdigit(codepoint_t c) { - return (c >= 0x30 && c <= 0x39) // [0-9] - || (c >= 0x41 && c <= 0x46) // [A-Z] - || (c >= 0x61 && c <= 0x66); // [a-z] + return (c >= 0x30 && c <= 0x39) /* [0-9] */ + || (c >= 0x41 && c <= 0x46) /* [A-Z] */ + || (c >= 0x61 && c <= 0x66); /* [a-z] */ } diff --git a/src/proplist.c b/src/proplist.c index 97a6f076..c0229512 100644 --- a/src/proplist.c +++ b/src/proplist.c @@ -142,11 +142,11 @@ static ucd_property properties_Ll(codepoint_t c) if (c == 0x029D) return UCD_PROPERTY_SOFT_DOTTED; break; case 0x0300: - if (c >= 0x03D0 && c <= 0x03D2) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x03D0 && c <= 0x03D2) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c == 0x03D5) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x03F0 && c <= 0x03F1) return UCD_PROPERTY_OTHER_MATH; if (c == 0x03F3) return UCD_PROPERTY_SOFT_DOTTED; - if (c >= 0x03F4 && c <= 0x03F5) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x03F4 && c <= 0x03F5) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; case 0x0400: if (c == 0x0456) return UCD_PROPERTY_SOFT_DOTTED; @@ -160,12 +160,12 @@ static ucd_property properties_Ll(codepoint_t c) if (c == 0x1ECB) return UCD_PROPERTY_SOFT_DOTTED; break; case 0x2100: - if (c >= 0x210A && c <= 0x2113) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x212F && c <= 0x2131) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x2133 && c <= 0x2134) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x210A && c <= 0x2113) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x212F && c <= 0x2131) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x2133 && c <= 0x2134) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c == 0x2139) return UCD_PROPERTY_EMOJI; - if (c >= 0x213C && c <= 0x213F) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x2145 && c <= 0x2147) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x213C && c <= 0x213F) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x2145 && c <= 0x2147) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x2148 && c <= 0x2149) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; break; case 0xFF00: @@ -173,45 +173,45 @@ static ucd_property properties_Ll(codepoint_t c) break; case 0x01D400: if (c >= 0x01D422 && c <= 0x01D423) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; - if (c >= 0x01D400 && c <= 0x01D454) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D400 && c <= 0x01D454) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D456 && c <= 0x01D457) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; if (c >= 0x01D48A && c <= 0x01D48B) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; - if (c >= 0x01D458 && c <= 0x01D49C) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x01D4AE && c <= 0x01D4B9) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D458 && c <= 0x01D49C) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x01D4AE && c <= 0x01D4B9) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c == 0x01D4BB) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x01D4BE && c <= 0x01D4BF) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; if (c >= 0x01D4BD && c <= 0x01D4C3) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x01D4F2 && c <= 0x01D4F3) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; - if (c >= 0x01D4C5) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D4C5) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; case 0x01D500: - if (c <= 0x01D505) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c <= 0x01D505) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D526 && c <= 0x01D527) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; - if (c >= 0x01D51E && c <= 0x01D539) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D51E && c <= 0x01D539) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D55A && c <= 0x01D55B) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; if (c >= 0x01D58E && c <= 0x01D58F) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; if (c >= 0x01D5C2 && c <= 0x01D5C3) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; if (c >= 0x01D5F6 && c <= 0x01D5F7) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; - if (c >= 0x01D552) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D552) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; case 0x01D600: if (c >= 0x01D62A && c <= 0x01D62B) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; if (c >= 0x01D65E && c <= 0x01D65F) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; if (c >= 0x01D692 && c <= 0x01D693) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_SOFT_DOTTED; - if (c <= 0x01D6A5) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c <= 0x01D6A5) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D6C2 && c <= 0x01D6DA) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x01D6DC && c <= 0x01D6FA) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D6DC && c <= 0x01D6FA) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D6FC) return UCD_PROPERTY_OTHER_MATH; break; case 0x01D700: if (c <= 0x01D714) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x01D716 && c <= 0x01D734) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D716 && c <= 0x01D734) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D736 && c <= 0x01D74E) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x01D750 && c <= 0x01D76E) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D750 && c <= 0x01D76E) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D770 && c <= 0x01D788) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x01D78A && c <= 0x01D7A8) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D78A && c <= 0x01D7A8) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D7AA && c <= 0x01D7C2) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x01D7C4 && c <= 0x01D7CB) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D7C4 && c <= 0x01D7CB) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; } return 0; @@ -427,8 +427,8 @@ static ucd_property properties_Lu(codepoint_t c) if (c >= 0x0041 && c <= 0x0046) return UCD_PROPERTY_HEX_DIGIT | UCD_PROPERTY_ASCII_HEX_DIGIT; break; case 0x0300: - if (c >= 0x03D0 && c <= 0x03D2) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x03F4 && c <= 0x03F5) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x03D0 && c <= 0x03D2) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x03F4 && c <= 0x03F5) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; case 0xFF00: if (c >= 0xFF21 && c <= 0xFF26) return UCD_PROPERTY_HEX_DIGIT; @@ -436,49 +436,49 @@ static ucd_property properties_Lu(codepoint_t c) case 0x2100: if (c == 0x2102) return UCD_PROPERTY_OTHER_MATH; if (c == 0x2107) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x210A && c <= 0x2113) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x210A && c <= 0x2113) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c == 0x2115) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x2119 && c <= 0x211D) return UCD_PROPERTY_OTHER_MATH; if (c == 0x2124) return UCD_PROPERTY_OTHER_MATH; if (c == 0x2128) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x212C && c <= 0x212D) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x212F && c <= 0x2131) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x2133 && c <= 0x2134) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x213C && c <= 0x213F) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x2145 && c <= 0x2149) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x212F && c <= 0x2131) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x2133 && c <= 0x2134) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x213C && c <= 0x213F) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x2145 && c <= 0x2149) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; case 0x01D400: - if (c >= 0x01D400 && c <= 0x01D454) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x01D456 && c <= 0x01D49C) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D400 && c <= 0x01D454) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x01D456 && c <= 0x01D49C) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D49E && c <= 0x01D49F) return UCD_PROPERTY_OTHER_MATH; if (c == 0x01D4A2) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x01D4A5 && c <= 0x01D4A6) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x01D4A9 && c <= 0x01D4AC) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x01D4AE && c <= 0x01D4B9) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x01D4C5) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D4AE && c <= 0x01D4B9) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x01D4C5) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; case 0x01D500: - if (c <= 0x01D505) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c <= 0x01D505) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D507 && c <= 0x01D50A) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x01D50D && c <= 0x01D514) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x01D516 && c <= 0x01D51C) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x01D51E && c <= 0x01D539) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D51E && c <= 0x01D539) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D53B && c <= 0x01D53E) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x01D540 && c <= 0x01D544) return UCD_PROPERTY_OTHER_MATH; if (c == 0x01D546) return UCD_PROPERTY_OTHER_MATH; if (c >= 0x01D54A && c <= 0x01D550) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x01D552) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D552) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; case 0x01D600: - if (c <= 0x01D6A5) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c <= 0x01D6A5) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ if (c >= 0x01D6A8 && c <= 0x01D6C0) return UCD_PROPERTY_OTHER_MATH; - if (c >= 0x01D6DC && c <= 0x01D6FA) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D6DC && c <= 0x01D6FA) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; case 0x01D700: - if (c >= 0x01D716 && c <= 0x01D734) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x01D750 && c <= 0x01D76E) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x01D78A && c <= 0x01D7A8) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu - if (c >= 0x01D7C4 && c <= 0x01D7CB) return UCD_PROPERTY_OTHER_MATH; // Ll|Lu + if (c >= 0x01D716 && c <= 0x01D734) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x01D750 && c <= 0x01D76E) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x01D78A && c <= 0x01D7A8) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ + if (c >= 0x01D7C4 && c <= 0x01D7CB) return UCD_PROPERTY_OTHER_MATH; /* Ll|Lu */ break; } return 0; @@ -1262,10 +1262,10 @@ static ucd_property properties_Pe(codepoint_t c) break; case 0x2700: if (c == 0x27C6) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; - if (c >= 0x27E6 && c <= 0x27EF) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; // Pe|Ps + if (c >= 0x27E6 && c <= 0x27EF) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; /* Pe|Ps */ return UCD_PROPERTY_PATTERN_SYNTAX; case 0x2900: - return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; // Pe|Ps + return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; /* Pe|Ps */ case 0x2E00: return UCD_PROPERTY_PATTERN_SYNTAX; case 0x3000: @@ -1585,7 +1585,7 @@ static ucd_property properties_Ps(codepoint_t c) break; case 0x2700: if (c == 0x27C5) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; - if (c >= 0x27E6 && c <= 0x27EF) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; // Pe|Ps + if (c >= 0x27E6 && c <= 0x27EF) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; /* Pe|Ps */ return UCD_PROPERTY_PATTERN_SYNTAX; case 0x2900: return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; @@ -2048,6 +2048,6 @@ ucd_property ucd_properties(codepoint_t c, ucd_category category) case UCD_CATEGORY_Zl: return UCD_PROPERTY_WHITE_SPACE | UCD_PROPERTY_PATTERN_WHITE_SPACE; case UCD_CATEGORY_Zp: return UCD_PROPERTY_WHITE_SPACE | UCD_PROPERTY_PATTERN_WHITE_SPACE; case UCD_CATEGORY_Zs: return properties_Zs(c); - default: return 0; // Co Cs Ii Lt Me + default: return 0; /* Co Cs Ii Lt Me */ }; } diff --git a/src/scripts.c b/src/scripts.c index 17254607..f5883d12 100644 --- a/src/scripts.c +++ b/src/scripts.c @@ -18,8 +18,9 @@ * along with ucd-tools. If not, see . */ -// NOTE: This file is automatically generated from the Scripts.txt file in -// the Unicode Character database by the ucd-tools/tools/scripts.py script. +/* NOTE: This file is automatically generated from the Scripts.txt file in + * the Unicode Character database by the ucd-tools/tools/scripts.py script. + */ #include "ucd/ucd.h" @@ -199,7 +200,7 @@ #define Zyyy UCD_SCRIPT_Zyyy #define Zzzz UCD_SCRIPT_Zzzz -// Unicode Character Data 9.0.0 +/* Unicode Character Data 9.0.0 */ static const uint8_t scripts_Latn[256] = { @@ -2904,7 +2905,7 @@ static const uint8_t scripts_0E0100[256] = static const uint8_t *scripts_000000_00D7FF[] = { scripts_000000, - scripts_Latn, // 000100 + scripts_Latn, /* 000100 */ scripts_000200, scripts_000300, scripts_000400, @@ -2920,11 +2921,11 @@ static const uint8_t *scripts_000000_00D7FF[] = scripts_000E00, scripts_000F00, scripts_001000, - scripts_Hang, // 001100 + scripts_Hang, /* 001100 */ scripts_001200, scripts_001300, - scripts_Cans, // 001400 - scripts_Cans, // 001500 + scripts_Cans, /* 001400 */ + scripts_Cans, /* 001500 */ scripts_001600, scripts_001700, scripts_001800, @@ -2933,19 +2934,19 @@ static const uint8_t *scripts_000000_00D7FF[] = scripts_001B00, scripts_001C00, scripts_001D00, - scripts_Latn, // 001E00 + scripts_Latn, /* 001E00 */ scripts_001F00, scripts_002000, scripts_002100, - scripts_Zyyy, // 002200 + scripts_Zyyy, /* 002200 */ scripts_002300, scripts_002400, - scripts_Zyyy, // 002500 - scripts_Zyyy, // 002600 - scripts_Zyyy, // 002700 - scripts_Brai, // 002800 - scripts_Zyyy, // 002900 - scripts_Zyyy, // 002A00 + scripts_Zyyy, /* 002500 */ + scripts_Zyyy, /* 002600 */ + scripts_Zyyy, /* 002700 */ + scripts_Brai, /* 002800 */ + scripts_Zyyy, /* 002900 */ + scripts_Zyyy, /* 002A00 */ scripts_002B00, scripts_002C00, scripts_002D00, @@ -2955,179 +2956,179 @@ static const uint8_t *scripts_000000_00D7FF[] = scripts_003100, scripts_003200, scripts_003300, - scripts_Hani, // 003400 - scripts_Hani, // 003500 - scripts_Hani, // 003600 - scripts_Hani, // 003700 - scripts_Hani, // 003800 - scripts_Hani, // 003900 - scripts_Hani, // 003A00 - scripts_Hani, // 003B00 - scripts_Hani, // 003C00 - scripts_Hani, // 003D00 - scripts_Hani, // 003E00 - scripts_Hani, // 003F00 - scripts_Hani, // 004000 - scripts_Hani, // 004100 - scripts_Hani, // 004200 - scripts_Hani, // 004300 - scripts_Hani, // 004400 - scripts_Hani, // 004500 - scripts_Hani, // 004600 - scripts_Hani, // 004700 - scripts_Hani, // 004800 - scripts_Hani, // 004900 - scripts_Hani, // 004A00 - scripts_Hani, // 004B00 - scripts_Hani, // 004C00 + scripts_Hani, /* 003400 */ + scripts_Hani, /* 003500 */ + scripts_Hani, /* 003600 */ + scripts_Hani, /* 003700 */ + scripts_Hani, /* 003800 */ + scripts_Hani, /* 003900 */ + scripts_Hani, /* 003A00 */ + scripts_Hani, /* 003B00 */ + scripts_Hani, /* 003C00 */ + scripts_Hani, /* 003D00 */ + scripts_Hani, /* 003E00 */ + scripts_Hani, /* 003F00 */ + scripts_Hani, /* 004000 */ + scripts_Hani, /* 004100 */ + scripts_Hani, /* 004200 */ + scripts_Hani, /* 004300 */ + scripts_Hani, /* 004400 */ + scripts_Hani, /* 004500 */ + scripts_Hani, /* 004600 */ + scripts_Hani, /* 004700 */ + scripts_Hani, /* 004800 */ + scripts_Hani, /* 004900 */ + scripts_Hani, /* 004A00 */ + scripts_Hani, /* 004B00 */ + scripts_Hani, /* 004C00 */ scripts_004D00, - scripts_Hani, // 004E00 - scripts_Hani, // 004F00 - scripts_Hani, // 005000 - scripts_Hani, // 005100 - scripts_Hani, // 005200 - scripts_Hani, // 005300 - scripts_Hani, // 005400 - scripts_Hani, // 005500 - scripts_Hani, // 005600 - scripts_Hani, // 005700 - scripts_Hani, // 005800 - scripts_Hani, // 005900 - scripts_Hani, // 005A00 - scripts_Hani, // 005B00 - scripts_Hani, // 005C00 - scripts_Hani, // 005D00 - scripts_Hani, // 005E00 - scripts_Hani, // 005F00 - scripts_Hani, // 006000 - scripts_Hani, // 006100 - scripts_Hani, // 006200 - scripts_Hani, // 006300 - scripts_Hani, // 006400 - scripts_Hani, // 006500 - scripts_Hani, // 006600 - scripts_Hani, // 006700 - scripts_Hani, // 006800 - scripts_Hani, // 006900 - scripts_Hani, // 006A00 - scripts_Hani, // 006B00 - scripts_Hani, // 006C00 - scripts_Hani, // 006D00 - scripts_Hani, // 006E00 - scripts_Hani, // 006F00 - scripts_Hani, // 007000 - scripts_Hani, // 007100 - scripts_Hani, // 007200 - scripts_Hani, // 007300 - scripts_Hani, // 007400 - scripts_Hani, // 007500 - scripts_Hani, // 007600 - scripts_Hani, // 007700 - scripts_Hani, // 007800 - scripts_Hani, // 007900 - scripts_Hani, // 007A00 - scripts_Hani, // 007B00 - scripts_Hani, // 007C00 - scripts_Hani, // 007D00 - scripts_Hani, // 007E00 - scripts_Hani, // 007F00 - scripts_Hani, // 008000 - scripts_Hani, // 008100 - scripts_Hani, // 008200 - scripts_Hani, // 008300 - scripts_Hani, // 008400 - scripts_Hani, // 008500 - scripts_Hani, // 008600 - scripts_Hani, // 008700 - scripts_Hani, // 008800 - scripts_Hani, // 008900 - scripts_Hani, // 008A00 - scripts_Hani, // 008B00 - scripts_Hani, // 008C00 - scripts_Hani, // 008D00 - scripts_Hani, // 008E00 - scripts_Hani, // 008F00 - scripts_Hani, // 009000 - scripts_Hani, // 009100 - scripts_Hani, // 009200 - scripts_Hani, // 009300 - scripts_Hani, // 009400 - scripts_Hani, // 009500 - scripts_Hani, // 009600 - scripts_Hani, // 009700 - scripts_Hani, // 009800 - scripts_Hani, // 009900 - scripts_Hani, // 009A00 - scripts_Hani, // 009B00 - scripts_Hani, // 009C00 - scripts_Hani, // 009D00 - scripts_Hani, // 009E00 + scripts_Hani, /* 004E00 */ + scripts_Hani, /* 004F00 */ + scripts_Hani, /* 005000 */ + scripts_Hani, /* 005100 */ + scripts_Hani, /* 005200 */ + scripts_Hani, /* 005300 */ + scripts_Hani, /* 005400 */ + scripts_Hani, /* 005500 */ + scripts_Hani, /* 005600 */ + scripts_Hani, /* 005700 */ + scripts_Hani, /* 005800 */ + scripts_Hani, /* 005900 */ + scripts_Hani, /* 005A00 */ + scripts_Hani, /* 005B00 */ + scripts_Hani, /* 005C00 */ + scripts_Hani, /* 005D00 */ + scripts_Hani, /* 005E00 */ + scripts_Hani, /* 005F00 */ + scripts_Hani, /* 006000 */ + scripts_Hani, /* 006100 */ + scripts_Hani, /* 006200 */ + scripts_Hani, /* 006300 */ + scripts_Hani, /* 006400 */ + scripts_Hani, /* 006500 */ + scripts_Hani, /* 006600 */ + scripts_Hani, /* 006700 */ + scripts_Hani, /* 006800 */ + scripts_Hani, /* 006900 */ + scripts_Hani, /* 006A00 */ + scripts_Hani, /* 006B00 */ + scripts_Hani, /* 006C00 */ + scripts_Hani, /* 006D00 */ + scripts_Hani, /* 006E00 */ + scripts_Hani, /* 006F00 */ + scripts_Hani, /* 007000 */ + scripts_Hani, /* 007100 */ + scripts_Hani, /* 007200 */ + scripts_Hani, /* 007300 */ + scripts_Hani, /* 007400 */ + scripts_Hani, /* 007500 */ + scripts_Hani, /* 007600 */ + scripts_Hani, /* 007700 */ + scripts_Hani, /* 007800 */ + scripts_Hani, /* 007900 */ + scripts_Hani, /* 007A00 */ + scripts_Hani, /* 007B00 */ + scripts_Hani, /* 007C00 */ + scripts_Hani, /* 007D00 */ + scripts_Hani, /* 007E00 */ + scripts_Hani, /* 007F00 */ + scripts_Hani, /* 008000 */ + scripts_Hani, /* 008100 */ + scripts_Hani, /* 008200 */ + scripts_Hani, /* 008300 */ + scripts_Hani, /* 008400 */ + scripts_Hani, /* 008500 */ + scripts_Hani, /* 008600 */ + scripts_Hani, /* 008700 */ + scripts_Hani, /* 008800 */ + scripts_Hani, /* 008900 */ + scripts_Hani, /* 008A00 */ + scripts_Hani, /* 008B00 */ + scripts_Hani, /* 008C00 */ + scripts_Hani, /* 008D00 */ + scripts_Hani, /* 008E00 */ + scripts_Hani, /* 008F00 */ + scripts_Hani, /* 009000 */ + scripts_Hani, /* 009100 */ + scripts_Hani, /* 009200 */ + scripts_Hani, /* 009300 */ + scripts_Hani, /* 009400 */ + scripts_Hani, /* 009500 */ + scripts_Hani, /* 009600 */ + scripts_Hani, /* 009700 */ + scripts_Hani, /* 009800 */ + scripts_Hani, /* 009900 */ + scripts_Hani, /* 009A00 */ + scripts_Hani, /* 009B00 */ + scripts_Hani, /* 009C00 */ + scripts_Hani, /* 009D00 */ + scripts_Hani, /* 009E00 */ scripts_009F00, - scripts_Yiii, // 00A000 - scripts_Yiii, // 00A100 - scripts_Yiii, // 00A200 - scripts_Yiii, // 00A300 + scripts_Yiii, /* 00A000 */ + scripts_Yiii, /* 00A100 */ + scripts_Yiii, /* 00A200 */ + scripts_Yiii, /* 00A300 */ scripts_00A400, - scripts_Vaii, // 00A500 + scripts_Vaii, /* 00A500 */ scripts_00A600, scripts_00A700, scripts_00A800, scripts_00A900, scripts_00AA00, scripts_00AB00, - scripts_Hang, // 00AC00 - scripts_Hang, // 00AD00 - scripts_Hang, // 00AE00 - scripts_Hang, // 00AF00 - scripts_Hang, // 00B000 - scripts_Hang, // 00B100 - scripts_Hang, // 00B200 - scripts_Hang, // 00B300 - scripts_Hang, // 00B400 - scripts_Hang, // 00B500 - scripts_Hang, // 00B600 - scripts_Hang, // 00B700 - scripts_Hang, // 00B800 - scripts_Hang, // 00B900 - scripts_Hang, // 00BA00 - scripts_Hang, // 00BB00 - scripts_Hang, // 00BC00 - scripts_Hang, // 00BD00 - scripts_Hang, // 00BE00 - scripts_Hang, // 00BF00 - scripts_Hang, // 00C000 - scripts_Hang, // 00C100 - scripts_Hang, // 00C200 - scripts_Hang, // 00C300 - scripts_Hang, // 00C400 - scripts_Hang, // 00C500 - scripts_Hang, // 00C600 - scripts_Hang, // 00C700 - scripts_Hang, // 00C800 - scripts_Hang, // 00C900 - scripts_Hang, // 00CA00 - scripts_Hang, // 00CB00 - scripts_Hang, // 00CC00 - scripts_Hang, // 00CD00 - scripts_Hang, // 00CE00 - scripts_Hang, // 00CF00 - scripts_Hang, // 00D000 - scripts_Hang, // 00D100 - scripts_Hang, // 00D200 - scripts_Hang, // 00D300 - scripts_Hang, // 00D400 - scripts_Hang, // 00D500 - scripts_Hang, // 00D600 + scripts_Hang, /* 00AC00 */ + scripts_Hang, /* 00AD00 */ + scripts_Hang, /* 00AE00 */ + scripts_Hang, /* 00AF00 */ + scripts_Hang, /* 00B000 */ + scripts_Hang, /* 00B100 */ + scripts_Hang, /* 00B200 */ + scripts_Hang, /* 00B300 */ + scripts_Hang, /* 00B400 */ + scripts_Hang, /* 00B500 */ + scripts_Hang, /* 00B600 */ + scripts_Hang, /* 00B700 */ + scripts_Hang, /* 00B800 */ + scripts_Hang, /* 00B900 */ + scripts_Hang, /* 00BA00 */ + scripts_Hang, /* 00BB00 */ + scripts_Hang, /* 00BC00 */ + scripts_Hang, /* 00BD00 */ + scripts_Hang, /* 00BE00 */ + scripts_Hang, /* 00BF00 */ + scripts_Hang, /* 00C000 */ + scripts_Hang, /* 00C100 */ + scripts_Hang, /* 00C200 */ + scripts_Hang, /* 00C300 */ + scripts_Hang, /* 00C400 */ + scripts_Hang, /* 00C500 */ + scripts_Hang, /* 00C600 */ + scripts_Hang, /* 00C700 */ + scripts_Hang, /* 00C800 */ + scripts_Hang, /* 00C900 */ + scripts_Hang, /* 00CA00 */ + scripts_Hang, /* 00CB00 */ + scripts_Hang, /* 00CC00 */ + scripts_Hang, /* 00CD00 */ + scripts_Hang, /* 00CE00 */ + scripts_Hang, /* 00CF00 */ + scripts_Hang, /* 00D000 */ + scripts_Hang, /* 00D100 */ + scripts_Hang, /* 00D200 */ + scripts_Hang, /* 00D300 */ + scripts_Hang, /* 00D400 */ + scripts_Hang, /* 00D500 */ + scripts_Hang, /* 00D600 */ scripts_00D700, }; static const uint8_t *scripts_00F800_02FAFF[] = { - scripts_Zzzz, // 00F800 - scripts_Hani, // 00F900 + scripts_Zzzz, /* 00F800 */ + scripts_Hani, /* 00F900 */ scripts_00FA00, scripts_00FB00, - scripts_Arab, // 00FC00 + scripts_Arab, /* 00FC00 */ scripts_00FD00, scripts_00FE00, scripts_00FF00, @@ -3137,16 +3138,16 @@ static const uint8_t *scripts_00F800_02FAFF[] = scripts_010300, scripts_010400, scripts_010500, - scripts_Lina, // 010600 + scripts_Lina, /* 010600 */ scripts_010700, scripts_010800, scripts_010900, scripts_010A00, scripts_010B00, scripts_010C00, - scripts_Zzzz, // 010D00 + scripts_Zzzz, /* 010D00 */ scripts_010E00, - scripts_Zzzz, // 010F00 + scripts_Zzzz, /* 010F00 */ scripts_011000, scripts_011100, scripts_011200, @@ -3156,189 +3157,189 @@ static const uint8_t *scripts_00F800_02FAFF[] = scripts_011600, scripts_011700, scripts_011800, - scripts_Zzzz, // 011900 + scripts_Zzzz, /* 011900 */ scripts_011A00, - scripts_Zzzz, // 011B00 + scripts_Zzzz, /* 011B00 */ scripts_011C00, - scripts_Zzzz, // 011D00 - scripts_Zzzz, // 011E00 - scripts_Zzzz, // 011F00 - scripts_Xsux, // 012000 - scripts_Xsux, // 012100 - scripts_Xsux, // 012200 + scripts_Zzzz, /* 011D00 */ + scripts_Zzzz, /* 011E00 */ + scripts_Zzzz, /* 011F00 */ + scripts_Xsux, /* 012000 */ + scripts_Xsux, /* 012100 */ + scripts_Xsux, /* 012200 */ scripts_012300, scripts_012400, scripts_012500, - scripts_Zzzz, // 012600 - scripts_Zzzz, // 012700 - scripts_Zzzz, // 012800 - scripts_Zzzz, // 012900 - scripts_Zzzz, // 012A00 - scripts_Zzzz, // 012B00 - scripts_Zzzz, // 012C00 - scripts_Zzzz, // 012D00 - scripts_Zzzz, // 012E00 - scripts_Zzzz, // 012F00 - scripts_Egyp, // 013000 - scripts_Egyp, // 013100 - scripts_Egyp, // 013200 - scripts_Egyp, // 013300 + scripts_Zzzz, /* 012600 */ + scripts_Zzzz, /* 012700 */ + scripts_Zzzz, /* 012800 */ + scripts_Zzzz, /* 012900 */ + scripts_Zzzz, /* 012A00 */ + scripts_Zzzz, /* 012B00 */ + scripts_Zzzz, /* 012C00 */ + scripts_Zzzz, /* 012D00 */ + scripts_Zzzz, /* 012E00 */ + scripts_Zzzz, /* 012F00 */ + scripts_Egyp, /* 013000 */ + scripts_Egyp, /* 013100 */ + scripts_Egyp, /* 013200 */ + scripts_Egyp, /* 013300 */ scripts_013400, - scripts_Zzzz, // 013500 - scripts_Zzzz, // 013600 - scripts_Zzzz, // 013700 - scripts_Zzzz, // 013800 - scripts_Zzzz, // 013900 - scripts_Zzzz, // 013A00 - scripts_Zzzz, // 013B00 - scripts_Zzzz, // 013C00 - scripts_Zzzz, // 013D00 - scripts_Zzzz, // 013E00 - scripts_Zzzz, // 013F00 - scripts_Zzzz, // 014000 - scripts_Zzzz, // 014100 - scripts_Zzzz, // 014200 - scripts_Zzzz, // 014300 - scripts_Hluw, // 014400 - scripts_Hluw, // 014500 + scripts_Zzzz, /* 013500 */ + scripts_Zzzz, /* 013600 */ + scripts_Zzzz, /* 013700 */ + scripts_Zzzz, /* 013800 */ + scripts_Zzzz, /* 013900 */ + scripts_Zzzz, /* 013A00 */ + scripts_Zzzz, /* 013B00 */ + scripts_Zzzz, /* 013C00 */ + scripts_Zzzz, /* 013D00 */ + scripts_Zzzz, /* 013E00 */ + scripts_Zzzz, /* 013F00 */ + scripts_Zzzz, /* 014000 */ + scripts_Zzzz, /* 014100 */ + scripts_Zzzz, /* 014200 */ + scripts_Zzzz, /* 014300 */ + scripts_Hluw, /* 014400 */ + scripts_Hluw, /* 014500 */ scripts_014600, - scripts_Zzzz, // 014700 - scripts_Zzzz, // 014800 - scripts_Zzzz, // 014900 - scripts_Zzzz, // 014A00 - scripts_Zzzz, // 014B00 - scripts_Zzzz, // 014C00 - scripts_Zzzz, // 014D00 - scripts_Zzzz, // 014E00 - scripts_Zzzz, // 014F00 - scripts_Zzzz, // 015000 - scripts_Zzzz, // 015100 - scripts_Zzzz, // 015200 - scripts_Zzzz, // 015300 - scripts_Zzzz, // 015400 - scripts_Zzzz, // 015500 - scripts_Zzzz, // 015600 - scripts_Zzzz, // 015700 - scripts_Zzzz, // 015800 - scripts_Zzzz, // 015900 - scripts_Zzzz, // 015A00 - scripts_Zzzz, // 015B00 - scripts_Zzzz, // 015C00 - scripts_Zzzz, // 015D00 - scripts_Zzzz, // 015E00 - scripts_Zzzz, // 015F00 - scripts_Zzzz, // 016000 - scripts_Zzzz, // 016100 - scripts_Zzzz, // 016200 - scripts_Zzzz, // 016300 - scripts_Zzzz, // 016400 - scripts_Zzzz, // 016500 - scripts_Zzzz, // 016600 - scripts_Zzzz, // 016700 - scripts_Bamu, // 016800 - scripts_Bamu, // 016900 + scripts_Zzzz, /* 014700 */ + scripts_Zzzz, /* 014800 */ + scripts_Zzzz, /* 014900 */ + scripts_Zzzz, /* 014A00 */ + scripts_Zzzz, /* 014B00 */ + scripts_Zzzz, /* 014C00 */ + scripts_Zzzz, /* 014D00 */ + scripts_Zzzz, /* 014E00 */ + scripts_Zzzz, /* 014F00 */ + scripts_Zzzz, /* 015000 */ + scripts_Zzzz, /* 015100 */ + scripts_Zzzz, /* 015200 */ + scripts_Zzzz, /* 015300 */ + scripts_Zzzz, /* 015400 */ + scripts_Zzzz, /* 015500 */ + scripts_Zzzz, /* 015600 */ + scripts_Zzzz, /* 015700 */ + scripts_Zzzz, /* 015800 */ + scripts_Zzzz, /* 015900 */ + scripts_Zzzz, /* 015A00 */ + scripts_Zzzz, /* 015B00 */ + scripts_Zzzz, /* 015C00 */ + scripts_Zzzz, /* 015D00 */ + scripts_Zzzz, /* 015E00 */ + scripts_Zzzz, /* 015F00 */ + scripts_Zzzz, /* 016000 */ + scripts_Zzzz, /* 016100 */ + scripts_Zzzz, /* 016200 */ + scripts_Zzzz, /* 016300 */ + scripts_Zzzz, /* 016400 */ + scripts_Zzzz, /* 016500 */ + scripts_Zzzz, /* 016600 */ + scripts_Zzzz, /* 016700 */ + scripts_Bamu, /* 016800 */ + scripts_Bamu, /* 016900 */ scripts_016A00, scripts_016B00, - scripts_Zzzz, // 016C00 - scripts_Zzzz, // 016D00 - scripts_Zzzz, // 016E00 + scripts_Zzzz, /* 016C00 */ + scripts_Zzzz, /* 016D00 */ + scripts_Zzzz, /* 016E00 */ scripts_016F00, - scripts_Tang, // 017000 - scripts_Tang, // 017100 - scripts_Tang, // 017200 - scripts_Tang, // 017300 - scripts_Tang, // 017400 - scripts_Tang, // 017500 - scripts_Tang, // 017600 - scripts_Tang, // 017700 - scripts_Tang, // 017800 - scripts_Tang, // 017900 - scripts_Tang, // 017A00 - scripts_Tang, // 017B00 - scripts_Tang, // 017C00 - scripts_Tang, // 017D00 - scripts_Tang, // 017E00 - scripts_Tang, // 017F00 - scripts_Tang, // 018000 - scripts_Tang, // 018100 - scripts_Tang, // 018200 - scripts_Tang, // 018300 - scripts_Tang, // 018400 - scripts_Tang, // 018500 - scripts_Tang, // 018600 + scripts_Tang, /* 017000 */ + scripts_Tang, /* 017100 */ + scripts_Tang, /* 017200 */ + scripts_Tang, /* 017300 */ + scripts_Tang, /* 017400 */ + scripts_Tang, /* 017500 */ + scripts_Tang, /* 017600 */ + scripts_Tang, /* 017700 */ + scripts_Tang, /* 017800 */ + scripts_Tang, /* 017900 */ + scripts_Tang, /* 017A00 */ + scripts_Tang, /* 017B00 */ + scripts_Tang, /* 017C00 */ + scripts_Tang, /* 017D00 */ + scripts_Tang, /* 017E00 */ + scripts_Tang, /* 017F00 */ + scripts_Tang, /* 018000 */ + scripts_Tang, /* 018100 */ + scripts_Tang, /* 018200 */ + scripts_Tang, /* 018300 */ + scripts_Tang, /* 018400 */ + scripts_Tang, /* 018500 */ + scripts_Tang, /* 018600 */ scripts_018700, - scripts_Tang, // 018800 - scripts_Tang, // 018900 + scripts_Tang, /* 018800 */ + scripts_Tang, /* 018900 */ scripts_018A00, - scripts_Zzzz, // 018B00 - scripts_Zzzz, // 018C00 - scripts_Zzzz, // 018D00 - scripts_Zzzz, // 018E00 - scripts_Zzzz, // 018F00 - scripts_Zzzz, // 019000 - scripts_Zzzz, // 019100 - scripts_Zzzz, // 019200 - scripts_Zzzz, // 019300 - scripts_Zzzz, // 019400 - scripts_Zzzz, // 019500 - scripts_Zzzz, // 019600 - scripts_Zzzz, // 019700 - scripts_Zzzz, // 019800 - scripts_Zzzz, // 019900 - scripts_Zzzz, // 019A00 - scripts_Zzzz, // 019B00 - scripts_Zzzz, // 019C00 - scripts_Zzzz, // 019D00 - scripts_Zzzz, // 019E00 - scripts_Zzzz, // 019F00 - scripts_Zzzz, // 01A000 - scripts_Zzzz, // 01A100 - scripts_Zzzz, // 01A200 - scripts_Zzzz, // 01A300 - scripts_Zzzz, // 01A400 - scripts_Zzzz, // 01A500 - scripts_Zzzz, // 01A600 - scripts_Zzzz, // 01A700 - scripts_Zzzz, // 01A800 - scripts_Zzzz, // 01A900 - scripts_Zzzz, // 01AA00 - scripts_Zzzz, // 01AB00 - scripts_Zzzz, // 01AC00 - scripts_Zzzz, // 01AD00 - scripts_Zzzz, // 01AE00 - scripts_Zzzz, // 01AF00 + scripts_Zzzz, /* 018B00 */ + scripts_Zzzz, /* 018C00 */ + scripts_Zzzz, /* 018D00 */ + scripts_Zzzz, /* 018E00 */ + scripts_Zzzz, /* 018F00 */ + scripts_Zzzz, /* 019000 */ + scripts_Zzzz, /* 019100 */ + scripts_Zzzz, /* 019200 */ + scripts_Zzzz, /* 019300 */ + scripts_Zzzz, /* 019400 */ + scripts_Zzzz, /* 019500 */ + scripts_Zzzz, /* 019600 */ + scripts_Zzzz, /* 019700 */ + scripts_Zzzz, /* 019800 */ + scripts_Zzzz, /* 019900 */ + scripts_Zzzz, /* 019A00 */ + scripts_Zzzz, /* 019B00 */ + scripts_Zzzz, /* 019C00 */ + scripts_Zzzz, /* 019D00 */ + scripts_Zzzz, /* 019E00 */ + scripts_Zzzz, /* 019F00 */ + scripts_Zzzz, /* 01A000 */ + scripts_Zzzz, /* 01A100 */ + scripts_Zzzz, /* 01A200 */ + scripts_Zzzz, /* 01A300 */ + scripts_Zzzz, /* 01A400 */ + scripts_Zzzz, /* 01A500 */ + scripts_Zzzz, /* 01A600 */ + scripts_Zzzz, /* 01A700 */ + scripts_Zzzz, /* 01A800 */ + scripts_Zzzz, /* 01A900 */ + scripts_Zzzz, /* 01AA00 */ + scripts_Zzzz, /* 01AB00 */ + scripts_Zzzz, /* 01AC00 */ + scripts_Zzzz, /* 01AD00 */ + scripts_Zzzz, /* 01AE00 */ + scripts_Zzzz, /* 01AF00 */ scripts_01B000, - scripts_Zzzz, // 01B100 - scripts_Zzzz, // 01B200 - scripts_Zzzz, // 01B300 - scripts_Zzzz, // 01B400 - scripts_Zzzz, // 01B500 - scripts_Zzzz, // 01B600 - scripts_Zzzz, // 01B700 - scripts_Zzzz, // 01B800 - scripts_Zzzz, // 01B900 - scripts_Zzzz, // 01BA00 - scripts_Zzzz, // 01BB00 + scripts_Zzzz, /* 01B100 */ + scripts_Zzzz, /* 01B200 */ + scripts_Zzzz, /* 01B300 */ + scripts_Zzzz, /* 01B400 */ + scripts_Zzzz, /* 01B500 */ + scripts_Zzzz, /* 01B600 */ + scripts_Zzzz, /* 01B700 */ + scripts_Zzzz, /* 01B800 */ + scripts_Zzzz, /* 01B900 */ + scripts_Zzzz, /* 01BA00 */ + scripts_Zzzz, /* 01BB00 */ scripts_01BC00, - scripts_Zzzz, // 01BD00 - scripts_Zzzz, // 01BE00 - scripts_Zzzz, // 01BF00 - scripts_Zzzz, // 01C000 - scripts_Zzzz, // 01C100 - scripts_Zzzz, // 01C200 - scripts_Zzzz, // 01C300 - scripts_Zzzz, // 01C400 - scripts_Zzzz, // 01C500 - scripts_Zzzz, // 01C600 - scripts_Zzzz, // 01C700 - scripts_Zzzz, // 01C800 - scripts_Zzzz, // 01C900 - scripts_Zzzz, // 01CA00 - scripts_Zzzz, // 01CB00 - scripts_Zzzz, // 01CC00 - scripts_Zzzz, // 01CD00 - scripts_Zzzz, // 01CE00 - scripts_Zzzz, // 01CF00 + scripts_Zzzz, /* 01BD00 */ + scripts_Zzzz, /* 01BE00 */ + scripts_Zzzz, /* 01BF00 */ + scripts_Zzzz, /* 01C000 */ + scripts_Zzzz, /* 01C100 */ + scripts_Zzzz, /* 01C200 */ + scripts_Zzzz, /* 01C300 */ + scripts_Zzzz, /* 01C400 */ + scripts_Zzzz, /* 01C500 */ + scripts_Zzzz, /* 01C600 */ + scripts_Zzzz, /* 01C700 */ + scripts_Zzzz, /* 01C800 */ + scripts_Zzzz, /* 01C900 */ + scripts_Zzzz, /* 01CA00 */ + scripts_Zzzz, /* 01CB00 */ + scripts_Zzzz, /* 01CC00 */ + scripts_Zzzz, /* 01CD00 */ + scripts_Zzzz, /* 01CE00 */ + scripts_Zzzz, /* 01CF00 */ scripts_01D000, scripts_01D100, scripts_01D200, @@ -3347,296 +3348,296 @@ static const uint8_t *scripts_00F800_02FAFF[] = scripts_01D500, scripts_01D600, scripts_01D700, - scripts_Sgnw, // 01D800 - scripts_Sgnw, // 01D900 + scripts_Sgnw, /* 01D800 */ + scripts_Sgnw, /* 01D900 */ scripts_01DA00, - scripts_Zzzz, // 01DB00 - scripts_Zzzz, // 01DC00 - scripts_Zzzz, // 01DD00 - scripts_Zzzz, // 01DE00 - scripts_Zzzz, // 01DF00 + scripts_Zzzz, /* 01DB00 */ + scripts_Zzzz, /* 01DC00 */ + scripts_Zzzz, /* 01DD00 */ + scripts_Zzzz, /* 01DE00 */ + scripts_Zzzz, /* 01DF00 */ scripts_01E000, - scripts_Zzzz, // 01E100 - scripts_Zzzz, // 01E200 - scripts_Zzzz, // 01E300 - scripts_Zzzz, // 01E400 - scripts_Zzzz, // 01E500 - scripts_Zzzz, // 01E600 - scripts_Zzzz, // 01E700 + scripts_Zzzz, /* 01E100 */ + scripts_Zzzz, /* 01E200 */ + scripts_Zzzz, /* 01E300 */ + scripts_Zzzz, /* 01E400 */ + scripts_Zzzz, /* 01E500 */ + scripts_Zzzz, /* 01E600 */ + scripts_Zzzz, /* 01E700 */ scripts_01E800, scripts_01E900, - scripts_Zzzz, // 01EA00 - scripts_Zzzz, // 01EB00 - scripts_Zzzz, // 01EC00 - scripts_Zzzz, // 01ED00 + scripts_Zzzz, /* 01EA00 */ + scripts_Zzzz, /* 01EB00 */ + scripts_Zzzz, /* 01EC00 */ + scripts_Zzzz, /* 01ED00 */ scripts_01EE00, - scripts_Zzzz, // 01EF00 + scripts_Zzzz, /* 01EF00 */ scripts_01F000, scripts_01F100, scripts_01F200, - scripts_Zyyy, // 01F300 - scripts_Zyyy, // 01F400 - scripts_Zyyy, // 01F500 + scripts_Zyyy, /* 01F300 */ + scripts_Zyyy, /* 01F400 */ + scripts_Zyyy, /* 01F500 */ scripts_01F600, scripts_01F700, scripts_01F800, scripts_01F900, - scripts_Zzzz, // 01FA00 - scripts_Zzzz, // 01FB00 - scripts_Zzzz, // 01FC00 - scripts_Zzzz, // 01FD00 - scripts_Zzzz, // 01FE00 - scripts_Zzzz, // 01FF00 - scripts_Hani, // 020000 - scripts_Hani, // 020100 - scripts_Hani, // 020200 - scripts_Hani, // 020300 - scripts_Hani, // 020400 - scripts_Hani, // 020500 - scripts_Hani, // 020600 - scripts_Hani, // 020700 - scripts_Hani, // 020800 - scripts_Hani, // 020900 - scripts_Hani, // 020A00 - scripts_Hani, // 020B00 - scripts_Hani, // 020C00 - scripts_Hani, // 020D00 - scripts_Hani, // 020E00 - scripts_Hani, // 020F00 - scripts_Hani, // 021000 - scripts_Hani, // 021100 - scripts_Hani, // 021200 - scripts_Hani, // 021300 - scripts_Hani, // 021400 - scripts_Hani, // 021500 - scripts_Hani, // 021600 - scripts_Hani, // 021700 - scripts_Hani, // 021800 - scripts_Hani, // 021900 - scripts_Hani, // 021A00 - scripts_Hani, // 021B00 - scripts_Hani, // 021C00 - scripts_Hani, // 021D00 - scripts_Hani, // 021E00 - scripts_Hani, // 021F00 - scripts_Hani, // 022000 - scripts_Hani, // 022100 - scripts_Hani, // 022200 - scripts_Hani, // 022300 - scripts_Hani, // 022400 - scripts_Hani, // 022500 - scripts_Hani, // 022600 - scripts_Hani, // 022700 - scripts_Hani, // 022800 - scripts_Hani, // 022900 - scripts_Hani, // 022A00 - scripts_Hani, // 022B00 - scripts_Hani, // 022C00 - scripts_Hani, // 022D00 - scripts_Hani, // 022E00 - scripts_Hani, // 022F00 - scripts_Hani, // 023000 - scripts_Hani, // 023100 - scripts_Hani, // 023200 - scripts_Hani, // 023300 - scripts_Hani, // 023400 - scripts_Hani, // 023500 - scripts_Hani, // 023600 - scripts_Hani, // 023700 - scripts_Hani, // 023800 - scripts_Hani, // 023900 - scripts_Hani, // 023A00 - scripts_Hani, // 023B00 - scripts_Hani, // 023C00 - scripts_Hani, // 023D00 - scripts_Hani, // 023E00 - scripts_Hani, // 023F00 - scripts_Hani, // 024000 - scripts_Hani, // 024100 - scripts_Hani, // 024200 - scripts_Hani, // 024300 - scripts_Hani, // 024400 - scripts_Hani, // 024500 - scripts_Hani, // 024600 - scripts_Hani, // 024700 - scripts_Hani, // 024800 - scripts_Hani, // 024900 - scripts_Hani, // 024A00 - scripts_Hani, // 024B00 - scripts_Hani, // 024C00 - scripts_Hani, // 024D00 - scripts_Hani, // 024E00 - scripts_Hani, // 024F00 - scripts_Hani, // 025000 - scripts_Hani, // 025100 - scripts_Hani, // 025200 - scripts_Hani, // 025300 - scripts_Hani, // 025400 - scripts_Hani, // 025500 - scripts_Hani, // 025600 - scripts_Hani, // 025700 - scripts_Hani, // 025800 - scripts_Hani, // 025900 - scripts_Hani, // 025A00 - scripts_Hani, // 025B00 - scripts_Hani, // 025C00 - scripts_Hani, // 025D00 - scripts_Hani, // 025E00 - scripts_Hani, // 025F00 - scripts_Hani, // 026000 - scripts_Hani, // 026100 - scripts_Hani, // 026200 - scripts_Hani, // 026300 - scripts_Hani, // 026400 - scripts_Hani, // 026500 - scripts_Hani, // 026600 - scripts_Hani, // 026700 - scripts_Hani, // 026800 - scripts_Hani, // 026900 - scripts_Hani, // 026A00 - scripts_Hani, // 026B00 - scripts_Hani, // 026C00 - scripts_Hani, // 026D00 - scripts_Hani, // 026E00 - scripts_Hani, // 026F00 - scripts_Hani, // 027000 - scripts_Hani, // 027100 - scripts_Hani, // 027200 - scripts_Hani, // 027300 - scripts_Hani, // 027400 - scripts_Hani, // 027500 - scripts_Hani, // 027600 - scripts_Hani, // 027700 - scripts_Hani, // 027800 - scripts_Hani, // 027900 - scripts_Hani, // 027A00 - scripts_Hani, // 027B00 - scripts_Hani, // 027C00 - scripts_Hani, // 027D00 - scripts_Hani, // 027E00 - scripts_Hani, // 027F00 - scripts_Hani, // 028000 - scripts_Hani, // 028100 - scripts_Hani, // 028200 - scripts_Hani, // 028300 - scripts_Hani, // 028400 - scripts_Hani, // 028500 - scripts_Hani, // 028600 - scripts_Hani, // 028700 - scripts_Hani, // 028800 - scripts_Hani, // 028900 - scripts_Hani, // 028A00 - scripts_Hani, // 028B00 - scripts_Hani, // 028C00 - scripts_Hani, // 028D00 - scripts_Hani, // 028E00 - scripts_Hani, // 028F00 - scripts_Hani, // 029000 - scripts_Hani, // 029100 - scripts_Hani, // 029200 - scripts_Hani, // 029300 - scripts_Hani, // 029400 - scripts_Hani, // 029500 - scripts_Hani, // 029600 - scripts_Hani, // 029700 - scripts_Hani, // 029800 - scripts_Hani, // 029900 - scripts_Hani, // 029A00 - scripts_Hani, // 029B00 - scripts_Hani, // 029C00 - scripts_Hani, // 029D00 - scripts_Hani, // 029E00 - scripts_Hani, // 029F00 - scripts_Hani, // 02A000 - scripts_Hani, // 02A100 - scripts_Hani, // 02A200 - scripts_Hani, // 02A300 - scripts_Hani, // 02A400 - scripts_Hani, // 02A500 + scripts_Zzzz, /* 01FA00 */ + scripts_Zzzz, /* 01FB00 */ + scripts_Zzzz, /* 01FC00 */ + scripts_Zzzz, /* 01FD00 */ + scripts_Zzzz, /* 01FE00 */ + scripts_Zzzz, /* 01FF00 */ + scripts_Hani, /* 020000 */ + scripts_Hani, /* 020100 */ + scripts_Hani, /* 020200 */ + scripts_Hani, /* 020300 */ + scripts_Hani, /* 020400 */ + scripts_Hani, /* 020500 */ + scripts_Hani, /* 020600 */ + scripts_Hani, /* 020700 */ + scripts_Hani, /* 020800 */ + scripts_Hani, /* 020900 */ + scripts_Hani, /* 020A00 */ + scripts_Hani, /* 020B00 */ + scripts_Hani, /* 020C00 */ + scripts_Hani, /* 020D00 */ + scripts_Hani, /* 020E00 */ + scripts_Hani, /* 020F00 */ + scripts_Hani, /* 021000 */ + scripts_Hani, /* 021100 */ + scripts_Hani, /* 021200 */ + scripts_Hani, /* 021300 */ + scripts_Hani, /* 021400 */ + scripts_Hani, /* 021500 */ + scripts_Hani, /* 021600 */ + scripts_Hani, /* 021700 */ + scripts_Hani, /* 021800 */ + scripts_Hani, /* 021900 */ + scripts_Hani, /* 021A00 */ + scripts_Hani, /* 021B00 */ + scripts_Hani, /* 021C00 */ + scripts_Hani, /* 021D00 */ + scripts_Hani, /* 021E00 */ + scripts_Hani, /* 021F00 */ + scripts_Hani, /* 022000 */ + scripts_Hani, /* 022100 */ + scripts_Hani, /* 022200 */ + scripts_Hani, /* 022300 */ + scripts_Hani, /* 022400 */ + scripts_Hani, /* 022500 */ + scripts_Hani, /* 022600 */ + scripts_Hani, /* 022700 */ + scripts_Hani, /* 022800 */ + scripts_Hani, /* 022900 */ + scripts_Hani, /* 022A00 */ + scripts_Hani, /* 022B00 */ + scripts_Hani, /* 022C00 */ + scripts_Hani, /* 022D00 */ + scripts_Hani, /* 022E00 */ + scripts_Hani, /* 022F00 */ + scripts_Hani, /* 023000 */ + scripts_Hani, /* 023100 */ + scripts_Hani, /* 023200 */ + scripts_Hani, /* 023300 */ + scripts_Hani, /* 023400 */ + scripts_Hani, /* 023500 */ + scripts_Hani, /* 023600 */ + scripts_Hani, /* 023700 */ + scripts_Hani, /* 023800 */ + scripts_Hani, /* 023900 */ + scripts_Hani, /* 023A00 */ + scripts_Hani, /* 023B00 */ + scripts_Hani, /* 023C00 */ + scripts_Hani, /* 023D00 */ + scripts_Hani, /* 023E00 */ + scripts_Hani, /* 023F00 */ + scripts_Hani, /* 024000 */ + scripts_Hani, /* 024100 */ + scripts_Hani, /* 024200 */ + scripts_Hani, /* 024300 */ + scripts_Hani, /* 024400 */ + scripts_Hani, /* 024500 */ + scripts_Hani, /* 024600 */ + scripts_Hani, /* 024700 */ + scripts_Hani, /* 024800 */ + scripts_Hani, /* 024900 */ + scripts_Hani, /* 024A00 */ + scripts_Hani, /* 024B00 */ + scripts_Hani, /* 024C00 */ + scripts_Hani, /* 024D00 */ + scripts_Hani, /* 024E00 */ + scripts_Hani, /* 024F00 */ + scripts_Hani, /* 025000 */ + scripts_Hani, /* 025100 */ + scripts_Hani, /* 025200 */ + scripts_Hani, /* 025300 */ + scripts_Hani, /* 025400 */ + scripts_Hani, /* 025500 */ + scripts_Hani, /* 025600 */ + scripts_Hani, /* 025700 */ + scripts_Hani, /* 025800 */ + scripts_Hani, /* 025900 */ + scripts_Hani, /* 025A00 */ + scripts_Hani, /* 025B00 */ + scripts_Hani, /* 025C00 */ + scripts_Hani, /* 025D00 */ + scripts_Hani, /* 025E00 */ + scripts_Hani, /* 025F00 */ + scripts_Hani, /* 026000 */ + scripts_Hani, /* 026100 */ + scripts_Hani, /* 026200 */ + scripts_Hani, /* 026300 */ + scripts_Hani, /* 026400 */ + scripts_Hani, /* 026500 */ + scripts_Hani, /* 026600 */ + scripts_Hani, /* 026700 */ + scripts_Hani, /* 026800 */ + scripts_Hani, /* 026900 */ + scripts_Hani, /* 026A00 */ + scripts_Hani, /* 026B00 */ + scripts_Hani, /* 026C00 */ + scripts_Hani, /* 026D00 */ + scripts_Hani, /* 026E00 */ + scripts_Hani, /* 026F00 */ + scripts_Hani, /* 027000 */ + scripts_Hani, /* 027100 */ + scripts_Hani, /* 027200 */ + scripts_Hani, /* 027300 */ + scripts_Hani, /* 027400 */ + scripts_Hani, /* 027500 */ + scripts_Hani, /* 027600 */ + scripts_Hani, /* 027700 */ + scripts_Hani, /* 027800 */ + scripts_Hani, /* 027900 */ + scripts_Hani, /* 027A00 */ + scripts_Hani, /* 027B00 */ + scripts_Hani, /* 027C00 */ + scripts_Hani, /* 027D00 */ + scripts_Hani, /* 027E00 */ + scripts_Hani, /* 027F00 */ + scripts_Hani, /* 028000 */ + scripts_Hani, /* 028100 */ + scripts_Hani, /* 028200 */ + scripts_Hani, /* 028300 */ + scripts_Hani, /* 028400 */ + scripts_Hani, /* 028500 */ + scripts_Hani, /* 028600 */ + scripts_Hani, /* 028700 */ + scripts_Hani, /* 028800 */ + scripts_Hani, /* 028900 */ + scripts_Hani, /* 028A00 */ + scripts_Hani, /* 028B00 */ + scripts_Hani, /* 028C00 */ + scripts_Hani, /* 028D00 */ + scripts_Hani, /* 028E00 */ + scripts_Hani, /* 028F00 */ + scripts_Hani, /* 029000 */ + scripts_Hani, /* 029100 */ + scripts_Hani, /* 029200 */ + scripts_Hani, /* 029300 */ + scripts_Hani, /* 029400 */ + scripts_Hani, /* 029500 */ + scripts_Hani, /* 029600 */ + scripts_Hani, /* 029700 */ + scripts_Hani, /* 029800 */ + scripts_Hani, /* 029900 */ + scripts_Hani, /* 029A00 */ + scripts_Hani, /* 029B00 */ + scripts_Hani, /* 029C00 */ + scripts_Hani, /* 029D00 */ + scripts_Hani, /* 029E00 */ + scripts_Hani, /* 029F00 */ + scripts_Hani, /* 02A000 */ + scripts_Hani, /* 02A100 */ + scripts_Hani, /* 02A200 */ + scripts_Hani, /* 02A300 */ + scripts_Hani, /* 02A400 */ + scripts_Hani, /* 02A500 */ scripts_02A600, - scripts_Hani, // 02A700 - scripts_Hani, // 02A800 - scripts_Hani, // 02A900 - scripts_Hani, // 02AA00 - scripts_Hani, // 02AB00 - scripts_Hani, // 02AC00 - scripts_Hani, // 02AD00 - scripts_Hani, // 02AE00 - scripts_Hani, // 02AF00 - scripts_Hani, // 02B000 - scripts_Hani, // 02B100 - scripts_Hani, // 02B200 - scripts_Hani, // 02B300 - scripts_Hani, // 02B400 - scripts_Hani, // 02B500 - scripts_Hani, // 02B600 + scripts_Hani, /* 02A700 */ + scripts_Hani, /* 02A800 */ + scripts_Hani, /* 02A900 */ + scripts_Hani, /* 02AA00 */ + scripts_Hani, /* 02AB00 */ + scripts_Hani, /* 02AC00 */ + scripts_Hani, /* 02AD00 */ + scripts_Hani, /* 02AE00 */ + scripts_Hani, /* 02AF00 */ + scripts_Hani, /* 02B000 */ + scripts_Hani, /* 02B100 */ + scripts_Hani, /* 02B200 */ + scripts_Hani, /* 02B300 */ + scripts_Hani, /* 02B400 */ + scripts_Hani, /* 02B500 */ + scripts_Hani, /* 02B600 */ scripts_02B700, scripts_02B800, - scripts_Hani, // 02B900 - scripts_Hani, // 02BA00 - scripts_Hani, // 02BB00 - scripts_Hani, // 02BC00 - scripts_Hani, // 02BD00 - scripts_Hani, // 02BE00 - scripts_Hani, // 02BF00 - scripts_Hani, // 02C000 - scripts_Hani, // 02C100 - scripts_Hani, // 02C200 - scripts_Hani, // 02C300 - scripts_Hani, // 02C400 - scripts_Hani, // 02C500 - scripts_Hani, // 02C600 - scripts_Hani, // 02C700 - scripts_Hani, // 02C800 - scripts_Hani, // 02C900 - scripts_Hani, // 02CA00 - scripts_Hani, // 02CB00 - scripts_Hani, // 02CC00 - scripts_Hani, // 02CD00 + scripts_Hani, /* 02B900 */ + scripts_Hani, /* 02BA00 */ + scripts_Hani, /* 02BB00 */ + scripts_Hani, /* 02BC00 */ + scripts_Hani, /* 02BD00 */ + scripts_Hani, /* 02BE00 */ + scripts_Hani, /* 02BF00 */ + scripts_Hani, /* 02C000 */ + scripts_Hani, /* 02C100 */ + scripts_Hani, /* 02C200 */ + scripts_Hani, /* 02C300 */ + scripts_Hani, /* 02C400 */ + scripts_Hani, /* 02C500 */ + scripts_Hani, /* 02C600 */ + scripts_Hani, /* 02C700 */ + scripts_Hani, /* 02C800 */ + scripts_Hani, /* 02C900 */ + scripts_Hani, /* 02CA00 */ + scripts_Hani, /* 02CB00 */ + scripts_Hani, /* 02CC00 */ + scripts_Hani, /* 02CD00 */ scripts_02CE00, - scripts_Zzzz, // 02CF00 - scripts_Zzzz, // 02D000 - scripts_Zzzz, // 02D100 - scripts_Zzzz, // 02D200 - scripts_Zzzz, // 02D300 - scripts_Zzzz, // 02D400 - scripts_Zzzz, // 02D500 - scripts_Zzzz, // 02D600 - scripts_Zzzz, // 02D700 - scripts_Zzzz, // 02D800 - scripts_Zzzz, // 02D900 - scripts_Zzzz, // 02DA00 - scripts_Zzzz, // 02DB00 - scripts_Zzzz, // 02DC00 - scripts_Zzzz, // 02DD00 - scripts_Zzzz, // 02DE00 - scripts_Zzzz, // 02DF00 - scripts_Zzzz, // 02E000 - scripts_Zzzz, // 02E100 - scripts_Zzzz, // 02E200 - scripts_Zzzz, // 02E300 - scripts_Zzzz, // 02E400 - scripts_Zzzz, // 02E500 - scripts_Zzzz, // 02E600 - scripts_Zzzz, // 02E700 - scripts_Zzzz, // 02E800 - scripts_Zzzz, // 02E900 - scripts_Zzzz, // 02EA00 - scripts_Zzzz, // 02EB00 - scripts_Zzzz, // 02EC00 - scripts_Zzzz, // 02ED00 - scripts_Zzzz, // 02EE00 - scripts_Zzzz, // 02EF00 - scripts_Zzzz, // 02F000 - scripts_Zzzz, // 02F100 - scripts_Zzzz, // 02F200 - scripts_Zzzz, // 02F300 - scripts_Zzzz, // 02F400 - scripts_Zzzz, // 02F500 - scripts_Zzzz, // 02F600 - scripts_Zzzz, // 02F700 - scripts_Hani, // 02F800 - scripts_Hani, // 02F900 + scripts_Zzzz, /* 02CF00 */ + scripts_Zzzz, /* 02D000 */ + scripts_Zzzz, /* 02D100 */ + scripts_Zzzz, /* 02D200 */ + scripts_Zzzz, /* 02D300 */ + scripts_Zzzz, /* 02D400 */ + scripts_Zzzz, /* 02D500 */ + scripts_Zzzz, /* 02D600 */ + scripts_Zzzz, /* 02D700 */ + scripts_Zzzz, /* 02D800 */ + scripts_Zzzz, /* 02D900 */ + scripts_Zzzz, /* 02DA00 */ + scripts_Zzzz, /* 02DB00 */ + scripts_Zzzz, /* 02DC00 */ + scripts_Zzzz, /* 02DD00 */ + scripts_Zzzz, /* 02DE00 */ + scripts_Zzzz, /* 02DF00 */ + scripts_Zzzz, /* 02E000 */ + scripts_Zzzz, /* 02E100 */ + scripts_Zzzz, /* 02E200 */ + scripts_Zzzz, /* 02E300 */ + scripts_Zzzz, /* 02E400 */ + scripts_Zzzz, /* 02E500 */ + scripts_Zzzz, /* 02E600 */ + scripts_Zzzz, /* 02E700 */ + scripts_Zzzz, /* 02E800 */ + scripts_Zzzz, /* 02E900 */ + scripts_Zzzz, /* 02EA00 */ + scripts_Zzzz, /* 02EB00 */ + scripts_Zzzz, /* 02EC00 */ + scripts_Zzzz, /* 02ED00 */ + scripts_Zzzz, /* 02EE00 */ + scripts_Zzzz, /* 02EF00 */ + scripts_Zzzz, /* 02F000 */ + scripts_Zzzz, /* 02F100 */ + scripts_Zzzz, /* 02F200 */ + scripts_Zzzz, /* 02F300 */ + scripts_Zzzz, /* 02F400 */ + scripts_Zzzz, /* 02F500 */ + scripts_Zzzz, /* 02F600 */ + scripts_Zzzz, /* 02F700 */ + scripts_Hani, /* 02F800 */ + scripts_Hani, /* 02F900 */ scripts_02FA00, }; @@ -3648,23 +3649,23 @@ static const uint8_t *scripts_0E0000_0E01FF[] = ucd_script ucd_lookup_script(codepoint_t c) { - if (c <= 0x00D7FF) // 000000..00D7FF + if (c <= 0x00D7FF) /* 000000..00D7FF */ { const uint8_t *table = scripts_000000_00D7FF[(c - 0x000000) / 256]; return (ucd_script)table[c % 256]; } - if (c <= 0x00F7FF) return Zzzz; // 00D800..00F7FF : Surrogates / Private Use Area - if (c <= 0x02FAFF) // 00F800..02FAFF + if (c <= 0x00F7FF) return Zzzz; /* 00D800..00F7FF : Surrogates / Private Use Area */ + if (c <= 0x02FAFF) /* 00F800..02FAFF */ { const uint8_t *table = scripts_00F800_02FAFF[(c - 0x00F800) / 256]; return (ucd_script)table[c % 256]; } - if (c <= 0x0DFFFF) return Zzzz; // 02FB00..0DFFFF : Unassigned - if (c <= 0x0E01FF) // 0E0000..0E01FF + if (c <= 0x0DFFFF) return Zzzz; /* 02FB00..0DFFFF : Unassigned */ + if (c <= 0x0E01FF) /* 0E0000..0E01FF */ { const uint8_t *table = scripts_0E0000_0E01FF[(c - 0x0E0000) / 256]; return (ucd_script)table[c % 256]; } - if (c <= 0x10FFFF) return Zzzz; // 0E0200..10FFFF : Unassigned - return Zzzz; // Invalid Unicode Codepoint + if (c <= 0x10FFFF) return Zzzz; /* 0E0200..10FFFF : Unassigned */ + return Zzzz; /* Invalid Unicode Codepoint */ } diff --git a/tests/printcdata.c b/tests/printcdata.c index 686ef44a..ec3ca6d7 100644 --- a/tests/printcdata.c +++ b/tests/printcdata.c @@ -86,7 +86,7 @@ void uprintf_codepoint(FILE *out, codepoint_t c, char mode) { switch (mode) { - case 'c': // character + case 'c': /* character */ switch (c) { case '\t': fputs("\\t", out); break; @@ -95,10 +95,10 @@ void uprintf_codepoint(FILE *out, codepoint_t c, char mode) default: fput_utf8c(out, c); break; } break; - case 'h': // hexadecimal (lower) + case 'h': /* hexadecimal (lower) */ fprintf(out, "%06x", c); break; - case 'H': // hexadecimal (upper) + case 'H': /* hexadecimal (upper) */ fprintf(out, "%06X", c); break; } @@ -108,40 +108,40 @@ void uprintf_is(FILE *out, codepoint_t c, char mode) { switch (mode) { - case 'A': // alpha-numeric + case 'A': /* alpha-numeric */ fputc(iswalnum(c) ? '1' : '0', out); break; - case 'a': // alpha + case 'a': /* alpha */ fputc(iswalpha(c) ? '1' : '0', out); break; - case 'b': // blank + case 'b': /* blank */ fputc(iswblank(c) ? '1' : '0', out); break; - case 'c': // control + case 'c': /* control */ fputc(iswcntrl(c) ? '1' : '0', out); break; - case 'd': // numeric + case 'd': /* numeric */ fputc(iswdigit(c) ? '1' : '0', out); break; - case 'g': // glyph + case 'g': /* glyph */ fputc(iswgraph(c) ? '1' : '0', out); break; - case 'l': // lower case + case 'l': /* lower case */ fputc(iswlower(c) ? '1' : '0', out); break; - case 'P': // printable + case 'P': /* printable */ fputc(iswprint(c) ? '1' : '0', out); break; - case 'p': // punctuation + case 'p': /* punctuation */ fputc(iswpunct(c) ? '1' : '0', out); break; - case 's': // whitespace + case 's': /* whitespace */ fputc(iswspace(c) ? '1' : '0', out); break; - case 'u': // upper case + case 'u': /* upper case */ fputc(iswupper(c) ? '1' : '0', out); break; - case 'x': // xdigit + case 'x': /* xdigit */ fputc(iswxdigit(c) ? '1' : '0', out); break; } @@ -154,31 +154,31 @@ void uprintf(FILE *out, codepoint_t c, const char *format) case '%': switch (*++format) { - case 'c': // category + case 'c': /* category */ fputs(ucd_get_category_string(ucd_lookup_category(c)), out); break; - case 'C': // category group + case 'C': /* category group */ fputs(ucd_get_category_group_string(ucd_lookup_category_group(c)), out); break; - case 'p': // codepoint + case 'p': /* codepoint */ uprintf_codepoint(out, c, *++format); break; - case 'P': // properties + case 'P': /* properties */ fprintf(out, "%016llx", ucd_properties(c, ucd_lookup_category(c))); break; - case 'i': // is* + case 'i': /* is* */ uprintf_is(out, c, *++format); break; - case 'L': // lowercase + case 'L': /* lowercase */ uprintf_codepoint(out, towlower(c), *++format); break; - case 's': // script + case 's': /* script */ fputs(ucd_get_script_string(ucd_lookup_script(c)), out); break; - case 'T': // titlecase + case 'T': /* titlecase */ uprintf_codepoint(out, ucd_totitle(c), *++format); break; - case 'U': // uppercase + case 'U': /* uppercase */ uprintf_codepoint(out, towupper(c), *++format); break; } diff --git a/tests/printucddata.c b/tests/printucddata.c index bdcb783f..ad7bbc28 100644 --- a/tests/printucddata.c +++ b/tests/printucddata.c @@ -83,7 +83,7 @@ void uprintf_codepoint(FILE *out, codepoint_t c, char mode) { switch (mode) { - case 'c': // character + case 'c': /* character */ switch (c) { case '\t': fputs("\\t", out); break; @@ -92,10 +92,10 @@ void uprintf_codepoint(FILE *out, codepoint_t c, char mode) default: fput_utf8c(out, c); break; } break; - case 'h': // hexadecimal (lower) + case 'h': /* hexadecimal (lower) */ fprintf(out, "%06x", c); break; - case 'H': // hexadecimal (upper) + case 'H': /* hexadecimal (upper) */ fprintf(out, "%06X", c); break; } @@ -105,40 +105,40 @@ void uprintf_is(FILE *out, codepoint_t c, char mode) { switch (mode) { - case 'A': // alpha-numeric + case 'A': /* alpha-numeric */ fputc(ucd_isalnum(c) ? '1' : '0', out); break; - case 'a': // alpha + case 'a': /* alpha */ fputc(ucd_isalpha(c) ? '1' : '0', out); break; - case 'b': // blank + case 'b': /* blank */ fputc(ucd_isblank(c) ? '1' : '0', out); break; - case 'c': // control + case 'c': /* control */ fputc(ucd_iscntrl(c) ? '1' : '0', out); break; - case 'd': // numeric + case 'd': /* numeric */ fputc(ucd_isdigit(c) ? '1' : '0', out); break; - case 'g': // glyph + case 'g': /* glyph */ fputc(ucd_isgraph(c) ? '1' : '0', out); break; - case 'l': // lower case + case 'l': /* lower case */ fputc(ucd_islower(c) ? '1' : '0', out); break; - case 'P': // printable + case 'P': /* printable */ fputc(ucd_isprint(c) ? '1' : '0', out); break; - case 'p': // punctuation + case 'p': /* punctuation */ fputc(ucd_ispunct(c) ? '1' : '0', out); break; - case 's': // whitespace + case 's': /* whitespace */ fputc(ucd_isspace(c) ? '1' : '0', out); break; - case 'u': // upper case + case 'u': /* upper case */ fputc(ucd_isupper(c) ? '1' : '0', out); break; - case 'x': // xdigit + case 'x': /* xdigit */ fputc(ucd_isxdigit(c) ? '1' : '0', out); break; } @@ -151,31 +151,31 @@ void uprintf(FILE *out, codepoint_t c, const char *format) case '%': switch (*++format) { - case 'c': // category + case 'c': /* category */ fputs(ucd_get_category_string(ucd_lookup_category(c)), out); break; - case 'C': // category group + case 'C': /* category group */ fputs(ucd_get_category_group_string(ucd_lookup_category_group(c)), out); break; - case 'p': // codepoint + case 'p': /* codepoint */ uprintf_codepoint(out, c, *++format); break; - case 'P': // properties + case 'P': /* properties */ fprintf(out, "%016llx", ucd_properties(c, ucd_lookup_category(c))); break; - case 'i': // is* + case 'i': /* is* */ uprintf_is(out, c, *++format); break; - case 'L': // lowercase + case 'L': /* lowercase */ uprintf_codepoint(out, ucd_tolower(c), *++format); break; - case 's': // script + case 's': /* script */ fputs(ucd_get_script_string(ucd_lookup_script(c)), out); break; - case 'T': // titlecase + case 'T': /* titlecase */ uprintf_codepoint(out, ucd_totitle(c), *++format); break; - case 'U': // uppercase + case 'U': /* uppercase */ uprintf_codepoint(out, ucd_toupper(c), *++format); break; } diff --git a/tools/case.py b/tools/case.py index 7af5d55c..3c237a47 100755 --- a/tools/case.py +++ b/tools/case.py @@ -51,14 +51,15 @@ if __name__ == '__main__': * along with ucd-tools. If not, see . */ -// NOTE: This file is automatically generated from the UnicodeData.txt file in -// the Unicode Character database by the ucd-tools/tools/categories.py script. +/* NOTE: This file is automatically generated from the UnicodeData.txt file in + * the Unicode Character database by the ucd-tools/tools/categories.py script. + */ #include "ucd/ucd.h" #include -// Unicode Character Data %s +/* Unicode Character Data %s */ struct case_conversion_entry { diff --git a/tools/categories.py b/tools/categories.py index 35dca2bf..43b46eb0 100755 --- a/tools/categories.py +++ b/tools/categories.py @@ -110,8 +110,9 @@ if __name__ == '__main__': * along with ucd-tools. If not, see . */ -// NOTE: This file is automatically generated from the UnicodeData.txt file in -// the Unicode Character database by the ucd-tools/tools/categories.py script. +/* NOTE: This file is automatically generated from the UnicodeData.txt file in + * the Unicode Character database by the ucd-tools/tools/categories.py script. + */ #include "ucd/ucd.h" @@ -149,7 +150,7 @@ if __name__ == '__main__': #define Zs UCD_CATEGORY_Zs #define Ii UCD_CATEGORY_Ii -// Unicode Character Data %s +/* Unicode Character Data %s */ """ % ucd_version) for category in special_categories: @@ -187,7 +188,7 @@ if __name__ == '__main__': sys.stdout.write('{\n') for codepoint, table in sorted(category_tables[table_index].items()): if isinstance(table, str): - sys.stdout.write('\tcategories_%s, // %s\n' % (table, codepoint)) + sys.stdout.write('\tcategories_%s, /* %s */\n' % (table, codepoint)) else: sys.stdout.write('\tcategories_%s,\n' % codepoint) sys.stdout.write('};\n') @@ -197,14 +198,14 @@ if __name__ == '__main__': sys.stdout.write('{\n') for codepoints, category, comment in category_sets: if category: - sys.stdout.write('\tif (c <= 0x%s) return %s; // %s : %s\n' % (codepoints.last, category, codepoints, comment)) + sys.stdout.write('\tif (c <= 0x%s) return %s; /* %s : %s */\n' % (codepoints.last, category, codepoints, comment)) else: - sys.stdout.write('\tif (c <= 0x%s) // %s\n' % (codepoints.last, codepoints)) + sys.stdout.write('\tif (c <= 0x%s) /* %s */\n' % (codepoints.last, codepoints)) sys.stdout.write('\t{\n') sys.stdout.write('\t\tconst uint8_t *table = categories_%s_%s[(c - 0x%s) / 256];\n' % (codepoints.first, codepoints.last, codepoints.first)) sys.stdout.write('\t\treturn (ucd_category)table[c % 256];\n') sys.stdout.write('\t}\n') - sys.stdout.write('\treturn Ii; // Invalid Unicode Codepoint\n') + sys.stdout.write('\treturn Ii; /* Invalid Unicode Codepoint */\n') sys.stdout.write('}\n') sys.stdout.write(""" diff --git a/tools/scripts.py b/tools/scripts.py index 54fcfc6a..ba125f6d 100755 --- a/tools/scripts.py +++ b/tools/scripts.py @@ -104,8 +104,9 @@ if __name__ == '__main__': * along with ucd-tools. If not, see . */ -// NOTE: This file is automatically generated from the Scripts.txt file in -// the Unicode Character database by the ucd-tools/tools/scripts.py script. +/* NOTE: This file is automatically generated from the Scripts.txt file in + * the Unicode Character database by the ucd-tools/tools/scripts.py script. + */ #include "ucd/ucd.h" @@ -285,7 +286,7 @@ if __name__ == '__main__': #define Zyyy UCD_SCRIPT_Zyyy #define Zzzz UCD_SCRIPT_Zzzz -// Unicode Character Data %s +/* Unicode Character Data %s */ """ % ucd_version) for script in special_scripts: @@ -323,7 +324,7 @@ if __name__ == '__main__': sys.stdout.write('{\n') for codepoint, table in sorted(script_tables[table_index].items()): if isinstance(table, str): - sys.stdout.write('\tscripts_%s, // %s\n' % (table, codepoint)) + sys.stdout.write('\tscripts_%s, /* %s */\n' % (table, codepoint)) else: sys.stdout.write('\tscripts_%s,\n' % codepoint) sys.stdout.write('};\n') @@ -333,12 +334,12 @@ if __name__ == '__main__': sys.stdout.write('{\n') for codepoints, script, comment in script_sets: if script: - sys.stdout.write('\tif (c <= 0x%s) return %s; // %s : %s\n' % (codepoints.last, script, codepoints, comment)) + sys.stdout.write('\tif (c <= 0x%s) return %s; /* %s : %s */\n' % (codepoints.last, script, codepoints, comment)) else: - sys.stdout.write('\tif (c <= 0x%s) // %s\n' % (codepoints.last, codepoints)) + sys.stdout.write('\tif (c <= 0x%s) /* %s */\n' % (codepoints.last, codepoints)) sys.stdout.write('\t{\n') sys.stdout.write('\t\tconst uint8_t *table = scripts_%s_%s[(c - 0x%s) / 256];\n' % (codepoints.first, codepoints.last, codepoints.first)) sys.stdout.write('\t\treturn (ucd_script)table[c % 256];\n') sys.stdout.write('\t}\n') - sys.stdout.write('\treturn Zzzz; // Invalid Unicode Codepoint\n') + sys.stdout.write('\treturn Zzzz; /* Invalid Unicode Codepoint */\n') sys.stdout.write('}\n') From 223d14bec8f3dee7a9c866248fccef2113dda92f Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 12:25:26 +0100 Subject: [PATCH 04/10] Move the type declaration out of the for loops to support building with a C89 compiler. --- tests/printcdata.c | 6 ++++-- tests/printucddata.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/printcdata.c b/tests/printcdata.c index ec3ca6d7..09eaf1cd 100644 --- a/tests/printcdata.c +++ b/tests/printcdata.c @@ -224,7 +224,8 @@ int main(int argc, char **argv) { FILE *in = NULL; const char *format = NULL; - for (int argn = 1; argn != argc; ++argn) + int argn; + for (argn = 1; argn != argc; ++argn) { const char *arg = argv[argn]; if (!strcmp(arg, "--stdin") || !strcmp(arg, "-")) @@ -250,7 +251,8 @@ int main(int argc, char **argv) } else { - for (codepoint_t c = 0; c <= 0x10FFFF; ++c) + codepoint_t c; + for (c = 0; c <= 0x10FFFF; ++c) uprintf(stdout, c, format ? format : "%pH %s %C %c %UH %LH %TH %id %ix %ic %is %ib %ip %iP %ig %iA %ia %iu %il %P\n"); } diff --git a/tests/printucddata.c b/tests/printucddata.c index ad7bbc28..b592f820 100644 --- a/tests/printucddata.c +++ b/tests/printucddata.c @@ -221,7 +221,8 @@ int main(int argc, char **argv) { FILE *in = NULL; const char *format = NULL; - for (int argn = 1; argn != argc; ++argn) + int argn; + for (argn = 1; argn != argc; ++argn) { const char *arg = argv[argn]; if (!strcmp(arg, "--stdin") || !strcmp(arg, "-")) @@ -245,7 +246,8 @@ int main(int argc, char **argv) } else { - for (codepoint_t c = 0; c <= 0x10FFFF; ++c) + codepoint_t c; + for (c = 0; c <= 0x10FFFF; ++c) uprintf(stdout, c, format ? format : "%pH %s %C %c %UH %LH %TH %id %ix %ic %is %ib %ip %iP %ig %iA %ia %iu %il %P\n"); } From bdc255835ecd2a188ad4f20f8bed618a07204dc7 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 12:39:13 +0100 Subject: [PATCH 05/10] Provide a compatibility implementation of iswblank for C89 compilers. --- .gitignore | 1 + configure.ac | 1 + tests/printcdata.c | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/.gitignore b/.gitignore index fdfc86f9..532cd277 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .*.swp +*~ # intermediate files: diff --git a/configure.ac b/configure.ac index c99d67ce..0a7e6665 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,7 @@ dnl library checks. dnl ================================================================ AC_CHECK_HEADERS([stddef.h]) dnl C89 +AC_CHECK_FUNCS([iswblank]) dnl C99 AC_TYPE_UINT8_T AC_TYPE_UINT32_T diff --git a/tests/printcdata.c b/tests/printcdata.c index 09eaf1cd..6992bb94 100644 --- a/tests/printcdata.c +++ b/tests/printcdata.c @@ -17,6 +17,7 @@ * along with ucd-tools. If not, see . */ +#include "config.h" #include "ucd/ucd.h" #include @@ -25,6 +26,13 @@ #include #include +#ifndef HAVE_ISWBLANK +static int iswblank(wint_t c) +{ + return iswspace(c) && !(c >= 0x0A && c <= 0x0D); +} +#endif + void fput_utf8c(FILE *out, codepoint_t c) { if (c < 0x80) From 4c1ff765f1dd9a5951ce01650bab03fe3308204c Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 15:13:08 +0100 Subject: [PATCH 06/10] Unicode Character Data 10.0.0 --- CHANGELOG.md | 1 + src/categories.c | 238 +++++++++++++++++++++-------------- src/include/ucd/ucd.h | 6 + src/proplist.c | 57 +++++++-- src/scripts.c | 279 ++++++++++++++++++++++++++---------------- src/tostring.c | 3 + tools/scripts.py | 3 + 7 files changed, 381 insertions(+), 206 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ce304d7..3dbb62f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * Improve ctype compatibility. * PropList and emoji-data property lookup. * Support building with a C89 compiler. +* Update to Unicode Character Data 10.0.0. ## 9.0.0 - 2016-12-28 diff --git a/src/categories.c b/src/categories.c index 6ec02144..4eade2eb 100644 --- a/src/categories.c +++ b/src/categories.c @@ -328,7 +328,7 @@ static const uint8_t categories_000800[256] = /* 30 */ Po, Po, Po, Po, Po, Po, Po, Po, Po, Po, Po, Po, Po, Po, Po, Cn, /* 40 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* 50 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Mn, Mn, Mn, Cn, Cn, Po, Cn, - /* 60 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 60 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, Cn, Cn, Cn, Cn, /* 70 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 80 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 90 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, @@ -357,7 +357,7 @@ static const uint8_t categories_000900[256] = /* C0 */ Mc, Mn, Mn, Mn, Mn, Cn, Cn, Mc, Mc, Cn, Cn, Mc, Mc, Mn, Lo, Cn, /* D0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Mc, Cn, Cn, Cn, Cn, Lo, Lo, Cn, Lo, /* E0 */ Lo, Lo, Mn, Mn, Cn, Cn, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, - /* F0 */ Lo, Lo, Sc, Sc, No, No, No, No, No, No, So, Sc, Cn, Cn, Cn, Cn, + /* F0 */ Lo, Lo, Sc, Sc, No, No, No, No, No, No, So, Sc, Lo, Po, Cn, Cn, }; static const uint8_t categories_000A00[256] = @@ -377,7 +377,7 @@ static const uint8_t categories_000A00[256] = /* C0 */ Mc, Mn, Mn, Mn, Mn, Mn, Cn, Mn, Mn, Mc, Cn, Mc, Mc, Mn, Cn, Cn, /* D0 */ Lo, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* E0 */ Lo, Lo, Mn, Mn, Cn, Cn, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, - /* F0 */ Po, Sc, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Lo, Cn, Cn, Cn, Cn, Cn, Cn, + /* F0 */ Po, Sc, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Lo, Mn, Mn, Mn, Mn, Mn, Mn, }; static const uint8_t categories_000B00[256] = @@ -422,10 +422,10 @@ static const uint8_t categories_000C00[256] = static const uint8_t categories_000D00[256] = { - /* 00 */ Cn, Mn, Mc, Mc, Cn, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, Lo, Lo, + /* 00 */ Mn, Mn, Mc, Mc, Cn, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, Lo, Lo, /* 10 */ Lo, Cn, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* 20 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, - /* 30 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, Cn, Lo, Mc, Mc, + /* 30 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Mn, Mn, Lo, Mc, Mc, /* 40 */ Mc, Mn, Mn, Mn, Mn, Cn, Mc, Mc, Mc, Cn, Mc, Mc, Mc, Mn, Lo, So, /* 50 */ Cn, Cn, Cn, Cn, Lo, Lo, Lo, Mc, No, No, No, No, No, No, No, Lo, /* 60 */ Lo, Lo, Mn, Mn, Cn, Cn, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, @@ -697,7 +697,7 @@ static const uint8_t categories_001C00[256] = /* C0 */ Po, Po, Po, Po, Po, Po, Po, Po, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* D0 */ Mn, Mn, Mn, Po, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, /* E0 */ Mn, Mc, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Lo, Lo, Lo, Lo, Mn, Lo, Lo, - /* F0 */ Lo, Lo, Mc, Mc, Mn, Lo, Lo, Cn, Mn, Mn, Cn, Cn, Cn, Cn, Cn, Cn, + /* F0 */ Lo, Lo, Mc, Mc, Mn, Lo, Lo, Mc, Mn, Mn, Cn, Cn, Cn, Cn, Cn, Cn, }; static const uint8_t categories_001D00[256] = @@ -717,7 +717,7 @@ static const uint8_t categories_001D00[256] = /* C0 */ Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, /* D0 */ Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, /* E0 */ Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, - /* F0 */ Mn, Mn, Mn, Mn, Mn, Mn, Cn, Cn, Cn, Cn, Cn, Mn, Mn, Mn, Mn, Mn, + /* F0 */ Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Cn, Mn, Mn, Mn, Mn, Mn, }; static const uint8_t categories_001E00[256] = @@ -773,7 +773,7 @@ static const uint8_t categories_002000[256] = /* 80 */ No, No, No, No, No, No, No, No, No, No, Sm, Sm, Sm, Ps, Pe, Cn, /* 90 */ Lm, Lm, Lm, Lm, Lm, Lm, Lm, Lm, Lm, Lm, Lm, Lm, Lm, Cn, Cn, Cn, /* A0 */ Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, - /* B0 */ Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Cn, + /* B0 */ Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, Sc, /* C0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* D0 */ Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Me, Me, Me, /* E0 */ Me, Mn, Me, Me, Me, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mn, @@ -817,7 +817,7 @@ static const uint8_t categories_002300[256] = /* C0 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, /* D0 */ So, So, So, So, So, So, So, So, So, So, So, So, Sm, Sm, Sm, Sm, /* E0 */ Sm, Sm, So, So, So, So, So, So, So, So, So, So, So, So, So, So, - /* F0 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, Cn, + /* F0 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, }; static const uint8_t categories_002400[256] = @@ -935,7 +935,7 @@ static const uint8_t categories_002B00[256] = /* A0 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, /* B0 */ So, So, So, So, So, So, So, So, So, So, Cn, Cn, Cn, So, So, So, /* C0 */ So, So, So, So, So, So, So, So, So, Cn, So, So, So, So, So, So, - /* D0 */ So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* D0 */ So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* E0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, So, So, So, So, /* F0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, }; @@ -986,7 +986,7 @@ static const uint8_t categories_002E00[256] = /* 10 */ Po, Po, Po, Po, Po, Po, Po, Pd, Po, Po, Pd, Po, Pi, Pf, Po, Po, /* 20 */ Pi, Pf, Ps, Pe, Ps, Pe, Ps, Pe, Ps, Pe, Po, Po, Po, Po, Po, Lm, /* 30 */ Po, Po, Po, Po, Po, Po, Po, Po, Po, Po, Pd, Pd, Po, Po, Po, Po, - /* 40 */ Pd, Po, Ps, Po, Po, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 40 */ Pd, Po, Ps, Po, Po, Po, Po, Po, Po, Po, Cn, Cn, Cn, Cn, Cn, Cn, /* 50 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 60 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 70 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, @@ -1044,7 +1044,7 @@ static const uint8_t categories_003100[256] = { /* 00 */ Cn, Cn, Cn, Cn, Cn, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* 10 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, - /* 20 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, Cn, + /* 20 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, /* 30 */ Cn, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* 40 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* 50 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, @@ -1115,8 +1115,8 @@ static const uint8_t categories_009F00[256] = /* A0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* B0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* C0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, - /* D0 */ Lo, Lo, Lo, Lo, Lo, Lo, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* E0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* D0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* E0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, Cn, Cn, Cn, Cn, /* F0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, }; @@ -1464,7 +1464,7 @@ static const uint8_t categories_010300[256] = { /* 00 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* 10 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, - /* 20 */ No, No, No, No, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 20 */ No, No, No, No, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Lo, Lo, Lo, /* 30 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* 40 */ Lo, Nl, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Nl, Cn, Cn, Cn, Cn, Cn, /* 50 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, @@ -1842,17 +1842,17 @@ static const uint8_t categories_011800[256] = static const uint8_t categories_011A00[256] = { - /* 00 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 10 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 20 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 30 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 40 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 50 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 60 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 70 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 80 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 90 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* A0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 00 */ Lo, Mn, Mn, Mn, Mn, Mn, Mn, Mc, Mc, Mn, Mn, Lo, Lo, Lo, Lo, Lo, + /* 10 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 20 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 30 */ Lo, Lo, Lo, Mn, Mn, Mn, Mn, Mn, Mn, Mc, Lo, Mn, Mn, Mn, Mn, Po, + /* 40 */ Po, Po, Po, Po, Po, Po, Po, Mn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 50 */ Lo, Mn, Mn, Mn, Mn, Mn, Mn, Mc, Mc, Mn, Mn, Mn, Lo, Lo, Lo, Lo, + /* 60 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 70 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 80 */ Lo, Lo, Lo, Lo, Cn, Cn, Lo, Lo, Lo, Lo, Mn, Mn, Mn, Mn, Mn, Mn, + /* 90 */ Mn, Mn, Mn, Mn, Mn, Mn, Mn, Mc, Mn, Mn, Po, Po, Po, Cn, Po, Po, + /* A0 */ Po, Po, Po, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* B0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* C0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* D0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, @@ -1880,6 +1880,26 @@ static const uint8_t categories_011C00[256] = /* F0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, }; +static const uint8_t categories_011D00[256] = +{ + /* 00 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, Lo, Lo, Cn, Lo, Lo, Lo, Lo, Lo, + /* 10 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 20 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 30 */ Lo, Mn, Mn, Mn, Mn, Mn, Mn, Cn, Cn, Cn, Mn, Cn, Mn, Mn, Cn, Mn, + /* 40 */ Mn, Mn, Mn, Mn, Mn, Mn, Lo, Mn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 50 */ Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Nd, Cn, Cn, Cn, Cn, Cn, Cn, + /* 60 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 70 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 80 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 90 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* A0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* B0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* C0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* D0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* E0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* F0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, +}; + static const uint8_t categories_012300[256] = { /* 00 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, @@ -2036,7 +2056,7 @@ static const uint8_t categories_016F00[256] = /* B0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* C0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* D0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* E0 */ Lm, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* E0 */ Lm, Lm, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* F0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, }; @@ -2080,24 +2100,44 @@ static const uint8_t categories_018A00[256] = /* F0 */ Lo, Lo, Lo, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, }; -static const uint8_t categories_01B000[256] = +static const uint8_t categories_01B100[256] = { - /* 00 */ Lo, Lo, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 10 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 00 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 10 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, /* 20 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 30 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 40 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 50 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 60 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 70 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 80 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 90 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* A0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* B0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* C0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* D0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* E0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* F0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 70 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 80 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 90 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* A0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* B0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* C0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* D0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* E0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* F0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, +}; + +static const uint8_t categories_01B200[256] = +{ + /* 00 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 10 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 20 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 30 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 40 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 50 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 60 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 70 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 80 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 90 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* A0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* B0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* C0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* D0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* E0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* F0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Cn, Cn, Cn, Cn, }; static const uint8_t categories_01BC00[256] = @@ -2428,7 +2468,7 @@ static const uint8_t categories_01F200[256] = /* 30 */ So, So, So, So, So, So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, /* 40 */ So, So, So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 50 */ So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 60 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 60 */ So, So, So, So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 70 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 80 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 90 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, @@ -2475,9 +2515,9 @@ static const uint8_t categories_01F600[256] = /* A0 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, /* B0 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, /* C0 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, - /* D0 */ So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* D0 */ So, So, So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* E0 */ So, So, So, So, So, So, So, So, So, So, So, So, So, Cn, Cn, Cn, - /* F0 */ So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* F0 */ So, So, So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, }; static const uint8_t categories_01F700[256] = @@ -2522,21 +2562,21 @@ static const uint8_t categories_01F800[256] = static const uint8_t categories_01F900[256] = { - /* 00 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 10 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, Cn, - /* 20 */ So, So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* 30 */ So, Cn, Cn, So, So, So, So, So, So, So, So, So, So, So, So, Cn, - /* 40 */ So, So, So, So, So, So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, - /* 50 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, Cn, - /* 60 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 00 */ So, So, So, So, So, So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, + /* 10 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, + /* 20 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, + /* 30 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, Cn, + /* 40 */ So, So, So, So, So, So, So, So, So, So, So, So, So, Cn, Cn, Cn, + /* 50 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, + /* 60 */ So, So, So, So, So, So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, /* 70 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* 80 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, - /* 90 */ So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* 90 */ So, So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* A0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* B0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* C0 */ So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* D0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* E0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* D0 */ So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, So, + /* E0 */ So, So, So, So, So, So, So, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* F0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, }; @@ -2613,10 +2653,30 @@ static const uint8_t categories_02CE00[256] = /* 80 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* 90 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, /* A0 */ Lo, Lo, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* B0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* C0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* D0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, - /* E0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, + /* B0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* C0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* D0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* E0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* F0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, +}; + +static const uint8_t categories_02EB00[256] = +{ + /* 00 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 10 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 20 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 30 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 40 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 50 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 60 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 70 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 80 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* 90 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* A0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* B0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* C0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* D0 */ Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, Lo, + /* E0 */ Lo, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, /* F0 */ Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, Cn, }; @@ -2939,7 +2999,7 @@ static const uint8_t *categories_00F800_02FAFF[] = categories_011A00, categories_Cn, /* 011B00 */ categories_011C00, - categories_Cn, /* 011D00 */ + categories_011D00, categories_Cn, /* 011E00 */ categories_Cn, /* 011F00 */ categories_Lo, /* 012000 */ @@ -3086,9 +3146,9 @@ static const uint8_t *categories_00F800_02FAFF[] = categories_Cn, /* 01AD00 */ categories_Cn, /* 01AE00 */ categories_Cn, /* 01AF00 */ - categories_01B000, - categories_Cn, /* 01B100 */ - categories_Cn, /* 01B200 */ + categories_Lo, /* 01B000 */ + categories_01B100, + categories_01B200, categories_Cn, /* 01B300 */ categories_Cn, /* 01B400 */ categories_Cn, /* 01B500 */ @@ -3373,35 +3433,35 @@ static const uint8_t *categories_00F800_02FAFF[] = categories_Lo, /* 02CC00 */ categories_Lo, /* 02CD00 */ categories_02CE00, - categories_Cn, /* 02CF00 */ - categories_Cn, /* 02D000 */ - categories_Cn, /* 02D100 */ - categories_Cn, /* 02D200 */ - categories_Cn, /* 02D300 */ - categories_Cn, /* 02D400 */ - categories_Cn, /* 02D500 */ - categories_Cn, /* 02D600 */ - categories_Cn, /* 02D700 */ - categories_Cn, /* 02D800 */ - categories_Cn, /* 02D900 */ - categories_Cn, /* 02DA00 */ - categories_Cn, /* 02DB00 */ - categories_Cn, /* 02DC00 */ - categories_Cn, /* 02DD00 */ - categories_Cn, /* 02DE00 */ - categories_Cn, /* 02DF00 */ - categories_Cn, /* 02E000 */ - categories_Cn, /* 02E100 */ - categories_Cn, /* 02E200 */ - categories_Cn, /* 02E300 */ - categories_Cn, /* 02E400 */ - categories_Cn, /* 02E500 */ - categories_Cn, /* 02E600 */ - categories_Cn, /* 02E700 */ - categories_Cn, /* 02E800 */ - categories_Cn, /* 02E900 */ - categories_Cn, /* 02EA00 */ - categories_Cn, /* 02EB00 */ + categories_Lo, /* 02CF00 */ + categories_Lo, /* 02D000 */ + categories_Lo, /* 02D100 */ + categories_Lo, /* 02D200 */ + categories_Lo, /* 02D300 */ + categories_Lo, /* 02D400 */ + categories_Lo, /* 02D500 */ + categories_Lo, /* 02D600 */ + categories_Lo, /* 02D700 */ + categories_Lo, /* 02D800 */ + categories_Lo, /* 02D900 */ + categories_Lo, /* 02DA00 */ + categories_Lo, /* 02DB00 */ + categories_Lo, /* 02DC00 */ + categories_Lo, /* 02DD00 */ + categories_Lo, /* 02DE00 */ + categories_Lo, /* 02DF00 */ + categories_Lo, /* 02E000 */ + categories_Lo, /* 02E100 */ + categories_Lo, /* 02E200 */ + categories_Lo, /* 02E300 */ + categories_Lo, /* 02E400 */ + categories_Lo, /* 02E500 */ + categories_Lo, /* 02E600 */ + categories_Lo, /* 02E700 */ + categories_Lo, /* 02E800 */ + categories_Lo, /* 02E900 */ + categories_Lo, /* 02EA00 */ + categories_02EB00, categories_Cn, /* 02EC00 */ categories_Cn, /* 02ED00 */ categories_Cn, /* 02EE00 */ diff --git a/src/include/ucd/ucd.h b/src/include/ucd/ucd.h index ddabe65a..33133c5f 100644 --- a/src/include/ucd/ucd.h +++ b/src/include/ucd/ucd.h @@ -176,6 +176,7 @@ typedef enum ucd_script_ UCD_SCRIPT_Geok, /**< @brief Khutsuri Script */ UCD_SCRIPT_Geor, /**< @brief Geirgian Script */ UCD_SCRIPT_Glag, /**< @brief Glagolitic Script */ + UCD_SCRIPT_Gonm, /**< @brief Masaram Gondi */ UCD_SCRIPT_Goth, /**< @brief Gothic Script */ UCD_SCRIPT_Gran, /**< @brief Grantha Script */ UCD_SCRIPT_Grek, /**< @brief Greek Script */ @@ -273,6 +274,7 @@ typedef enum ucd_script_ UCD_SCRIPT_Sind, /**< @brief Sindhi Script */ UCD_SCRIPT_Sinh, /**< @brief Sinhala Script */ UCD_SCRIPT_Sora, /**< @brief Sora Sompeng Script */ + UCD_SCRIPT_Soyo, /**< @brief Soyombo */ UCD_SCRIPT_Sund, /**< @brief Sundanese Script */ UCD_SCRIPT_Sylo, /**< @brief Syloti Nagri Script */ UCD_SCRIPT_Syrc, /**< @brief Syriac Script */ @@ -302,6 +304,7 @@ typedef enum ucd_script_ UCD_SCRIPT_Xpeo, /**< @brief Old Persian Script */ UCD_SCRIPT_Xsux, /**< @brief Cuneiform Script */ UCD_SCRIPT_Yiii, /**< @brief Yi Script */ + UCD_SCRIPT_Zanb, /**< @brief Zanabazar Square */ UCD_SCRIPT_Zinh, /**< @brief Inherited Script */ UCD_SCRIPT_Zmth, /**< @brief Mathematical Notation */ UCD_SCRIPT_Zsym, /**< @brief Symbols */ @@ -665,6 +668,7 @@ namespace ucd Geok = UCD_SCRIPT_Geok, /**< @brief Khutsuri Script */ Geor = UCD_SCRIPT_Geor, /**< @brief Geirgian Script */ Glag = UCD_SCRIPT_Glag, /**< @brief Glagolitic Script */ + Gonm = UCD_SCRIPT_Gonm, /**< @brief Masaram Gondi */ Goth = UCD_SCRIPT_Goth, /**< @brief Gothic Script */ Gran = UCD_SCRIPT_Gran, /**< @brief Grantha Script */ Grek = UCD_SCRIPT_Grek, /**< @brief Greek Script */ @@ -762,6 +766,7 @@ namespace ucd Sind = UCD_SCRIPT_Sind, /**< @brief Sindhi Script */ Sinh = UCD_SCRIPT_Sinh, /**< @brief Sinhala Script */ Sora = UCD_SCRIPT_Sora, /**< @brief Sora Sompeng Script */ + Soyo = UCD_SCRIPT_Soyo, /**< @brief Soyombo */ Sund = UCD_SCRIPT_Sund, /**< @brief Sundanese Script */ Sylo = UCD_SCRIPT_Sylo, /**< @brief Syloti Nagri Script */ Syrc = UCD_SCRIPT_Syrc, /**< @brief Syriac Script */ @@ -791,6 +796,7 @@ namespace ucd Xpeo = UCD_SCRIPT_Xpeo, /**< @brief Old Persian Script */ Xsux = UCD_SCRIPT_Xsux, /**< @brief Cuneiform Script */ Yiii = UCD_SCRIPT_Yiii, /**< @brief Yi Script */ + Zanb = UCD_SCRIPT_Zanb, /**< @brief Zanabazar Square */ Zinh = UCD_SCRIPT_Zinh, /**< @brief Inherited Script */ Zmth = UCD_SCRIPT_Zmth, /**< @brief Mathematical Notation */ Zsym = UCD_SCRIPT_Zsym, /**< @brief Symbols */ diff --git a/src/proplist.c b/src/proplist.c index c0229512..f8f0dc2d 100644 --- a/src/proplist.c +++ b/src/proplist.c @@ -72,9 +72,6 @@ static ucd_property properties_Cn(codepoint_t c) case 0x2000: if (c == 0x2065) return UCD_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT; break; - case 0x2300: - if (c == 0x23FF) return UCD_PROPERTY_PATTERN_SYNTAX; - break; case 0x2400: if (c >= 0x2427 && c <= 0x243F) return UCD_PROPERTY_PATTERN_SYNTAX; if (c >= 0x244B && c <= 0x245F) return UCD_PROPERTY_PATTERN_SYNTAX; @@ -84,7 +81,7 @@ static ucd_property properties_Cn(codepoint_t c) if (c >= 0x2B96 && c <= 0x2B97) return UCD_PROPERTY_PATTERN_SYNTAX; if (c >= 0x2BBA && c <= 0x2BBC) return UCD_PROPERTY_PATTERN_SYNTAX; if (c == 0x2BC9) return UCD_PROPERTY_PATTERN_SYNTAX; - if (c >= 0x2BD2 && c <= 0x2BEB) return UCD_PROPERTY_PATTERN_SYNTAX; + if (c >= 0x2BD3 && c <= 0x2BEB) return UCD_PROPERTY_PATTERN_SYNTAX; if (c >= 0x2BF0 && c <= 0x2BFF) return UCD_PROPERTY_PATTERN_SYNTAX; break; case 0x2E00: @@ -326,7 +323,7 @@ static ucd_property properties_Lm(codepoint_t c) break; case 0x016F00: if (c >= 0x016F93 && c <= 0x016F9F) return UCD_PROPERTY_DIACRITIC; - if (c == 0x016FE0) return UCD_PROPERTY_EXTENDER; + if (c >= 0x016FE0 && c <= 0x016FE1) return UCD_PROPERTY_EXTENDER; break; } return 0; @@ -400,19 +397,21 @@ static ucd_property properties_Lo_ideographic(codepoint_t c) { case 0x000000: if (c >= 0x3400 && c <= 0x4DB5) return UCD_PROPERTY_IDEOGRAPHIC | UCD_PROPERTY_UNIFIED_IDEOGRAPH; - if (c >= 0x4E00 && c <= 0x9FD5) return UCD_PROPERTY_IDEOGRAPHIC | UCD_PROPERTY_UNIFIED_IDEOGRAPH; + if (c >= 0x4E00 && c <= 0x9FEA) return UCD_PROPERTY_IDEOGRAPHIC | UCD_PROPERTY_UNIFIED_IDEOGRAPH; if (c >= 0xF900 && c <= 0xFA6D) return UCD_PROPERTY_IDEOGRAPHIC; if (c >= 0xFA70 && c <= 0xFAD9) return UCD_PROPERTY_IDEOGRAPHIC; break; case 0x010000: if (c >= 0x017000 && c <= 0x0187EC) return UCD_PROPERTY_IDEOGRAPHIC; if (c >= 0x018800 && c <= 0x018AF2) return UCD_PROPERTY_IDEOGRAPHIC; + if (c >= 0x01B170 && c <= 0x01B2FB) return UCD_PROPERTY_IDEOGRAPHIC; break; case 0x020000: if (c >= 0x020000 && c <= 0x02A6D6) return UCD_PROPERTY_IDEOGRAPHIC | UCD_PROPERTY_UNIFIED_IDEOGRAPH; if (c >= 0x02A700 && c <= 0x02B734) return UCD_PROPERTY_IDEOGRAPHIC | UCD_PROPERTY_UNIFIED_IDEOGRAPH; if (c >= 0x02B740 && c <= 0x02B81D) return UCD_PROPERTY_IDEOGRAPHIC | UCD_PROPERTY_UNIFIED_IDEOGRAPH; if (c >= 0x02B820 && c <= 0x02CEA1) return UCD_PROPERTY_IDEOGRAPHIC | UCD_PROPERTY_UNIFIED_IDEOGRAPH; + if (c >= 0x02CEB0 && c <= 0x02EBE0) return UCD_PROPERTY_IDEOGRAPHIC | UCD_PROPERTY_UNIFIED_IDEOGRAPH; if (c >= 0x02F800 && c <= 0x02FA1D) return UCD_PROPERTY_IDEOGRAPHIC; break; } @@ -606,6 +605,7 @@ static ucd_property properties_Mc(codepoint_t c) if (c >= 0x1C34 && c <= 0x1C35) return UCD_PROPERTY_OTHER_ALPHABETIC; if (c == 0x1CE1) return UCD_PROPERTY_DIACRITIC; if (c >= 0x1CF2 && c <= 0x1CF3) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c == 0x1CF7) return UCD_PROPERTY_DIACRITIC; break; case 0x3000: if (c >= 0x302E && c <= 0x302F) return UCD_PROPERTY_DIACRITIC | UCD_PROPERTY_OTHER_GRAPHEME_EXTEND; @@ -702,6 +702,12 @@ static ucd_property properties_Mc(codepoint_t c) if (c >= 0x011720 && c <= 0x011721) return UCD_PROPERTY_OTHER_ALPHABETIC; if (c == 0x011726) return UCD_PROPERTY_OTHER_ALPHABETIC; break; + case 0x011A00: + if (c >= 0x011A07 && c <= 0x011A08) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c == 0x011A39) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c >= 0x011A57 && c <= 0x011A58) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c == 0x011A97) return UCD_PROPERTY_OTHER_ALPHABETIC; + break; case 0x011C00: if (c == 0x011C2F) return UCD_PROPERTY_OTHER_ALPHABETIC; if (c == 0x011C3E) return UCD_PROPERTY_OTHER_ALPHABETIC; @@ -811,6 +817,8 @@ static ucd_property properties_Mn(codepoint_t c) if (c >= 0x0AC7 && c <= 0x0AC8) return UCD_PROPERTY_OTHER_ALPHABETIC; if (c == 0x0ACD) return UCD_PROPERTY_DIACRITIC; if (c >= 0x0AE2 && c <= 0x0AE3) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c >= 0x0AFA && c <= 0x0AFC) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c >= 0x0AFD && c <= 0x0AFF) return UCD_PROPERTY_DIACRITIC; break; case 0x0B00: if (c == 0x0B01) return UCD_PROPERTY_OTHER_ALPHABETIC; @@ -841,7 +849,8 @@ static ucd_property properties_Mn(codepoint_t c) if (c >= 0x0CE2 && c <= 0x0CE3) return UCD_PROPERTY_OTHER_ALPHABETIC; break; case 0x0D00: - if (c == 0x0D01) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c >= 0x0D00 && c <= 0x0D01) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c >= 0x0D3B && c <= 0x0D3C) return UCD_PROPERTY_DIACRITIC; if (c >= 0x0D41 && c <= 0x0D44) return UCD_PROPERTY_OTHER_ALPHABETIC; if (c == 0x0D4D) return UCD_PROPERTY_DIACRITIC; if (c >= 0x0D62 && c <= 0x0D63) return UCD_PROPERTY_OTHER_ALPHABETIC; @@ -957,7 +966,7 @@ static ucd_property properties_Mn(codepoint_t c) case 0x1D00: if (c >= 0x1DC4 && c <= 0x1DCF) return UCD_PROPERTY_DIACRITIC; if (c >= 0x1DE7 && c <= 0x1DF4) return UCD_PROPERTY_OTHER_ALPHABETIC; - if (c == 0x1DF5) return UCD_PROPERTY_DIACRITIC; + if (c >= 0x1DF5 && c <= 0x1DF9) return UCD_PROPERTY_DIACRITIC; if (c >= 0x1DFD && c <= 0x1DFF) return UCD_PROPERTY_DIACRITIC; break; case 0x2000: @@ -1104,6 +1113,16 @@ static ucd_property properties_Mn(codepoint_t c) if (c >= 0x011727 && c <= 0x01172A) return UCD_PROPERTY_OTHER_ALPHABETIC; if (c == 0x01172B) return UCD_PROPERTY_DIACRITIC; break; + case 0x011A00: + if (c >= 0x011A01 && c <= 0x011A0A) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c == 0x011A34) return UCD_PROPERTY_DIACRITIC; + if (c >= 0x011A35 && c <= 0x011A3E) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c == 0x011A47) return UCD_PROPERTY_DIACRITIC; + if (c >= 0x011A51 && c <= 0x011A5B) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c >= 0x011A8A && c <= 0x011A96) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c == 0x011A98) return UCD_PROPERTY_EXTENDER; + if (c == 0x011A99) return UCD_PROPERTY_DIACRITIC; + break; case 0x011C00: if (c >= 0x011C30 && c <= 0x011C36) return UCD_PROPERTY_OTHER_ALPHABETIC; if (c >= 0x011C38 && c <= 0x011C3D) return UCD_PROPERTY_OTHER_ALPHABETIC; @@ -1113,6 +1132,16 @@ static ucd_property properties_Mn(codepoint_t c) if (c >= 0x011CB2 && c <= 0x011CB3) return UCD_PROPERTY_OTHER_ALPHABETIC; if (c >= 0x011CB5 && c <= 0x011CB6) return UCD_PROPERTY_OTHER_ALPHABETIC; break; + case 0x011D00: + if (c >= 0x011D31 && c <= 0x011D36) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c == 0x011D3A) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c >= 0x011D3C && c <= 0x011D3D) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c >= 0x011D3F && c <= 0x011D41) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c == 0x011D42) return UCD_PROPERTY_DIACRITIC; + if (c == 0x011D43) return UCD_PROPERTY_OTHER_ALPHABETIC; + if (c >= 0x011D44 && c <= 0x011D45) return UCD_PROPERTY_DIACRITIC; + if (c == 0x011D47) return UCD_PROPERTY_OTHER_ALPHABETIC; + break; case 0x016A00: if (c >= 0x016AF0 && c <= 0x016AF4) return UCD_PROPERTY_DIACRITIC; break; @@ -1537,6 +1566,11 @@ static ucd_property properties_Po(codepoint_t c) case 0x11700: if (c >= 0x01173C && c <= 0x01173E) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL; break; + case 0x11A00: + if (c >= 0x011A42 && c <= 0x011A43) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL; + if (c >= 0x011A9B && c <= 0x011A9C) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL; + if (c >= 0x011AA1 && c <= 0x011AA2) return UCD_PROPERTY_TERMINAL_PUNCTUATION; + break; case 0x11C00: if (c >= 0x011C41 && c <= 0x011C42) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL; if (c == 0x011C43) return UCD_PROPERTY_TERMINAL_PUNCTUATION; @@ -1758,7 +1792,7 @@ static ucd_property properties_So(codepoint_t c) if (c == 0x23F3) return UCD_PROPERTY_PATTERN_SYNTAX | UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c >= 0x23E9 && c <= 0x23F3) return UCD_PROPERTY_PATTERN_SYNTAX | UCD_PROPERTY_EMOJI; if (c >= 0x23F8 && c <= 0x23FA) return UCD_PROPERTY_PATTERN_SYNTAX | UCD_PROPERTY_EMOJI; - if (c >= 0x23E3 && c <= 0x23FE) return UCD_PROPERTY_PATTERN_SYNTAX; + if (c >= 0x23E3) return UCD_PROPERTY_PATTERN_SYNTAX; break; case 0x2400: if (c >= 0x2400 && c <= 0x244A) return UCD_PROPERTY_PATTERN_SYNTAX; @@ -1999,14 +2033,19 @@ static ucd_property properties_So(codepoint_t c) if (c == 0x01F926) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; if (c >= 0x01F920 && c <= 0x01F927) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c == 0x01F930) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; + if (c <= 0x01F932) return 0; if (c == 0x01F93B) return 0; if (c >= 0x01F93A && c <= 0x01F93C) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c >= 0x01F933 && c <= 0x01F93E) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; if (c == 0x01F946) return 0; if (c >= 0x01F940 && c <= 0x01F94B) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; + if (c == 0x01F94C) return 0; if (c >= 0x01F950 && c <= 0x01F95E) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; + if (c >= 0x01F95F && c <= 0x01F96B) return 0; if (c >= 0x01F980 && c <= 0x01F991) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; + if (c >= 0x01F992 && c <= 0x01F997) return 0; if (c == 0x01F9C0) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; + if (c >= 0x01F9D0 && c <= 0x01F9E6) return 0; return UCD_PROPERTY_EMOJI; } return 0; diff --git a/src/scripts.c b/src/scripts.c index f5883d12..ae1a4893 100644 --- a/src/scripts.c +++ b/src/scripts.c @@ -67,6 +67,7 @@ #define Geok UCD_SCRIPT_Geok #define Geor UCD_SCRIPT_Geor #define Glag UCD_SCRIPT_Glag +#define Gonm UCD_SCRIPT_Gonm #define Goth UCD_SCRIPT_Goth #define Gran UCD_SCRIPT_Gran #define Grek UCD_SCRIPT_Grek @@ -164,6 +165,7 @@ #define Sind UCD_SCRIPT_Sind #define Sinh UCD_SCRIPT_Sinh #define Sora UCD_SCRIPT_Sora +#define Soyo UCD_SCRIPT_Soyo #define Sund UCD_SCRIPT_Sund #define Sylo UCD_SCRIPT_Sylo #define Syrc UCD_SCRIPT_Syrc @@ -193,6 +195,7 @@ #define Xpeo UCD_SCRIPT_Xpeo #define Xsux UCD_SCRIPT_Xsux #define Yiii UCD_SCRIPT_Yiii +#define Zanb UCD_SCRIPT_Zanb #define Zinh UCD_SCRIPT_Zinh #define Zmth UCD_SCRIPT_Zmth #define Zsym UCD_SCRIPT_Zsym @@ -645,7 +648,7 @@ static const uint8_t scripts_000500[256] = static const uint8_t scripts_000600[256] = { /* 00 */ Arab, Arab, Arab, Arab, Arab, Zyyy, Arab, Arab, Arab, Arab, Arab, Arab, Zyyy, Arab, Arab, Arab, - /* 10 */ Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Zyyy, Zyyy, Zzzz, Arab, Zyyy, + /* 10 */ Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Zyyy, Arab, Zzzz, Arab, Zyyy, /* 20 */ Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, /* 30 */ Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, /* 40 */ Zyyy, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Arab, Zinh, Zinh, Zinh, Zinh, Zinh, @@ -690,7 +693,7 @@ static const uint8_t scripts_000800[256] = /* 30 */ Samr, Samr, Samr, Samr, Samr, Samr, Samr, Samr, Samr, Samr, Samr, Samr, Samr, Samr, Samr, Zzzz, /* 40 */ Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, /* 50 */ Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Mand, Zzzz, Zzzz, Mand, Zzzz, - /* 60 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 60 */ Syrc, Syrc, Syrc, Syrc, Syrc, Syrc, Syrc, Syrc, Syrc, Syrc, Syrc, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 70 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 80 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 90 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, @@ -719,7 +722,7 @@ static const uint8_t scripts_000900[256] = /* C0 */ Beng, Beng, Beng, Beng, Beng, Zzzz, Zzzz, Beng, Beng, Zzzz, Zzzz, Beng, Beng, Beng, Beng, Zzzz, /* D0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Beng, Zzzz, Zzzz, Zzzz, Zzzz, Beng, Beng, Zzzz, Beng, /* E0 */ Beng, Beng, Beng, Beng, Zzzz, Zzzz, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, - /* F0 */ Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Zzzz, Zzzz, Zzzz, Zzzz, + /* F0 */ Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Beng, Zzzz, Zzzz, }; static const uint8_t scripts_000A00[256] = @@ -739,7 +742,7 @@ static const uint8_t scripts_000A00[256] = /* C0 */ Gujr, Gujr, Gujr, Gujr, Gujr, Gujr, Zzzz, Gujr, Gujr, Gujr, Zzzz, Gujr, Gujr, Gujr, Zzzz, Zzzz, /* D0 */ Gujr, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* E0 */ Gujr, Gujr, Gujr, Gujr, Zzzz, Zzzz, Gujr, Gujr, Gujr, Gujr, Gujr, Gujr, Gujr, Gujr, Gujr, Gujr, - /* F0 */ Gujr, Gujr, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Gujr, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* F0 */ Gujr, Gujr, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Gujr, Gujr, Gujr, Gujr, Gujr, Gujr, Gujr, }; static const uint8_t scripts_000B00[256] = @@ -784,10 +787,10 @@ static const uint8_t scripts_000C00[256] = static const uint8_t scripts_000D00[256] = { - /* 00 */ Zzzz, Mlym, Mlym, Mlym, Zzzz, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Zzzz, Mlym, Mlym, + /* 00 */ Mlym, Mlym, Mlym, Mlym, Zzzz, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Zzzz, Mlym, Mlym, /* 10 */ Mlym, Zzzz, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, /* 20 */ Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, - /* 30 */ Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Zzzz, Zzzz, Mlym, Mlym, Mlym, + /* 30 */ Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, /* 40 */ Mlym, Mlym, Mlym, Mlym, Mlym, Zzzz, Mlym, Mlym, Mlym, Zzzz, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, /* 50 */ Zzzz, Zzzz, Zzzz, Zzzz, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, /* 60 */ Mlym, Mlym, Mlym, Mlym, Zzzz, Zzzz, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, Mlym, @@ -1039,7 +1042,7 @@ static const uint8_t scripts_001C00[256] = /* C0 */ Sund, Sund, Sund, Sund, Sund, Sund, Sund, Sund, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* D0 */ Zinh, Zinh, Zinh, Zyyy, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, /* E0 */ Zinh, Zyyy, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zyyy, Zyyy, Zyyy, Zyyy, Zinh, Zyyy, Zyyy, - /* F0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zinh, Zyyy, Zyyy, Zzzz, Zinh, Zinh, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* F0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zinh, Zyyy, Zyyy, Zyyy, Zinh, Zinh, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, }; static const uint8_t scripts_001D00[256] = @@ -1059,7 +1062,7 @@ static const uint8_t scripts_001D00[256] = /* C0 */ Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, /* D0 */ Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, /* E0 */ Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, - /* F0 */ Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zinh, Zinh, Zinh, Zinh, Zinh, + /* F0 */ Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zzzz, Zinh, Zinh, Zinh, Zinh, Zinh, }; static const uint8_t scripts_001F00[256] = @@ -1095,7 +1098,7 @@ static const uint8_t scripts_002000[256] = /* 80 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, /* 90 */ Latn, Latn, Latn, Latn, Latn, Latn, Latn, Latn, Latn, Latn, Latn, Latn, Latn, Zzzz, Zzzz, Zzzz, /* A0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* B0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, + /* B0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, /* C0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* D0 */ Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, /* E0 */ Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, Zinh, @@ -1122,26 +1125,6 @@ static const uint8_t scripts_002100[256] = /* F0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, }; -static const uint8_t scripts_002300[256] = -{ - /* 00 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 10 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 20 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 30 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 40 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 50 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 60 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 70 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 80 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 90 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* A0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* B0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* C0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* D0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* E0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* F0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, -}; - static const uint8_t scripts_002400[256] = { /* 00 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, @@ -1177,7 +1160,7 @@ static const uint8_t scripts_002B00[256] = /* A0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, /* B0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zyyy, Zyyy, Zyyy, /* C0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* D0 */ Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* D0 */ Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* E0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zyyy, Zyyy, Zyyy, Zyyy, /* F0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, }; @@ -1228,7 +1211,7 @@ static const uint8_t scripts_002E00[256] = /* 10 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, /* 20 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, /* 30 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 40 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 40 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 50 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 60 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 70 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, @@ -1286,7 +1269,7 @@ static const uint8_t scripts_003100[256] = { /* 00 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, /* 10 */ Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, - /* 20 */ Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Zzzz, Zzzz, + /* 20 */ Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Bopo, Zzzz, /* 30 */ Zzzz, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, /* 40 */ Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, /* 50 */ Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, Hang, @@ -1377,8 +1360,8 @@ static const uint8_t scripts_009F00[256] = /* A0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, /* B0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, /* C0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, - /* D0 */ Hani, Hani, Hani, Hani, Hani, Hani, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* E0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* D0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* E0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* F0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, }; @@ -1706,7 +1689,7 @@ static const uint8_t scripts_010300[256] = { /* 00 */ Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, /* 10 */ Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, Ital, - /* 20 */ Ital, Ital, Ital, Ital, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 20 */ Ital, Ital, Ital, Ital, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Ital, Ital, Ital, /* 30 */ Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, /* 40 */ Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Goth, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 50 */ Perm, Perm, Perm, Perm, Perm, Perm, Perm, Perm, Perm, Perm, Perm, Perm, Perm, Perm, Perm, Perm, @@ -2084,17 +2067,17 @@ static const uint8_t scripts_011800[256] = static const uint8_t scripts_011A00[256] = { - /* 00 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 10 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 20 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 30 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 40 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 50 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 60 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 70 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 80 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 90 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* A0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 00 */ Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, + /* 10 */ Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, + /* 20 */ Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, + /* 30 */ Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, + /* 40 */ Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zanb, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 50 */ Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, + /* 60 */ Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, + /* 70 */ Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, + /* 80 */ Soyo, Soyo, Soyo, Soyo, Zzzz, Zzzz, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, + /* 90 */ Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Soyo, Zzzz, Soyo, Soyo, + /* A0 */ Soyo, Soyo, Soyo, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* B0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* C0 */ Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, /* D0 */ Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, Pauc, @@ -2122,6 +2105,26 @@ static const uint8_t scripts_011C00[256] = /* F0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, }; +static const uint8_t scripts_011D00[256] = +{ + /* 00 */ Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Zzzz, Gonm, Gonm, Zzzz, Gonm, Gonm, Gonm, Gonm, Gonm, + /* 10 */ Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, + /* 20 */ Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, + /* 30 */ Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Zzzz, Zzzz, Zzzz, Gonm, Zzzz, Gonm, Gonm, Zzzz, Gonm, + /* 40 */ Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 50 */ Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Gonm, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 60 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 70 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 80 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 90 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* A0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* B0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* C0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* D0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* E0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* F0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, +}; + static const uint8_t scripts_012300[256] = { /* 00 */ Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, Xsux, @@ -2278,7 +2281,7 @@ static const uint8_t scripts_016F00[256] = /* B0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* C0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* D0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* E0 */ Tang, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* E0 */ Tang, Nshu, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* F0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, }; @@ -2324,22 +2327,62 @@ static const uint8_t scripts_018A00[256] = static const uint8_t scripts_01B000[256] = { - /* 00 */ Kana, Hira, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 10 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 00 */ Kana, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 10 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 20 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 30 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 40 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 50 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 60 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 70 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 80 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 90 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* A0 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* B0 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* C0 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* D0 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* E0 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* F0 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, +}; + +static const uint8_t scripts_01B100[256] = +{ + /* 00 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, + /* 10 */ Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Hira, Zzzz, /* 20 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 30 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 40 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 50 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 60 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 70 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 80 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 90 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* A0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* B0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* C0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* D0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* E0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* F0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 70 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 80 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 90 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* A0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* B0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* C0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* D0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* E0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* F0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, +}; + +static const uint8_t scripts_01B200[256] = +{ + /* 00 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 10 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 20 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 30 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 40 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 50 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 60 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 70 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 80 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* 90 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* A0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* B0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* C0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* D0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* E0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, + /* F0 */ Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Nshu, Zzzz, Zzzz, Zzzz, Zzzz, }; static const uint8_t scripts_01BC00[256] = @@ -2670,7 +2713,7 @@ static const uint8_t scripts_01F200[256] = /* 30 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, /* 40 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 50 */ Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 60 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 60 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 70 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 80 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 90 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, @@ -2697,9 +2740,9 @@ static const uint8_t scripts_01F600[256] = /* A0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, /* B0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, /* C0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* D0 */ Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* D0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* E0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, - /* F0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* F0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, }; static const uint8_t scripts_01F700[256] = @@ -2744,21 +2787,21 @@ static const uint8_t scripts_01F800[256] = static const uint8_t scripts_01F900[256] = { - /* 00 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 10 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, - /* 20 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* 30 */ Zyyy, Zzzz, Zzzz, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, - /* 40 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, - /* 50 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, - /* 60 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 00 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, + /* 10 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, + /* 20 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, + /* 30 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, + /* 40 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, + /* 50 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, + /* 60 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, /* 70 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* 80 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, - /* 90 */ Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* 90 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* A0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* B0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* C0 */ Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* D0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* E0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* D0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, + /* E0 */ Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zyyy, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* F0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, }; @@ -2835,10 +2878,30 @@ static const uint8_t scripts_02CE00[256] = /* 80 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, /* 90 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, /* A0 */ Hani, Hani, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* B0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* C0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* D0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, - /* E0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, + /* B0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* C0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* D0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* E0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* F0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, +}; + +static const uint8_t scripts_02EB00[256] = +{ + /* 00 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* 10 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* 20 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* 30 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* 40 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* 50 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* 60 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* 70 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* 80 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* 90 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* A0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* B0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* C0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* D0 */ Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, Hani, + /* E0 */ Hani, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, /* F0 */ Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, Zzzz, }; @@ -2939,7 +3002,7 @@ static const uint8_t *scripts_000000_00D7FF[] = scripts_002000, scripts_002100, scripts_Zyyy, /* 002200 */ - scripts_002300, + scripts_Zyyy, /* 002300 */ scripts_002400, scripts_Zyyy, /* 002500 */ scripts_Zyyy, /* 002600 */ @@ -3161,7 +3224,7 @@ static const uint8_t *scripts_00F800_02FAFF[] = scripts_011A00, scripts_Zzzz, /* 011B00 */ scripts_011C00, - scripts_Zzzz, /* 011D00 */ + scripts_011D00, scripts_Zzzz, /* 011E00 */ scripts_Zzzz, /* 011F00 */ scripts_Xsux, /* 012000 */ @@ -3309,8 +3372,8 @@ static const uint8_t *scripts_00F800_02FAFF[] = scripts_Zzzz, /* 01AE00 */ scripts_Zzzz, /* 01AF00 */ scripts_01B000, - scripts_Zzzz, /* 01B100 */ - scripts_Zzzz, /* 01B200 */ + scripts_01B100, + scripts_01B200, scripts_Zzzz, /* 01B300 */ scripts_Zzzz, /* 01B400 */ scripts_Zzzz, /* 01B500 */ @@ -3595,35 +3658,35 @@ static const uint8_t *scripts_00F800_02FAFF[] = scripts_Hani, /* 02CC00 */ scripts_Hani, /* 02CD00 */ scripts_02CE00, - scripts_Zzzz, /* 02CF00 */ - scripts_Zzzz, /* 02D000 */ - scripts_Zzzz, /* 02D100 */ - scripts_Zzzz, /* 02D200 */ - scripts_Zzzz, /* 02D300 */ - scripts_Zzzz, /* 02D400 */ - scripts_Zzzz, /* 02D500 */ - scripts_Zzzz, /* 02D600 */ - scripts_Zzzz, /* 02D700 */ - scripts_Zzzz, /* 02D800 */ - scripts_Zzzz, /* 02D900 */ - scripts_Zzzz, /* 02DA00 */ - scripts_Zzzz, /* 02DB00 */ - scripts_Zzzz, /* 02DC00 */ - scripts_Zzzz, /* 02DD00 */ - scripts_Zzzz, /* 02DE00 */ - scripts_Zzzz, /* 02DF00 */ - scripts_Zzzz, /* 02E000 */ - scripts_Zzzz, /* 02E100 */ - scripts_Zzzz, /* 02E200 */ - scripts_Zzzz, /* 02E300 */ - scripts_Zzzz, /* 02E400 */ - scripts_Zzzz, /* 02E500 */ - scripts_Zzzz, /* 02E600 */ - scripts_Zzzz, /* 02E700 */ - scripts_Zzzz, /* 02E800 */ - scripts_Zzzz, /* 02E900 */ - scripts_Zzzz, /* 02EA00 */ - scripts_Zzzz, /* 02EB00 */ + scripts_Hani, /* 02CF00 */ + scripts_Hani, /* 02D000 */ + scripts_Hani, /* 02D100 */ + scripts_Hani, /* 02D200 */ + scripts_Hani, /* 02D300 */ + scripts_Hani, /* 02D400 */ + scripts_Hani, /* 02D500 */ + scripts_Hani, /* 02D600 */ + scripts_Hani, /* 02D700 */ + scripts_Hani, /* 02D800 */ + scripts_Hani, /* 02D900 */ + scripts_Hani, /* 02DA00 */ + scripts_Hani, /* 02DB00 */ + scripts_Hani, /* 02DC00 */ + scripts_Hani, /* 02DD00 */ + scripts_Hani, /* 02DE00 */ + scripts_Hani, /* 02DF00 */ + scripts_Hani, /* 02E000 */ + scripts_Hani, /* 02E100 */ + scripts_Hani, /* 02E200 */ + scripts_Hani, /* 02E300 */ + scripts_Hani, /* 02E400 */ + scripts_Hani, /* 02E500 */ + scripts_Hani, /* 02E600 */ + scripts_Hani, /* 02E700 */ + scripts_Hani, /* 02E800 */ + scripts_Hani, /* 02E900 */ + scripts_Hani, /* 02EA00 */ + scripts_02EB00, scripts_Zzzz, /* 02EC00 */ scripts_Zzzz, /* 02ED00 */ scripts_Zzzz, /* 02EE00 */ diff --git a/src/tostring.c b/src/tostring.c index 25852355..3d89d198 100644 --- a/src/tostring.c +++ b/src/tostring.c @@ -120,6 +120,7 @@ const char *ucd_get_script_string(ucd_script s) "Geok", "Geor", "Glag", + "Gonm", "Goth", "Gran", "Grek", @@ -217,6 +218,7 @@ const char *ucd_get_script_string(ucd_script s) "Sind", "Sinh", "Sora", + "Soyo", "Sund", "Sylo", "Syrc", @@ -246,6 +248,7 @@ const char *ucd_get_script_string(ucd_script s) "Xpeo", "Xsux", "Yiii", + "Zanb", "Zinh", "Zmth", "Zsym", diff --git a/tools/scripts.py b/tools/scripts.py index ba125f6d..b6aaa752 100755 --- a/tools/scripts.py +++ b/tools/scripts.py @@ -153,6 +153,7 @@ if __name__ == '__main__': #define Geok UCD_SCRIPT_Geok #define Geor UCD_SCRIPT_Geor #define Glag UCD_SCRIPT_Glag +#define Gonm UCD_SCRIPT_Gonm #define Goth UCD_SCRIPT_Goth #define Gran UCD_SCRIPT_Gran #define Grek UCD_SCRIPT_Grek @@ -250,6 +251,7 @@ if __name__ == '__main__': #define Sind UCD_SCRIPT_Sind #define Sinh UCD_SCRIPT_Sinh #define Sora UCD_SCRIPT_Sora +#define Soyo UCD_SCRIPT_Soyo #define Sund UCD_SCRIPT_Sund #define Sylo UCD_SCRIPT_Sylo #define Syrc UCD_SCRIPT_Syrc @@ -279,6 +281,7 @@ if __name__ == '__main__': #define Xpeo UCD_SCRIPT_Xpeo #define Xsux UCD_SCRIPT_Xsux #define Yiii UCD_SCRIPT_Yiii +#define Zanb UCD_SCRIPT_Zanb #define Zinh UCD_SCRIPT_Zinh #define Zmth UCD_SCRIPT_Zmth #define Zsym UCD_SCRIPT_Zsym From 023ebace9aa44ccad2ad9ff73925c40e3df2fa9f Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 15:27:53 +0100 Subject: [PATCH 07/10] Add Regional_Indicator support from PropList.txt. --- src/include/ucd/ucd.h | 2 ++ src/proplist.c | 2 +- tools/printdata.py | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/include/ucd/ucd.h b/src/include/ucd/ucd.h index 33133c5f..d3d90a18 100644 --- a/src/include/ucd/ucd.h +++ b/src/include/ucd/ucd.h @@ -369,6 +369,7 @@ typedef uint64_t ucd_property; #define UCD_PROPERTY_EMOJI_PRESENTATION 0x0000000400000000ull /**< @brief Emoji_Presentation */ #define UCD_PROPERTY_EMOJI_MODIFIER 0x0000000800000000ull /**< @brief Emoji_Modifier */ #define UCD_PROPERTY_EMOJI_MODIFIER_BASE 0x0000001000000000ull /**< @brief Emoji_Modifier_Base */ +#define UCD_PROPERTY_REGIONAL_INDICATOR 0x0000002000000000ull /**< @brief Regional_Indicator */ /** @brief Return the properties of the specified codepoint. * @@ -868,6 +869,7 @@ namespace ucd Emoji_Presentation = UCD_PROPERTY_EMOJI_PRESENTATION, /**< @brief Emoji_Presentation */ Emoji_Modifier = UCD_PROPERTY_EMOJI_MODIFIER, /**< @brief Emoji_Modifier */ Emoji_Modifier_Base = UCD_PROPERTY_EMOJI_MODIFIER_BASE, /**< @brief Emoji_Modifier_Base */ + Regional_Indicator = UCD_PROPERTY_REGIONAL_INDICATOR, /**< @brief Regional_Indicator */ }; /** @brief Return the properties of the specified codepoint. diff --git a/src/proplist.c b/src/proplist.c index f8f0dc2d..eae604f0 100644 --- a/src/proplist.c +++ b/src/proplist.c @@ -1929,7 +1929,7 @@ static ucd_property properties_So(codepoint_t c) if (c >= 0x01F170 && c <= 0x01F189) return UCD_PROPERTY_OTHER_ALPHABETIC | UCD_PROPERTY_OTHER_UPPERCASE; if (c == 0x01F18E) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c >= 0x01F191 && c <= 0x01F19A) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; - if (c >= 0x01F1E6) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; + if (c >= 0x01F1E6) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_REGIONAL_INDICATOR; break; case 0x01F200: if (c == 0x01F201) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; diff --git a/tools/printdata.py b/tools/printdata.py index eac2892f..42241036 100755 --- a/tools/printdata.py +++ b/tools/printdata.py @@ -165,6 +165,7 @@ def properties(data): props += (2 ** 34) * data.get('Emoji_Presentation', 0) # emoji-data props += (2 ** 35) * data.get('Emoji_Modifier', 0) # emoji-data props += (2 ** 36) * data.get('Emoji_Modifier_Base', 0) # emoji-data + props += (2 ** 37) * data.get('Regional_Indicator', 0) return props if __name__ == '__main__': From 18d3a0819a5e581b87344575583969e7f9bf59b8 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 15:41:46 +0100 Subject: [PATCH 08/10] Unicode Emoji 5.0 --- CHANGELOG.md | 1 + Makefile.am | 2 +- src/proplist.c | 19 ++++++++++--------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3dbb62f6..73ef2ea8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * PropList and emoji-data property lookup. * Support building with a C89 compiler. * Update to Unicode Character Data 10.0.0. +* Unicode Emoji 5.0. ## 9.0.0 - 2016-12-28 diff --git a/Makefile.am b/Makefile.am index 1d9931d1..3a331e85 100644 --- a/Makefile.am +++ b/Makefile.am @@ -55,7 +55,7 @@ EXTRA_DIST += ChangeLog ############################# Unicode Data #################################### -EMOJI_VERSION=4.0 +EMOJI_VERSION=5.0 UCD_VERSION=@UCD_VERSION@ UCD_ROOTDIR=data/ucd UCD_SRCDIR=http://www.unicode.org/Public diff --git a/src/proplist.c b/src/proplist.c index eae604f0..29c1e0f5 100644 --- a/src/proplist.c +++ b/src/proplist.c @@ -2024,28 +2024,29 @@ static ucd_property properties_So(codepoint_t c) if (c >= 0x01F6EB && c <= 0x01F6EC) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c == 0x01F6F0) return UCD_PROPERTY_EMOJI; if (c == 0x01F6F3) return UCD_PROPERTY_EMOJI; - if (c >= 0x01F6F4 && c <= 0x01F6F6) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; + if (c >= 0x01F6F4 && c <= 0x01F6F8) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; break; case 0x01F900: + if (c <= 0x01F90B) return 0; if (c >= 0x01F918 && c <= 0x01F91C) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; if (c >= 0x01F910 && c <= 0x01F91D) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; - if (c == 0x01F91E) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; + if (c >= 0x01F91E && c <= 0x01F91F) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; if (c == 0x01F926) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; - if (c >= 0x01F920 && c <= 0x01F927) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; - if (c == 0x01F930) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; - if (c <= 0x01F932) return 0; + if (c >= 0x01F920 && c <= 0x01F92F) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; + if (c >= 0x01F930 && c <= 0x01F932) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; if (c == 0x01F93B) return 0; if (c >= 0x01F93A && c <= 0x01F93C) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c >= 0x01F933 && c <= 0x01F93E) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; if (c == 0x01F946) return 0; if (c >= 0x01F940 && c <= 0x01F94B) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; - if (c == 0x01F94C) return 0; + if (c == 0x01F94C) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c >= 0x01F950 && c <= 0x01F95E) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; - if (c >= 0x01F95F && c <= 0x01F96B) return 0; + if (c >= 0x01F95F && c <= 0x01F96B) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c >= 0x01F980 && c <= 0x01F991) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; - if (c >= 0x01F992 && c <= 0x01F997) return 0; + if (c >= 0x01F992 && c <= 0x01F997) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c == 0x01F9C0) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; - if (c >= 0x01F9D0 && c <= 0x01F9E6) return 0; + if (c >= 0x01F9D1 && c <= 0x01F9DD) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER_BASE; + if (c >= 0x01F9D0 && c <= 0x01F9E6) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; return UCD_PROPERTY_EMOJI; } return 0; From 1cb4115eabddc0d012c2c1a008bbe9086f0fe2bf Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 15:51:37 +0100 Subject: [PATCH 09/10] Add Emoji_Component support from emoji-data.txt. --- src/include/ucd/ucd.h | 2 ++ src/proplist.c | 10 +++++----- tools/printdata.py | 3 ++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/include/ucd/ucd.h b/src/include/ucd/ucd.h index d3d90a18..2c6bee24 100644 --- a/src/include/ucd/ucd.h +++ b/src/include/ucd/ucd.h @@ -370,6 +370,7 @@ typedef uint64_t ucd_property; #define UCD_PROPERTY_EMOJI_MODIFIER 0x0000000800000000ull /**< @brief Emoji_Modifier */ #define UCD_PROPERTY_EMOJI_MODIFIER_BASE 0x0000001000000000ull /**< @brief Emoji_Modifier_Base */ #define UCD_PROPERTY_REGIONAL_INDICATOR 0x0000002000000000ull /**< @brief Regional_Indicator */ +#define UCD_PROPERTY_EMOJI_COMPONENT 0x0000004000000000ull /**< @brief Emoji_Component */ /** @brief Return the properties of the specified codepoint. * @@ -870,6 +871,7 @@ namespace ucd Emoji_Modifier = UCD_PROPERTY_EMOJI_MODIFIER, /**< @brief Emoji_Modifier */ Emoji_Modifier_Base = UCD_PROPERTY_EMOJI_MODIFIER_BASE, /**< @brief Emoji_Modifier_Base */ Regional_Indicator = UCD_PROPERTY_REGIONAL_INDICATOR, /**< @brief Regional_Indicator */ + Emoji_Component = UCD_PROPERTY_EMOJI_COMPONENT, /**< @brief Emoji_Component */ }; /** @brief Return the properties of the specified codepoint. diff --git a/src/proplist.c b/src/proplist.c index 29c1e0f5..c468a9e8 100644 --- a/src/proplist.c +++ b/src/proplist.c @@ -1187,7 +1187,7 @@ static ucd_property properties_Nd(codepoint_t c) switch (c & 0xFFFFFF00) { case 0x0000: - if (c >= 0x0030 && c <= 0x0039) return UCD_PROPERTY_HEX_DIGIT | UCD_PROPERTY_ASCII_HEX_DIGIT | UCD_PROPERTY_EMOJI; + if (c >= 0x0030 && c <= 0x0039) return UCD_PROPERTY_HEX_DIGIT | UCD_PROPERTY_ASCII_HEX_DIGIT | UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_COMPONENT; break; case 0xFF00: if (c >= 0xFF10 && c <= 0xFF19) return UCD_PROPERTY_HEX_DIGIT; @@ -1349,9 +1349,9 @@ static ucd_property properties_Po(codepoint_t c) case 0x0000: if (c == 0x0021) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX; if (c == 0x0022) return UCD_PROPERTY_QUOTATION_MARK | UCD_PROPERTY_PATTERN_SYNTAX; - if (c == 0x0023) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_PATTERN_SYNTAX; + if (c == 0x0023) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_PATTERN_SYNTAX | UCD_PROPERTY_EMOJI_COMPONENT; if (c == 0x0027) return UCD_PROPERTY_QUOTATION_MARK | UCD_PROPERTY_PATTERN_SYNTAX; - if (c == 0x002A) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_PATTERN_SYNTAX; + if (c == 0x002A) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_PATTERN_SYNTAX | UCD_PROPERTY_EMOJI_COMPONENT; if (c == 0x002C) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_PATTERN_SYNTAX; if (c == 0x002E) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX; if (c >= 0x003A && c <= 0x003B) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_PATTERN_SYNTAX; @@ -1701,7 +1701,7 @@ static ucd_property properties_Sk(codepoint_t c) if (c == 0xFFE3) return UCD_PROPERTY_DIACRITIC; break; case 0x01F300: - return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER; + return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_EMOJI_MODIFIER | UCD_PROPERTY_EMOJI_COMPONENT; } return 0; } @@ -1929,7 +1929,7 @@ static ucd_property properties_So(codepoint_t c) if (c >= 0x01F170 && c <= 0x01F189) return UCD_PROPERTY_OTHER_ALPHABETIC | UCD_PROPERTY_OTHER_UPPERCASE; if (c == 0x01F18E) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c >= 0x01F191 && c <= 0x01F19A) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; - if (c >= 0x01F1E6) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_REGIONAL_INDICATOR; + if (c >= 0x01F1E6) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_REGIONAL_INDICATOR | UCD_PROPERTY_EMOJI_COMPONENT; break; case 0x01F200: if (c == 0x01F201) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; diff --git a/tools/printdata.py b/tools/printdata.py index 42241036..513a890c 100755 --- a/tools/printdata.py +++ b/tools/printdata.py @@ -165,7 +165,8 @@ def properties(data): props += (2 ** 34) * data.get('Emoji_Presentation', 0) # emoji-data props += (2 ** 35) * data.get('Emoji_Modifier', 0) # emoji-data props += (2 ** 36) * data.get('Emoji_Modifier_Base', 0) # emoji-data - props += (2 ** 37) * data.get('Regional_Indicator', 0) + props += (2 ** 37) * data.get('Regional_Indicator', 0) # PropList 10.0.0 + props += (2 ** 38) * data.get('Emoji_Component', 0) # emoji-data 5.0 return props if __name__ == '__main__': From f26aca0aa1b9485634314d0d1710d2a0bb67776d Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 15:55:34 +0100 Subject: [PATCH 10/10] ucd-tools 10.0.0 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73ef2ea8..6fe7275d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log -## 10.0.0 - (In Progress) +## 10.0.0 - 2017-06-25 * Add `iswblank` and `iswxdigit` compatibility. * Improve ctype compatibility.