aboutsummaryrefslogtreecommitdiff
path: root/gen
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-10-03 01:24:50 +0200
committerThomas Voss <mail@thomasvoss.com> 2024-10-03 01:24:50 +0200
commitc6853cefe4b0de30d3fb04d7be8a0a78a23d51d3 (patch)
tree39c3749d48c3975320302234ceabfe79e80ef601 /gen
parentbc5470dff262284a0dbe66a3850cf915e2a87034 (diff)
Update for Unicode 16
Diffstat (limited to 'gen')
-rwxr-xr-xgen/data-files2
-rwxr-xr-xgen/prop/blk10
-rwxr-xr-xgen/prop/cm.c12
-rwxr-xr-xgen/prop/sc7
4 files changed, 26 insertions, 5 deletions
diff --git a/gen/data-files b/gen/data-files
index c648868..8312365 100755
--- a/gen/data-files
+++ b/gen/data-files
@@ -4,7 +4,7 @@ cd "${0%/*}/.."
mkdir -p data
-readonly BASE='https://www.unicode.org/Public/15.1.0/ucd'
+readonly BASE='https://www.unicode.org/Public/16.0.0/ucd'
readonly PATHS='
auxiliary/GraphemeBreakProperty
diff --git a/gen/prop/blk b/gen/prop/blk
index 4883d1c..fd79ccc 100755
--- a/gen/prop/blk
+++ b/gen/prop/blk
@@ -101,6 +101,7 @@ MAP = {
'early_dynastic_cuneiform' : 'EARLY_DYNASTIC_CUNEIFORM',
'egyptian_hieroglyph_format_controls' : 'EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS',
'egyptian_hieroglyphs' : 'EGYPTIAN_HIEROGLYPHS',
+ 'egyptian_hieroglyphs_extended_a' : 'EGYPTIAN_HIEROGLYPHS_EXT_A',
'elbasan' : 'ELBASAN',
'elymaic' : 'ELYMAIC',
'emoticons' : 'EMOTICONS',
@@ -113,6 +114,7 @@ MAP = {
'ethiopic_extended_b' : 'ETHIOPIC_EXT_B',
'ethiopic_extended' : 'ETHIOPIC_EXT',
'ethiopic_supplement' : 'ETHIOPIC_SUP',
+ 'garay' : 'GARAY',
'general_punctuation' : 'PUNCTUATION',
'geometric_shapes_extended' : 'GEOMETRIC_SHAPES_EXT',
'geometric_shapes' : 'GEOMETRIC_SHAPES',
@@ -128,6 +130,7 @@ MAP = {
'gujarati' : 'GUJARATI',
'gunjala_gondi' : 'GUNJALA_GONDI',
'gurmukhi' : 'GURMUKHI',
+ 'gurung_khema' : 'GURUNG_KHEMA',
'halfwidth_and_fullwidth_forms' : 'HALF_AND_FULL_FORMS',
'hangul_compatibility_jamo' : 'COMPAT_JAMO',
'hangul_jamo_extended_a' : 'JAMO_EXT_A',
@@ -167,6 +170,7 @@ MAP = {
'khmer_symbols' : 'KHMER_SYMBOLS',
'khojki' : 'KHOJKI',
'khudawadi' : 'KHUDAWADI',
+ 'kirat_rai' : 'KIRAT_RAI',
'lao' : 'LAO',
'latin_1_supplement' : 'LATIN_1_SUP',
'latin_extended_additional' : 'LATIN_EXT_ADDITIONAL',
@@ -221,6 +225,7 @@ MAP = {
'musical_symbols' : 'MUSIC',
'myanmar_extended_a' : 'MYANMAR_EXT_A',
'myanmar_extended_b' : 'MYANMAR_EXT_B',
+ 'myanmar_extended_c' : 'MYANMAR_EXT_C',
'myanmar' : 'MYANMAR',
'nabataean' : 'NABATAEAN',
'nag_mundari' : 'NAG_MUNDARI',
@@ -233,6 +238,7 @@ MAP = {
'nyiakeng_puachue_hmong' : 'NYIAKENG_PUACHUE_HMONG',
'ogham' : 'OGHAM',
'ol_chiki' : 'OL_CHIKI',
+ 'ol_onal' : 'OL_ONAL',
'old_hungarian' : 'OLD_HUNGARIAN',
'old_italic' : 'OLD_ITALIC',
'old_north_arabian' : 'OLD_NORTH_ARABIAN',
@@ -280,6 +286,7 @@ MAP = {
'sundanese' : 'SUNDANESE',
'sundanese_supplement' : 'SUNDANESE_SUP',
'superscripts_and_subscripts' : 'SUPER_AND_SUB',
+ 'sunuwar' : 'SUNUWAR',
'supplemental_arrows_a' : 'SUP_ARROWS_A',
'supplemental_arrows_b' : 'SUP_ARROWS_B',
'supplemental_arrows_c' : 'SUP_ARROWS_C',
@@ -292,6 +299,7 @@ MAP = {
'syloti_nagri' : 'SYLOTI_NAGRI',
'symbols_and_pictographs_extended_a' : 'SYMBOLS_AND_PICTOGRAPHS_EXT_A',
'symbols_for_legacy_computing' : 'SYMBOLS_FOR_LEGACY_COMPUTING',
+ 'symbols_for_legacy_computing_supplement' : 'SYMBOLS_FOR_LEGACY_COMPUTING_SUP',
'syriac_supplement' : 'SYRIAC_SUP',
'syriac' : 'SYRIAC',
'tagalog' : 'TAGALOG',
@@ -314,8 +322,10 @@ MAP = {
'tibetan' : 'TIBETAN',
'tifinagh' : 'TIFINAGH',
'tirhuta' : 'TIRHUTA',
+ 'todhri' : 'TODHRI',
'toto' : 'TOTO',
'transport_and_map_symbols' : 'TRANSPORT_AND_MAP',
+ 'tulu_tigalari' : 'TULU_TIGALARI',
'ugaritic' : 'UGARITIC',
'unified_canadian_aboriginal_syllabics_extended_a': 'UCAS_EXT_A',
'unified_canadian_aboriginal_syllabics_extended' : 'UCAS_EXT',
diff --git a/gen/prop/cm.c b/gen/prop/cm.c
index 4c408f0..3cb4a00 100755
--- a/gen/prop/cm.c
+++ b/gen/prop/cm.c
@@ -16,6 +16,7 @@ exit 0
#include <alloc.h>
#include <array.h>
+#include <errors.h>
#include <mbstring.h>
#include <rune.h>
#include <unicode/prop.h>
@@ -58,16 +59,19 @@ main(void)
m += rtoucs(buf, sizeof(buf), ch);
assert(n >= m);
- array_push(&maps, (struct mapping){
+ array_push(&maps, ((struct mapping){
.k = (uint64_t)rv.p[0] << 32 | rv.p[1],
.v = ch,
- });
+ }));
}
struct ht t = {};
- size_t sz = (size_t)1 << (SIZE_WIDTH - stdc_leading_zeros(array_len(maps)) + N);
+ size_t sz = (size_t)1
+ << (SIZE_WIDTH - stdc_leading_zeros((size_t)array_len(maps)) + N);
int e = stdc_trailing_zeros(sz);
- t.ht = bufalloc(nullptr, sizeof(*t.ht), sz);
+ t.ht = malloc(sizeof(*t.ht) * sz);
+ if (t.ht == nullptr)
+ err("malloc:");
memset(t.ht, 0, sizeof(*t.ht) * sz);
assert(sz == ((size_t)1 << e));
diff --git a/gen/prop/sc b/gen/prop/sc
index af8c316..20abb97 100755
--- a/gen/prop/sc
+++ b/gen/prop/sc
@@ -43,6 +43,7 @@ MAP = {
'Elbasan': 'ELBA',
'Elymaic': 'ELYM',
'Ethiopic': 'ETHI',
+ 'Garay': 'GARA',
'Georgian': 'GEOR',
'Glagolitic': 'GLAG',
'Gunjala_Gondi': 'GONG',
@@ -51,6 +52,7 @@ MAP = {
'Grantha': 'GRAN',
'Greek': 'GREK',
'Gujarati': 'GUJR',
+ 'Gurung_Khema': 'GUKH',
'Gurmukhi': 'GURU',
'Hangul': 'HANG',
'Han': 'HANI',
@@ -73,6 +75,7 @@ MAP = {
'Khojki': 'KHOJ',
'Khitan_Small_Script': 'KITS',
'Kannada': 'KNDA',
+ 'Kirat_Rai': 'KRAI',
'Kaithi': 'KTHI',
'Tai_Tham': 'LANA',
'Lao': 'LAOO',
@@ -109,6 +112,7 @@ MAP = {
'Nushu': 'NSHU',
'Ogham': 'OGAM',
'Ol_Chiki': 'OLCK',
+ 'Ol_Onal': 'ONAO',
'Old_Turkic': 'ORKH',
'Oriya': 'ORYA',
'Osage': 'OSGE',
@@ -140,6 +144,7 @@ MAP = {
'Sora_Sompeng': 'SORA',
'Soyombo': 'SOYO',
'Sundanese': 'SUND',
+ 'Sunuwar': 'SUNU',
'Syloti_Nagri': 'SYLO',
'Syriac': 'SYRC',
'Tagbanwa': 'TAGB',
@@ -157,7 +162,9 @@ MAP = {
'Tibetan': 'TIBT',
'Tirhuta': 'TIRH',
'Tangsa': 'TNSA',
+ 'Todhri': 'TODR',
'Toto': 'TOTO',
+ 'Tulu_Tigalari': 'TUTG',
'Ugaritic': 'UGAR',
'Vai': 'VAII',
'Vithkuqi': 'VITH',