From 8a57b2c91d1554bdf5016adc7d8e81a4bf166fd1 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Thu, 5 Oct 2023 01:03:42 -0700 Subject: [PATCH] upgrade to unicode 15.1, closes #43 --- README.md | 2 +- scripts/CJKRadicals.zig | 12 +- scripts/DerivedCoreProperties.zig | 1 + scripts/LineBreak.zig | 1 + scripts/PropList.zig | 3 + scripts/_common.zig | 2 +- src/arabic_shaping.zig | 2 +- src/bidi_brackets.zig | 2 +- src/bidi_mirroring.zig | 2 +- src/blocks.zig | 3 +- src/case_folding.zig | 5 +- src/cjk_radicals.zig | 11 +- src/composition_exclusions.zig | 2 +- src/derived_age.zig | 5 +- src/derived_core_properties.zig | 220 ++++++++++++++++++++++++++- src/east_asian_width.zig | 9 +- src/emoji.zig | 2 +- src/emoji_sources.zig | 2 +- src/equivalent_unified_ideograph.zig | 2 +- src/hangul_syllable_type.zig | 2 +- src/indic_positional_category.zig | 2 +- src/indic_syllabic_category.zig | 2 +- src/jamo.zig | 2 +- src/line_break.zig | 143 +++++++++-------- src/name_aliases.zig | 2 +- src/named_sequences.zig | 2 +- src/named_sequences_prov.zig | 2 +- src/prop_list.zig | 52 ++++++- src/property_aliases.zig | 13 +- src/property_value_aliases.zig | 31 +++- src/script_extensions.zig | 20 +-- src/scripts.zig | 6 +- src/special_casing.zig | 2 +- src/unicode_data.zig | 9 +- src/vertical_orientation.zig | 19 ++- 35 files changed, 474 insertions(+), 123 deletions(-) diff --git a/README.md b/README.md index 39a195186eda00d61df59e503080a73fdfd483ac..1353bd045c8fd9619ce106dd8b89f903a84e6d61 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Zig bindings for the Unicode Character Database -Last updated as of Unicode 15.0.0 +Last updated as of Unicode 15.1.0 http://www.unicode.org/reports/tr44/ diff --git a/scripts/CJKRadicals.zig b/scripts/CJKRadicals.zig index eec229b33506136eb36bd0565dfac0002bf3b542..e8e0350887caee051193d616a29d103480047778 100644 --- a/scripts/CJKRadicals.zig +++ b/scripts/CJKRadicals.zig @@ -10,7 +10,7 @@ pub usingnamespace common.Main(struct { \\pub const CJKRadical = struct { \\ number: u8, \\ simplified: bool, - \\ character: u21, + \\ character: ?u21, \\ ideograph: u21, \\}; \\ @@ -25,13 +25,19 @@ pub usingnamespace common.Main(struct { pub fn exec(alloc: std.mem.Allocator, line: []const u8, writer: anytype) !void { _ = alloc; - var it = std.mem.tokenize(u8, line, "; "); + var it = std.mem.splitSequence(u8, line, "; "); var n = it.next().?; const s = std.mem.endsWith(u8, n, "'"); const c = it.next().?; const i = it.next().?; n = std.mem.trimRight(u8, n, "'"); - try writer.print(" .{{ .number = {s}, .simplified = {}, .character = 0x{s}, .ideograph = 0x{s} }},\n", .{ n, s, c, i }); + try writer.writeAll(" .{"); + try writer.print(" .number = {s},", .{n}); + try writer.print(" .simplified = {},", .{s}); + try writer.writeAll(" .character ="); + if (common.nullify(c)) |res| try common.printCodepoint(writer, res) else try writer.writeAll(" null,"); + try writer.print(" .ideograph = 0x{s}", .{i}); + try writer.writeAll(" },\n"); } }); diff --git a/scripts/DerivedCoreProperties.zig b/scripts/DerivedCoreProperties.zig index 850fd05a43dc577980cea1aabb4a358092b0496d..69b9061c3f189484e0c8f470b6c6980fe0276424 100644 --- a/scripts/DerivedCoreProperties.zig +++ b/scripts/DerivedCoreProperties.zig @@ -30,6 +30,7 @@ pub usingnamespace common.Main(struct { \\ Grapheme_Extend, \\ Grapheme_Base, \\ Grapheme_Link, + \\ InCB, \\ }, \\}; \\ diff --git a/scripts/LineBreak.zig b/scripts/LineBreak.zig index f81527cc977e21e4dae3bee5f5ff413ce346bdbb..66a79014c0d4ad1b4f6966280136c976c0532954 100644 --- a/scripts/LineBreak.zig +++ b/scripts/LineBreak.zig @@ -16,6 +16,7 @@ pub usingnamespace common.Main(struct { \\ EM, EX, H2, H3, HL, HY, ID, IN, IS, JL, \\ JT, JV, NS, NU, OP, PO, PR, QU, RI, SA, \\ SG, SY, XX, + \\ AK, VI, AS, VF, AP, \\ }, \\}; \\ diff --git a/scripts/PropList.zig b/scripts/PropList.zig index 1541b8823dfee5be68e71388a4ccef99e102bd6d..c06283edabf36a74fa6440b2b8fd7437681c67d7 100644 --- a/scripts/PropList.zig +++ b/scripts/PropList.zig @@ -45,6 +45,9 @@ pub usingnamespace common.Main(struct { \\ Pattern_Syntax, \\ Prepended_Concatenation_Mark, \\ Regional_Indicator, + \\ IDS_Unary_Operator, + \\ ID_Compat_Math_Continue, + \\ ID_Compat_Math_Start, \\ }, \\}; \\ diff --git a/scripts/_common.zig b/scripts/_common.zig index 842ea4148dc3db4cab374adb265711be7f13e133..458f178fcedf5256592fc0d2440134d3f138c352 100644 --- a/scripts/_common.zig +++ b/scripts/_common.zig @@ -3,7 +3,7 @@ const zfetch = @import("zfetch"); const fmtValueLiteral = @import("fmt-valueliteral").fmtValueLiteral; const ansi = @import("ansi"); -pub const version = "15.0.0"; +pub const version = "15.1.0"; pub fn Main(comptime T: type) type { comptime std.debug.assert(@hasDecl(T, "source_file")); diff --git a/src/arabic_shaping.zig b/src/arabic_shaping.zig index 3f33cb3c65482b87df81f1d37a2a9ba6d74bb9e7..2349e0f7e0bfcc4b961d2b7e3fedff00ee480b2b 100644 --- a/src/arabic_shaping.zig +++ b/src/arabic_shaping.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/ArabicShaping.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/ArabicShaping.txt // // zig fmt: off diff --git a/src/bidi_brackets.zig b/src/bidi_brackets.zig index cf55204b1ff91d9c3c6e99a48154ef6f65feab92..7172c4f92dcce82cefbe1c693e58329bdd63149b 100644 --- a/src/bidi_brackets.zig +++ b/src/bidi_brackets.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/BidiBrackets.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/BidiBrackets.txt // // zig fmt: off diff --git a/src/bidi_mirroring.zig b/src/bidi_mirroring.zig index 742dd11b9b20ff62a76570b6c1c1a9e76df20f6a..23014305c43cc000d6de182751290439f6078fc7 100644 --- a/src/bidi_mirroring.zig +++ b/src/bidi_mirroring.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/BidiMirroring.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/BidiMirroring.txt // // zig fmt: off diff --git a/src/blocks.zig b/src/blocks.zig index 4bcd5517f45501bae4eaebffb11f0ef7da2da7d4..b68ee6b9e874c72dd76870d3cc90f979cd7164d2 100644 --- a/src/blocks.zig +++ b/src/blocks.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/Blocks.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/Blocks.txt // // zig fmt: off @@ -332,6 +332,7 @@ pub const data = [_]Block{ .{ .from = 0x2B740, .to = 0x2B81F, .name = "CJK Unified Ideographs Extension D" }, .{ .from = 0x2B820, .to = 0x2CEAF, .name = "CJK Unified Ideographs Extension E" }, .{ .from = 0x2CEB0, .to = 0x2EBEF, .name = "CJK Unified Ideographs Extension F" }, + .{ .from = 0x2EBF0, .to = 0x2EE5F, .name = "CJK Unified Ideographs Extension I" }, .{ .from = 0x2F800, .to = 0x2FA1F, .name = "CJK Compatibility Ideographs Supplement" }, .{ .from = 0x30000, .to = 0x3134F, .name = "CJK Unified Ideographs Extension G" }, .{ .from = 0x31350, .to = 0x323AF, .name = "CJK Unified Ideographs Extension H" }, diff --git a/src/case_folding.zig b/src/case_folding.zig index 7b5527e68482e9178d38811a32e2059ca30c616b..f1badd05618da51d29dbb9b951f07ea626969efc 100644 --- a/src/case_folding.zig +++ b/src/case_folding.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/CaseFolding.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/CaseFolding.txt // // zig fmt: off @@ -895,6 +895,7 @@ pub const data = [_]CaseFolding{ .{ .code = 0x1FCC, .status = .S, .mapping = .{ .S = 0x1FC3 } }, .{ .code = 0x1FD2, .status = .F, .mapping = .{ .F = &[_]u21{0x03B9,0x0308,0x0300,} } }, .{ .code = 0x1FD3, .status = .F, .mapping = .{ .F = &[_]u21{0x03B9,0x0308,0x0301,} } }, + .{ .code = 0x1FD3, .status = .S, .mapping = .{ .S = 0x0390 } }, .{ .code = 0x1FD6, .status = .F, .mapping = .{ .F = &[_]u21{0x03B9,0x0342,} } }, .{ .code = 0x1FD7, .status = .F, .mapping = .{ .F = &[_]u21{0x03B9,0x0308,0x0342,} } }, .{ .code = 0x1FD8, .status = .C, .mapping = .{ .C = 0x1FD0 } }, @@ -903,6 +904,7 @@ pub const data = [_]CaseFolding{ .{ .code = 0x1FDB, .status = .C, .mapping = .{ .C = 0x1F77 } }, .{ .code = 0x1FE2, .status = .F, .mapping = .{ .F = &[_]u21{0x03C5,0x0308,0x0300,} } }, .{ .code = 0x1FE3, .status = .F, .mapping = .{ .F = &[_]u21{0x03C5,0x0308,0x0301,} } }, + .{ .code = 0x1FE3, .status = .S, .mapping = .{ .S = 0x03B0 } }, .{ .code = 0x1FE4, .status = .F, .mapping = .{ .F = &[_]u21{0x03C1,0x0313,} } }, .{ .code = 0x1FE6, .status = .F, .mapping = .{ .F = &[_]u21{0x03C5,0x0342,} } }, .{ .code = 0x1FE7, .status = .F, .mapping = .{ .F = &[_]u21{0x03C5,0x0308,0x0342,} } }, @@ -1294,6 +1296,7 @@ pub const data = [_]CaseFolding{ .{ .code = 0xFB03, .status = .F, .mapping = .{ .F = &[_]u21{0x0066,0x0066,0x0069,} } }, .{ .code = 0xFB04, .status = .F, .mapping = .{ .F = &[_]u21{0x0066,0x0066,0x006C,} } }, .{ .code = 0xFB05, .status = .F, .mapping = .{ .F = &[_]u21{0x0073,0x0074,} } }, + .{ .code = 0xFB05, .status = .S, .mapping = .{ .S = 0xFB06 } }, .{ .code = 0xFB06, .status = .F, .mapping = .{ .F = &[_]u21{0x0073,0x0074,} } }, .{ .code = 0xFB13, .status = .F, .mapping = .{ .F = &[_]u21{0x0574,0x0576,} } }, .{ .code = 0xFB14, .status = .F, .mapping = .{ .F = &[_]u21{0x0574,0x0565,} } }, diff --git a/src/cjk_radicals.zig b/src/cjk_radicals.zig index c371bfc60c1044a655e4b9cedcc51b135bc0fd9e..edfd9436d97bbf3341beabe79d840adec36b182a 100644 --- a/src/cjk_radicals.zig +++ b/src/cjk_radicals.zig @@ -1,14 +1,14 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/CJKRadicals.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/CJKRadicals.txt // // zig fmt: off pub const CJKRadical = struct { number: u8, simplified: bool, - character: u21, + character: ?u21, ideograph: u21, }; @@ -181,7 +181,6 @@ pub const data = [_]CJKRadical{ .{ .number = 160, .simplified = false, .character = 0x2F9F, .ideograph = 0x8F9B }, .{ .number = 161, .simplified = false, .character = 0x2FA0, .ideograph = 0x8FB0 }, .{ .number = 162, .simplified = false, .character = 0x2FA1, .ideograph = 0x8FB5 }, - .{ .number = 162, .simplified = true, .character = 0x2ECC, .ideograph = 0x8FB6 }, .{ .number = 163, .simplified = false, .character = 0x2FA2, .ideograph = 0x9091 }, .{ .number = 164, .simplified = false, .character = 0x2FA3, .ideograph = 0x9149 }, .{ .number = 165, .simplified = false, .character = 0x2FA4, .ideograph = 0x91C6 }, @@ -208,6 +207,7 @@ pub const data = [_]CJKRadical{ .{ .number = 181, .simplified = true, .character = 0x2EDA, .ideograph = 0x9875 }, .{ .number = 182, .simplified = false, .character = 0x2FB5, .ideograph = 0x98A8 }, .{ .number = 182, .simplified = true, .character = 0x2EDB, .ideograph = 0x98CE }, + .{ .number = 182, .simplified = true, .character = null, .ideograph = 0x322C4 }, .{ .number = 183, .simplified = false, .character = 0x2FB6, .ideograph = 0x98DB }, .{ .number = 183, .simplified = true, .character = 0x2EDC, .ideograph = 0x98DE }, .{ .number = 184, .simplified = false, .character = 0x2FB7, .ideograph = 0x98DF }, @@ -243,14 +243,19 @@ pub const data = [_]CJKRadical{ .{ .number = 206, .simplified = false, .character = 0x2FCD, .ideograph = 0x9F0E }, .{ .number = 207, .simplified = false, .character = 0x2FCE, .ideograph = 0x9F13 }, .{ .number = 208, .simplified = false, .character = 0x2FCF, .ideograph = 0x9F20 }, + .{ .number = 208, .simplified = true, .character = null, .ideograph = 0x9F21 }, .{ .number = 209, .simplified = false, .character = 0x2FD0, .ideograph = 0x9F3B }, .{ .number = 210, .simplified = false, .character = 0x2FD1, .ideograph = 0x9F4A }, .{ .number = 210, .simplified = true, .character = 0x2EEC, .ideograph = 0x9F50 }, + .{ .number = 210, .simplified = true, .character = 0x2EEB, .ideograph = 0x6589 }, .{ .number = 211, .simplified = false, .character = 0x2FD2, .ideograph = 0x9F52 }, .{ .number = 211, .simplified = true, .character = 0x2EEE, .ideograph = 0x9F7F }, + .{ .number = 211, .simplified = true, .character = 0x2EED, .ideograph = 0x6B6F }, .{ .number = 212, .simplified = false, .character = 0x2FD3, .ideograph = 0x9F8D }, .{ .number = 212, .simplified = true, .character = 0x2EF0, .ideograph = 0x9F99 }, + .{ .number = 212, .simplified = true, .character = 0x2EEF, .ideograph = 0x7ADC }, .{ .number = 213, .simplified = false, .character = 0x2FD4, .ideograph = 0x9F9C }, .{ .number = 213, .simplified = true, .character = 0x2EF3, .ideograph = 0x9F9F }, + .{ .number = 213, .simplified = true, .character = 0x2EF2, .ideograph = 0x4E80 }, .{ .number = 214, .simplified = false, .character = 0x2FD5, .ideograph = 0x9FA0 }, }; diff --git a/src/composition_exclusions.zig b/src/composition_exclusions.zig index 6cabd1fb867ead4281680c18668ac1d624e8fc81..63b7efa389795de4001288b2fe9a339726328a8c 100644 --- a/src/composition_exclusions.zig +++ b/src/composition_exclusions.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/CompositionExclusions.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/CompositionExclusions.txt // // zig fmt: off diff --git a/src/derived_age.zig b/src/derived_age.zig index a395034c0f810612e6dd3f7e8271a97b94476068..5dc71666d2ee9db6ccb2e90b5c848a484bbcbc9c 100644 --- a/src/derived_age.zig +++ b/src/derived_age.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/DerivedAge.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/DerivedAge.txt // // zig fmt: off @@ -1730,4 +1730,7 @@ pub const data = [_]Age{ .{ .from = 0x1FAF7, .to = 0x1FAF8, .since = .{ 15,0 } }, .{ .from = 0x2B739, .to = 0x2B739, .since = .{ 15,0 } }, .{ .from = 0x31350, .to = 0x323AF, .since = .{ 15,0 } }, + .{ .from = 0x2FFC, .to = 0x2FFF, .since = .{ 15,1 } }, + .{ .from = 0x31EF, .to = 0x31EF, .since = .{ 15,1 } }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .since = .{ 15,1 } }, }; diff --git a/src/derived_core_properties.zig b/src/derived_core_properties.zig index 85e08388d3d33590c606f914872c764ffe84641e..d1e467a5b47c854c2c4cc5dfe82079b8de11f201 100644 --- a/src/derived_core_properties.zig +++ b/src/derived_core_properties.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/DerivedCoreProperties.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/DerivedCoreProperties.txt // // zig fmt: off @@ -28,6 +28,7 @@ pub const CoreProperty = struct { Grapheme_Extend, Grapheme_Base, Grapheme_Link, + InCB, }, }; @@ -1409,6 +1410,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x2B740, .to = 0x2B81D, .prop = .Alphabetic }, .{ .from = 0x2B820, .to = 0x2CEA1, .prop = .Alphabetic }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .prop = .Alphabetic }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .prop = .Alphabetic }, .{ .from = 0x2F800, .to = 0x2FA1D, .prop = .Alphabetic }, .{ .from = 0x30000, .to = 0x3134A, .prop = .Alphabetic }, .{ .from = 0x31350, .to = 0x323AF, .prop = .Alphabetic }, @@ -6765,6 +6767,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x2B740, .to = 0x2B81D, .prop = .ID_Start }, .{ .from = 0x2B820, .to = 0x2CEA1, .prop = .ID_Start }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .prop = .ID_Start }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .prop = .ID_Start }, .{ .from = 0x2F800, .to = 0x2FA1D, .prop = .ID_Start }, .{ .from = 0x30000, .to = 0x3134A, .prop = .ID_Start }, .{ .from = 0x31350, .to = 0x323AF, .prop = .ID_Start }, @@ -7335,6 +7338,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x1FE0, .to = 0x1FEC, .prop = .ID_Continue }, .{ .from = 0x1FF2, .to = 0x1FF4, .prop = .ID_Continue }, .{ .from = 0x1FF6, .to = 0x1FFC, .prop = .ID_Continue }, + .{ .from = 0x200C, .to = 0x200D, .prop = .ID_Continue }, .{ .from = 0x203F, .to = 0x2040, .prop = .ID_Continue }, .{ .from = 0x2054, .to = 0x2054, .prop = .ID_Continue }, .{ .from = 0x2071, .to = 0x2071, .prop = .ID_Continue }, @@ -7401,6 +7405,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x309D, .to = 0x309E, .prop = .ID_Continue }, .{ .from = 0x309F, .to = 0x309F, .prop = .ID_Continue }, .{ .from = 0x30A1, .to = 0x30FA, .prop = .ID_Continue }, + .{ .from = 0x30FB, .to = 0x30FB, .prop = .ID_Continue }, .{ .from = 0x30FC, .to = 0x30FE, .prop = .ID_Continue }, .{ .from = 0x30FF, .to = 0x30FF, .prop = .ID_Continue }, .{ .from = 0x3105, .to = 0x312F, .prop = .ID_Continue }, @@ -7580,6 +7585,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0xFF21, .to = 0xFF3A, .prop = .ID_Continue }, .{ .from = 0xFF3F, .to = 0xFF3F, .prop = .ID_Continue }, .{ .from = 0xFF41, .to = 0xFF5A, .prop = .ID_Continue }, + .{ .from = 0xFF65, .to = 0xFF65, .prop = .ID_Continue }, .{ .from = 0xFF66, .to = 0xFF6F, .prop = .ID_Continue }, .{ .from = 0xFF70, .to = 0xFF70, .prop = .ID_Continue }, .{ .from = 0xFF71, .to = 0xFF9D, .prop = .ID_Continue }, @@ -8104,6 +8110,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x2B740, .to = 0x2B81D, .prop = .ID_Continue }, .{ .from = 0x2B820, .to = 0x2CEA1, .prop = .ID_Continue }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .prop = .ID_Continue }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .prop = .ID_Continue }, .{ .from = 0x2F800, .to = 0x2FA1D, .prop = .ID_Continue }, .{ .from = 0x30000, .to = 0x3134A, .prop = .ID_Continue }, .{ .from = 0x31350, .to = 0x323AF, .prop = .ID_Continue }, @@ -8847,6 +8854,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x2B740, .to = 0x2B81D, .prop = .XID_Start }, .{ .from = 0x2B820, .to = 0x2CEA1, .prop = .XID_Start }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .prop = .XID_Start }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .prop = .XID_Start }, .{ .from = 0x2F800, .to = 0x2FA1D, .prop = .XID_Start }, .{ .from = 0x30000, .to = 0x3134A, .prop = .XID_Start }, .{ .from = 0x31350, .to = 0x323AF, .prop = .XID_Start }, @@ -9416,6 +9424,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x1FE0, .to = 0x1FEC, .prop = .XID_Continue }, .{ .from = 0x1FF2, .to = 0x1FF4, .prop = .XID_Continue }, .{ .from = 0x1FF6, .to = 0x1FFC, .prop = .XID_Continue }, + .{ .from = 0x200C, .to = 0x200D, .prop = .XID_Continue }, .{ .from = 0x203F, .to = 0x2040, .prop = .XID_Continue }, .{ .from = 0x2054, .to = 0x2054, .prop = .XID_Continue }, .{ .from = 0x2071, .to = 0x2071, .prop = .XID_Continue }, @@ -9481,6 +9490,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x309D, .to = 0x309E, .prop = .XID_Continue }, .{ .from = 0x309F, .to = 0x309F, .prop = .XID_Continue }, .{ .from = 0x30A1, .to = 0x30FA, .prop = .XID_Continue }, + .{ .from = 0x30FB, .to = 0x30FB, .prop = .XID_Continue }, .{ .from = 0x30FC, .to = 0x30FE, .prop = .XID_Continue }, .{ .from = 0x30FF, .to = 0x30FF, .prop = .XID_Continue }, .{ .from = 0x3105, .to = 0x312F, .prop = .XID_Continue }, @@ -9666,6 +9676,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0xFF21, .to = 0xFF3A, .prop = .XID_Continue }, .{ .from = 0xFF3F, .to = 0xFF3F, .prop = .XID_Continue }, .{ .from = 0xFF41, .to = 0xFF5A, .prop = .XID_Continue }, + .{ .from = 0xFF65, .to = 0xFF65, .prop = .XID_Continue }, .{ .from = 0xFF66, .to = 0xFF6F, .prop = .XID_Continue }, .{ .from = 0xFF70, .to = 0xFF70, .prop = .XID_Continue }, .{ .from = 0xFF71, .to = 0xFF9D, .prop = .XID_Continue }, @@ -10190,6 +10201,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x2B740, .to = 0x2B81D, .prop = .XID_Continue }, .{ .from = 0x2B820, .to = 0x2CEA1, .prop = .XID_Continue }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .prop = .XID_Continue }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .prop = .XID_Continue }, .{ .from = 0x2F800, .to = 0x2FA1D, .prop = .XID_Continue }, .{ .from = 0x30000, .to = 0x3134A, .prop = .XID_Continue }, .{ .from = 0x31350, .to = 0x323AF, .prop = .XID_Continue }, @@ -11440,7 +11452,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x2E80, .to = 0x2E99, .prop = .Grapheme_Base }, .{ .from = 0x2E9B, .to = 0x2EF3, .prop = .Grapheme_Base }, .{ .from = 0x2F00, .to = 0x2FD5, .prop = .Grapheme_Base }, - .{ .from = 0x2FF0, .to = 0x2FFB, .prop = .Grapheme_Base }, + .{ .from = 0x2FF0, .to = 0x2FFF, .prop = .Grapheme_Base }, .{ .from = 0x3000, .to = 0x3000, .prop = .Grapheme_Base }, .{ .from = 0x3001, .to = 0x3003, .prop = .Grapheme_Base }, .{ .from = 0x3004, .to = 0x3004, .prop = .Grapheme_Base }, @@ -11495,6 +11507,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x3196, .to = 0x319F, .prop = .Grapheme_Base }, .{ .from = 0x31A0, .to = 0x31BF, .prop = .Grapheme_Base }, .{ .from = 0x31C0, .to = 0x31E3, .prop = .Grapheme_Base }, + .{ .from = 0x31EF, .to = 0x31EF, .prop = .Grapheme_Base }, .{ .from = 0x31F0, .to = 0x31FF, .prop = .Grapheme_Base }, .{ .from = 0x3200, .to = 0x321E, .prop = .Grapheme_Base }, .{ .from = 0x3220, .to = 0x3229, .prop = .Grapheme_Base }, @@ -12335,6 +12348,7 @@ pub const data = [_]CoreProperty{ .{ .from = 0x2B740, .to = 0x2B81D, .prop = .Grapheme_Base }, .{ .from = 0x2B820, .to = 0x2CEA1, .prop = .Grapheme_Base }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .prop = .Grapheme_Base }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .prop = .Grapheme_Base }, .{ .from = 0x2F800, .to = 0x2FA1D, .prop = .Grapheme_Base }, .{ .from = 0x30000, .to = 0x3134A, .prop = .Grapheme_Base }, .{ .from = 0x31350, .to = 0x323AF, .prop = .Grapheme_Base }, @@ -12398,4 +12412,206 @@ pub const data = [_]CoreProperty{ .{ .from = 0x11D97, .to = 0x11D97, .prop = .Grapheme_Link }, .{ .from = 0x11F41, .to = 0x11F41, .prop = .Grapheme_Link }, .{ .from = 0x11F42, .to = 0x11F42, .prop = .Grapheme_Link }, + .{ .from = 0x094D, .to = 0x094D, .prop = .InCB }, + .{ .from = 0x09CD, .to = 0x09CD, .prop = .InCB }, + .{ .from = 0x0ACD, .to = 0x0ACD, .prop = .InCB }, + .{ .from = 0x0B4D, .to = 0x0B4D, .prop = .InCB }, + .{ .from = 0x0C4D, .to = 0x0C4D, .prop = .InCB }, + .{ .from = 0x0D4D, .to = 0x0D4D, .prop = .InCB }, + .{ .from = 0x0915, .to = 0x0939, .prop = .InCB }, + .{ .from = 0x0958, .to = 0x095F, .prop = .InCB }, + .{ .from = 0x0978, .to = 0x097F, .prop = .InCB }, + .{ .from = 0x0995, .to = 0x09A8, .prop = .InCB }, + .{ .from = 0x09AA, .to = 0x09B0, .prop = .InCB }, + .{ .from = 0x09B2, .to = 0x09B2, .prop = .InCB }, + .{ .from = 0x09B6, .to = 0x09B9, .prop = .InCB }, + .{ .from = 0x09DC, .to = 0x09DD, .prop = .InCB }, + .{ .from = 0x09DF, .to = 0x09DF, .prop = .InCB }, + .{ .from = 0x09F0, .to = 0x09F1, .prop = .InCB }, + .{ .from = 0x0A95, .to = 0x0AA8, .prop = .InCB }, + .{ .from = 0x0AAA, .to = 0x0AB0, .prop = .InCB }, + .{ .from = 0x0AB2, .to = 0x0AB3, .prop = .InCB }, + .{ .from = 0x0AB5, .to = 0x0AB9, .prop = .InCB }, + .{ .from = 0x0AF9, .to = 0x0AF9, .prop = .InCB }, + .{ .from = 0x0B15, .to = 0x0B28, .prop = .InCB }, + .{ .from = 0x0B2A, .to = 0x0B30, .prop = .InCB }, + .{ .from = 0x0B32, .to = 0x0B33, .prop = .InCB }, + .{ .from = 0x0B35, .to = 0x0B39, .prop = .InCB }, + .{ .from = 0x0B5C, .to = 0x0B5D, .prop = .InCB }, + .{ .from = 0x0B5F, .to = 0x0B5F, .prop = .InCB }, + .{ .from = 0x0B71, .to = 0x0B71, .prop = .InCB }, + .{ .from = 0x0C15, .to = 0x0C28, .prop = .InCB }, + .{ .from = 0x0C2A, .to = 0x0C39, .prop = .InCB }, + .{ .from = 0x0C58, .to = 0x0C5A, .prop = .InCB }, + .{ .from = 0x0D15, .to = 0x0D3A, .prop = .InCB }, + .{ .from = 0x0300, .to = 0x034E, .prop = .InCB }, + .{ .from = 0x0350, .to = 0x036F, .prop = .InCB }, + .{ .from = 0x0483, .to = 0x0487, .prop = .InCB }, + .{ .from = 0x0591, .to = 0x05BD, .prop = .InCB }, + .{ .from = 0x05BF, .to = 0x05BF, .prop = .InCB }, + .{ .from = 0x05C1, .to = 0x05C2, .prop = .InCB }, + .{ .from = 0x05C4, .to = 0x05C5, .prop = .InCB }, + .{ .from = 0x05C7, .to = 0x05C7, .prop = .InCB }, + .{ .from = 0x0610, .to = 0x061A, .prop = .InCB }, + .{ .from = 0x064B, .to = 0x065F, .prop = .InCB }, + .{ .from = 0x0670, .to = 0x0670, .prop = .InCB }, + .{ .from = 0x06D6, .to = 0x06DC, .prop = .InCB }, + .{ .from = 0x06DF, .to = 0x06E4, .prop = .InCB }, + .{ .from = 0x06E7, .to = 0x06E8, .prop = .InCB }, + .{ .from = 0x06EA, .to = 0x06ED, .prop = .InCB }, + .{ .from = 0x0711, .to = 0x0711, .prop = .InCB }, + .{ .from = 0x0730, .to = 0x074A, .prop = .InCB }, + .{ .from = 0x07EB, .to = 0x07F3, .prop = .InCB }, + .{ .from = 0x07FD, .to = 0x07FD, .prop = .InCB }, + .{ .from = 0x0816, .to = 0x0819, .prop = .InCB }, + .{ .from = 0x081B, .to = 0x0823, .prop = .InCB }, + .{ .from = 0x0825, .to = 0x0827, .prop = .InCB }, + .{ .from = 0x0829, .to = 0x082D, .prop = .InCB }, + .{ .from = 0x0859, .to = 0x085B, .prop = .InCB }, + .{ .from = 0x0898, .to = 0x089F, .prop = .InCB }, + .{ .from = 0x08CA, .to = 0x08E1, .prop = .InCB }, + .{ .from = 0x08E3, .to = 0x08FF, .prop = .InCB }, + .{ .from = 0x093C, .to = 0x093C, .prop = .InCB }, + .{ .from = 0x0951, .to = 0x0954, .prop = .InCB }, + .{ .from = 0x09BC, .to = 0x09BC, .prop = .InCB }, + .{ .from = 0x09FE, .to = 0x09FE, .prop = .InCB }, + .{ .from = 0x0A3C, .to = 0x0A3C, .prop = .InCB }, + .{ .from = 0x0ABC, .to = 0x0ABC, .prop = .InCB }, + .{ .from = 0x0B3C, .to = 0x0B3C, .prop = .InCB }, + .{ .from = 0x0C3C, .to = 0x0C3C, .prop = .InCB }, + .{ .from = 0x0C55, .to = 0x0C56, .prop = .InCB }, + .{ .from = 0x0CBC, .to = 0x0CBC, .prop = .InCB }, + .{ .from = 0x0D3B, .to = 0x0D3C, .prop = .InCB }, + .{ .from = 0x0E38, .to = 0x0E3A, .prop = .InCB }, + .{ .from = 0x0E48, .to = 0x0E4B, .prop = .InCB }, + .{ .from = 0x0EB8, .to = 0x0EBA, .prop = .InCB }, + .{ .from = 0x0EC8, .to = 0x0ECB, .prop = .InCB }, + .{ .from = 0x0F18, .to = 0x0F19, .prop = .InCB }, + .{ .from = 0x0F35, .to = 0x0F35, .prop = .InCB }, + .{ .from = 0x0F37, .to = 0x0F37, .prop = .InCB }, + .{ .from = 0x0F39, .to = 0x0F39, .prop = .InCB }, + .{ .from = 0x0F71, .to = 0x0F72, .prop = .InCB }, + .{ .from = 0x0F74, .to = 0x0F74, .prop = .InCB }, + .{ .from = 0x0F7A, .to = 0x0F7D, .prop = .InCB }, + .{ .from = 0x0F80, .to = 0x0F80, .prop = .InCB }, + .{ .from = 0x0F82, .to = 0x0F84, .prop = .InCB }, + .{ .from = 0x0F86, .to = 0x0F87, .prop = .InCB }, + .{ .from = 0x0FC6, .to = 0x0FC6, .prop = .InCB }, + .{ .from = 0x1037, .to = 0x1037, .prop = .InCB }, + .{ .from = 0x1039, .to = 0x103A, .prop = .InCB }, + .{ .from = 0x108D, .to = 0x108D, .prop = .InCB }, + .{ .from = 0x135D, .to = 0x135F, .prop = .InCB }, + .{ .from = 0x1714, .to = 0x1714, .prop = .InCB }, + .{ .from = 0x17D2, .to = 0x17D2, .prop = .InCB }, + .{ .from = 0x17DD, .to = 0x17DD, .prop = .InCB }, + .{ .from = 0x18A9, .to = 0x18A9, .prop = .InCB }, + .{ .from = 0x1939, .to = 0x193B, .prop = .InCB }, + .{ .from = 0x1A17, .to = 0x1A18, .prop = .InCB }, + .{ .from = 0x1A60, .to = 0x1A60, .prop = .InCB }, + .{ .from = 0x1A75, .to = 0x1A7C, .prop = .InCB }, + .{ .from = 0x1A7F, .to = 0x1A7F, .prop = .InCB }, + .{ .from = 0x1AB0, .to = 0x1ABD, .prop = .InCB }, + .{ .from = 0x1ABF, .to = 0x1ACE, .prop = .InCB }, + .{ .from = 0x1B34, .to = 0x1B34, .prop = .InCB }, + .{ .from = 0x1B6B, .to = 0x1B73, .prop = .InCB }, + .{ .from = 0x1BAB, .to = 0x1BAB, .prop = .InCB }, + .{ .from = 0x1BE6, .to = 0x1BE6, .prop = .InCB }, + .{ .from = 0x1C37, .to = 0x1C37, .prop = .InCB }, + .{ .from = 0x1CD0, .to = 0x1CD2, .prop = .InCB }, + .{ .from = 0x1CD4, .to = 0x1CE0, .prop = .InCB }, + .{ .from = 0x1CE2, .to = 0x1CE8, .prop = .InCB }, + .{ .from = 0x1CED, .to = 0x1CED, .prop = .InCB }, + .{ .from = 0x1CF4, .to = 0x1CF4, .prop = .InCB }, + .{ .from = 0x1CF8, .to = 0x1CF9, .prop = .InCB }, + .{ .from = 0x1DC0, .to = 0x1DFF, .prop = .InCB }, + .{ .from = 0x200D, .to = 0x200D, .prop = .InCB }, + .{ .from = 0x20D0, .to = 0x20DC, .prop = .InCB }, + .{ .from = 0x20E1, .to = 0x20E1, .prop = .InCB }, + .{ .from = 0x20E5, .to = 0x20F0, .prop = .InCB }, + .{ .from = 0x2CEF, .to = 0x2CF1, .prop = .InCB }, + .{ .from = 0x2D7F, .to = 0x2D7F, .prop = .InCB }, + .{ .from = 0x2DE0, .to = 0x2DFF, .prop = .InCB }, + .{ .from = 0x302A, .to = 0x302D, .prop = .InCB }, + .{ .from = 0x302E, .to = 0x302F, .prop = .InCB }, + .{ .from = 0x3099, .to = 0x309A, .prop = .InCB }, + .{ .from = 0xA66F, .to = 0xA66F, .prop = .InCB }, + .{ .from = 0xA674, .to = 0xA67D, .prop = .InCB }, + .{ .from = 0xA69E, .to = 0xA69F, .prop = .InCB }, + .{ .from = 0xA6F0, .to = 0xA6F1, .prop = .InCB }, + .{ .from = 0xA82C, .to = 0xA82C, .prop = .InCB }, + .{ .from = 0xA8E0, .to = 0xA8F1, .prop = .InCB }, + .{ .from = 0xA92B, .to = 0xA92D, .prop = .InCB }, + .{ .from = 0xA9B3, .to = 0xA9B3, .prop = .InCB }, + .{ .from = 0xAAB0, .to = 0xAAB0, .prop = .InCB }, + .{ .from = 0xAAB2, .to = 0xAAB4, .prop = .InCB }, + .{ .from = 0xAAB7, .to = 0xAAB8, .prop = .InCB }, + .{ .from = 0xAABE, .to = 0xAABF, .prop = .InCB }, + .{ .from = 0xAAC1, .to = 0xAAC1, .prop = .InCB }, + .{ .from = 0xAAF6, .to = 0xAAF6, .prop = .InCB }, + .{ .from = 0xABED, .to = 0xABED, .prop = .InCB }, + .{ .from = 0xFB1E, .to = 0xFB1E, .prop = .InCB }, + .{ .from = 0xFE20, .to = 0xFE2F, .prop = .InCB }, + .{ .from = 0x101FD, .to = 0x101FD, .prop = .InCB }, + .{ .from = 0x102E0, .to = 0x102E0, .prop = .InCB }, + .{ .from = 0x10376, .to = 0x1037A, .prop = .InCB }, + .{ .from = 0x10A0D, .to = 0x10A0D, .prop = .InCB }, + .{ .from = 0x10A0F, .to = 0x10A0F, .prop = .InCB }, + .{ .from = 0x10A38, .to = 0x10A3A, .prop = .InCB }, + .{ .from = 0x10A3F, .to = 0x10A3F, .prop = .InCB }, + .{ .from = 0x10AE5, .to = 0x10AE6, .prop = .InCB }, + .{ .from = 0x10D24, .to = 0x10D27, .prop = .InCB }, + .{ .from = 0x10EAB, .to = 0x10EAC, .prop = .InCB }, + .{ .from = 0x10EFD, .to = 0x10EFF, .prop = .InCB }, + .{ .from = 0x10F46, .to = 0x10F50, .prop = .InCB }, + .{ .from = 0x10F82, .to = 0x10F85, .prop = .InCB }, + .{ .from = 0x11070, .to = 0x11070, .prop = .InCB }, + .{ .from = 0x1107F, .to = 0x1107F, .prop = .InCB }, + .{ .from = 0x110BA, .to = 0x110BA, .prop = .InCB }, + .{ .from = 0x11100, .to = 0x11102, .prop = .InCB }, + .{ .from = 0x11133, .to = 0x11134, .prop = .InCB }, + .{ .from = 0x11173, .to = 0x11173, .prop = .InCB }, + .{ .from = 0x111CA, .to = 0x111CA, .prop = .InCB }, + .{ .from = 0x11236, .to = 0x11236, .prop = .InCB }, + .{ .from = 0x112E9, .to = 0x112EA, .prop = .InCB }, + .{ .from = 0x1133B, .to = 0x1133C, .prop = .InCB }, + .{ .from = 0x11366, .to = 0x1136C, .prop = .InCB }, + .{ .from = 0x11370, .to = 0x11374, .prop = .InCB }, + .{ .from = 0x11446, .to = 0x11446, .prop = .InCB }, + .{ .from = 0x1145E, .to = 0x1145E, .prop = .InCB }, + .{ .from = 0x114C3, .to = 0x114C3, .prop = .InCB }, + .{ .from = 0x115C0, .to = 0x115C0, .prop = .InCB }, + .{ .from = 0x116B7, .to = 0x116B7, .prop = .InCB }, + .{ .from = 0x1172B, .to = 0x1172B, .prop = .InCB }, + .{ .from = 0x1183A, .to = 0x1183A, .prop = .InCB }, + .{ .from = 0x1193E, .to = 0x1193E, .prop = .InCB }, + .{ .from = 0x11943, .to = 0x11943, .prop = .InCB }, + .{ .from = 0x11A34, .to = 0x11A34, .prop = .InCB }, + .{ .from = 0x11A47, .to = 0x11A47, .prop = .InCB }, + .{ .from = 0x11A99, .to = 0x11A99, .prop = .InCB }, + .{ .from = 0x11D42, .to = 0x11D42, .prop = .InCB }, + .{ .from = 0x11D44, .to = 0x11D45, .prop = .InCB }, + .{ .from = 0x11D97, .to = 0x11D97, .prop = .InCB }, + .{ .from = 0x11F42, .to = 0x11F42, .prop = .InCB }, + .{ .from = 0x16AF0, .to = 0x16AF4, .prop = .InCB }, + .{ .from = 0x16B30, .to = 0x16B36, .prop = .InCB }, + .{ .from = 0x1BC9E, .to = 0x1BC9E, .prop = .InCB }, + .{ .from = 0x1D165, .to = 0x1D165, .prop = .InCB }, + .{ .from = 0x1D167, .to = 0x1D169, .prop = .InCB }, + .{ .from = 0x1D16E, .to = 0x1D172, .prop = .InCB }, + .{ .from = 0x1D17B, .to = 0x1D182, .prop = .InCB }, + .{ .from = 0x1D185, .to = 0x1D18B, .prop = .InCB }, + .{ .from = 0x1D1AA, .to = 0x1D1AD, .prop = .InCB }, + .{ .from = 0x1D242, .to = 0x1D244, .prop = .InCB }, + .{ .from = 0x1E000, .to = 0x1E006, .prop = .InCB }, + .{ .from = 0x1E008, .to = 0x1E018, .prop = .InCB }, + .{ .from = 0x1E01B, .to = 0x1E021, .prop = .InCB }, + .{ .from = 0x1E023, .to = 0x1E024, .prop = .InCB }, + .{ .from = 0x1E026, .to = 0x1E02A, .prop = .InCB }, + .{ .from = 0x1E08F, .to = 0x1E08F, .prop = .InCB }, + .{ .from = 0x1E130, .to = 0x1E136, .prop = .InCB }, + .{ .from = 0x1E2AE, .to = 0x1E2AE, .prop = .InCB }, + .{ .from = 0x1E2EC, .to = 0x1E2EF, .prop = .InCB }, + .{ .from = 0x1E4EC, .to = 0x1E4EF, .prop = .InCB }, + .{ .from = 0x1E8D0, .to = 0x1E8D6, .prop = .InCB }, + .{ .from = 0x1E944, .to = 0x1E94A, .prop = .InCB }, }; diff --git a/src/east_asian_width.zig b/src/east_asian_width.zig index 35b9e0ccebfa2bd710c2ba4f8aa865af2f5fcd6c..110682fe3d6a4e728312e6ef42b5ae205b95f303 100644 --- a/src/east_asian_width.zig +++ b/src/east_asian_width.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/EastAsianWidth.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/EastAsianWidth.txt // // zig fmt: off @@ -1402,7 +1402,7 @@ pub const data = [_]EastAsianWidth{ .{ .from = 0x2E80, .to = 0x2E99, .prop = .W }, .{ .from = 0x2E9B, .to = 0x2EF3, .prop = .W }, .{ .from = 0x2F00, .to = 0x2FD5, .prop = .W }, - .{ .from = 0x2FF0, .to = 0x2FFB, .prop = .W }, + .{ .from = 0x2FF0, .to = 0x2FFF, .prop = .W }, .{ .from = 0x3000, .to = 0x3000, .prop = .F }, .{ .from = 0x3001, .to = 0x3003, .prop = .W }, .{ .from = 0x3004, .to = 0x3004, .prop = .W }, @@ -1461,6 +1461,7 @@ pub const data = [_]EastAsianWidth{ .{ .from = 0x3196, .to = 0x319F, .prop = .W }, .{ .from = 0x31A0, .to = 0x31BF, .prop = .W }, .{ .from = 0x31C0, .to = 0x31E3, .prop = .W }, + .{ .from = 0x31EF, .to = 0x31EF, .prop = .W }, .{ .from = 0x31F0, .to = 0x31FF, .prop = .W }, .{ .from = 0x3200, .to = 0x321E, .prop = .W }, .{ .from = 0x3220, .to = 0x3229, .prop = .W }, @@ -2574,7 +2575,9 @@ pub const data = [_]EastAsianWidth{ .{ .from = 0x2B820, .to = 0x2CEA1, .prop = .W }, .{ .from = 0x2CEA2, .to = 0x2CEAF, .prop = .W }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .prop = .W }, - .{ .from = 0x2EBE1, .to = 0x2F7FF, .prop = .W }, + .{ .from = 0x2EBE1, .to = 0x2EBEF, .prop = .W }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .prop = .W }, + .{ .from = 0x2EE5E, .to = 0x2F7FF, .prop = .W }, .{ .from = 0x2F800, .to = 0x2FA1D, .prop = .W }, .{ .from = 0x2FA1E, .to = 0x2FA1F, .prop = .W }, .{ .from = 0x2FA20, .to = 0x2FFFD, .prop = .W }, diff --git a/src/emoji.zig b/src/emoji.zig index 93f39d96077cd9ab79a3d8af9e68ce993245cd2a..a1360a92ba6016604ae9022b922550f82708e296 100644 --- a/src/emoji.zig +++ b/src/emoji.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/emoji/emoji-data.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/emoji/emoji-data.txt // // zig fmt: off diff --git a/src/emoji_sources.zig b/src/emoji_sources.zig index d8c9c5c83cc7017d8c5d81d9038b908d1eb09170..0511589464ce995017447840e3e351e8bb24019b 100644 --- a/src/emoji_sources.zig +++ b/src/emoji_sources.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/EmojiSources.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/EmojiSources.txt // // zig fmt: off diff --git a/src/equivalent_unified_ideograph.zig b/src/equivalent_unified_ideograph.zig index 26f7df4593a7111c0e9692ba269c96ed507ecb96..c7c2aa183735ff90a62eae196ca981b8b8d645d8 100644 --- a/src/equivalent_unified_ideograph.zig +++ b/src/equivalent_unified_ideograph.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/EquivalentUnifiedIdeograph.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/EquivalentUnifiedIdeograph.txt // // zig fmt: off diff --git a/src/hangul_syllable_type.zig b/src/hangul_syllable_type.zig index bae74f32201c2e356b065743a1b9165cf3d5c242..10db520b539208abbadf99d1dbdf69f2cb66a0c9 100644 --- a/src/hangul_syllable_type.zig +++ b/src/hangul_syllable_type.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/HangulSyllableType.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/HangulSyllableType.txt // // zig fmt: off diff --git a/src/indic_positional_category.zig b/src/indic_positional_category.zig index 70aaaebdbafff47ea997f182dea4af7040ba2136..bb2e2a05ff82408d0b05a9d6393d8ed3810fa7f9 100644 --- a/src/indic_positional_category.zig +++ b/src/indic_positional_category.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/IndicPositionalCategory.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/IndicPositionalCategory.txt // // zig fmt: off diff --git a/src/indic_syllabic_category.zig b/src/indic_syllabic_category.zig index e29e843ea1f79c688146776626347a57c598d87c..3f44837795014bd4bfc5db94e6f298119f6e1390 100644 --- a/src/indic_syllabic_category.zig +++ b/src/indic_syllabic_category.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/IndicSyllabicCategory.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/IndicSyllabicCategory.txt // // zig fmt: off diff --git a/src/jamo.zig b/src/jamo.zig index c36debc7bc9194692bb230aa467aa5ca28d69a06..f8d4dc3871c2a0cec8ff2999fe521f1823d43194 100644 --- a/src/jamo.zig +++ b/src/jamo.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/Jamo.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/Jamo.txt // // zig fmt: off diff --git a/src/line_break.zig b/src/line_break.zig index 6b3264e2e2660b6d30239f862391113461fbdf5d..9105829d70556418787f835614240fc6ac76fa4c 100644 --- a/src/line_break.zig +++ b/src/line_break.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/LineBreak.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/LineBreak.txt // // zig fmt: off @@ -14,6 +14,7 @@ pub const LineBreak = struct { EM, EX, H2, H3, HL, HY, ID, IN, IS, JL, JT, JV, NS, NU, OP, PO, PR, QU, RI, SA, SG, SY, XX, + AK, VI, AS, VF, AP, }, }; @@ -172,7 +173,7 @@ pub const data = [_]LineBreak{ .{ .from = 0x05D0, .to = 0x05EA, .category = .HL }, .{ .from = 0x05EF, .to = 0x05F2, .category = .HL }, .{ .from = 0x05F3, .to = 0x05F4, .category = .AL }, - .{ .from = 0x0600, .to = 0x0605, .category = .AL }, + .{ .from = 0x0600, .to = 0x0605, .category = .NU }, .{ .from = 0x0606, .to = 0x0608, .category = .AL }, .{ .from = 0x0609, .to = 0x060A, .category = .PO }, .{ .from = 0x060B, .to = 0x060B, .category = .PO }, @@ -196,7 +197,7 @@ pub const data = [_]LineBreak{ .{ .from = 0x06D4, .to = 0x06D4, .category = .EX }, .{ .from = 0x06D5, .to = 0x06D5, .category = .AL }, .{ .from = 0x06D6, .to = 0x06DC, .category = .CM }, - .{ .from = 0x06DD, .to = 0x06DD, .category = .AL }, + .{ .from = 0x06DD, .to = 0x06DD, .category = .NU }, .{ .from = 0x06DE, .to = 0x06DE, .category = .AL }, .{ .from = 0x06DF, .to = 0x06E4, .category = .CM }, .{ .from = 0x06E5, .to = 0x06E6, .category = .AL }, @@ -246,12 +247,12 @@ pub const data = [_]LineBreak{ .{ .from = 0x0870, .to = 0x0887, .category = .AL }, .{ .from = 0x0888, .to = 0x0888, .category = .AL }, .{ .from = 0x0889, .to = 0x088E, .category = .AL }, - .{ .from = 0x0890, .to = 0x0891, .category = .AL }, + .{ .from = 0x0890, .to = 0x0891, .category = .NU }, .{ .from = 0x0898, .to = 0x089F, .category = .CM }, .{ .from = 0x08A0, .to = 0x08C8, .category = .AL }, .{ .from = 0x08C9, .to = 0x08C9, .category = .AL }, .{ .from = 0x08CA, .to = 0x08E1, .category = .CM }, - .{ .from = 0x08E2, .to = 0x08E2, .category = .AL }, + .{ .from = 0x08E2, .to = 0x08E2, .category = .NU }, .{ .from = 0x08E3, .to = 0x08FF, .category = .CM }, .{ .from = 0x0900, .to = 0x0902, .category = .CM }, .{ .from = 0x0903, .to = 0x0903, .category = .CM }, @@ -746,7 +747,7 @@ pub const data = [_]LineBreak{ .{ .from = 0x1ABF, .to = 0x1ACE, .category = .CM }, .{ .from = 0x1B00, .to = 0x1B03, .category = .CM }, .{ .from = 0x1B04, .to = 0x1B04, .category = .CM }, - .{ .from = 0x1B05, .to = 0x1B33, .category = .AL }, + .{ .from = 0x1B05, .to = 0x1B33, .category = .AK }, .{ .from = 0x1B34, .to = 0x1B34, .category = .CM }, .{ .from = 0x1B35, .to = 0x1B35, .category = .CM }, .{ .from = 0x1B36, .to = 0x1B3A, .category = .CM }, @@ -754,15 +755,16 @@ pub const data = [_]LineBreak{ .{ .from = 0x1B3C, .to = 0x1B3C, .category = .CM }, .{ .from = 0x1B3D, .to = 0x1B41, .category = .CM }, .{ .from = 0x1B42, .to = 0x1B42, .category = .CM }, - .{ .from = 0x1B43, .to = 0x1B44, .category = .CM }, - .{ .from = 0x1B45, .to = 0x1B4C, .category = .AL }, - .{ .from = 0x1B50, .to = 0x1B59, .category = .NU }, + .{ .from = 0x1B43, .to = 0x1B43, .category = .CM }, + .{ .from = 0x1B44, .to = 0x1B44, .category = .VI }, + .{ .from = 0x1B45, .to = 0x1B4C, .category = .AK }, + .{ .from = 0x1B50, .to = 0x1B59, .category = .ID }, .{ .from = 0x1B5A, .to = 0x1B5B, .category = .BA }, - .{ .from = 0x1B5C, .to = 0x1B5C, .category = .AL }, + .{ .from = 0x1B5C, .to = 0x1B5C, .category = .ID }, .{ .from = 0x1B5D, .to = 0x1B60, .category = .BA }, - .{ .from = 0x1B61, .to = 0x1B6A, .category = .AL }, + .{ .from = 0x1B61, .to = 0x1B6A, .category = .ID }, .{ .from = 0x1B6B, .to = 0x1B73, .category = .CM }, - .{ .from = 0x1B74, .to = 0x1B7C, .category = .AL }, + .{ .from = 0x1B74, .to = 0x1B7C, .category = .ID }, .{ .from = 0x1B7D, .to = 0x1B7E, .category = .BA }, .{ .from = 0x1B80, .to = 0x1B81, .category = .CM }, .{ .from = 0x1B82, .to = 0x1B82, .category = .CM }, @@ -776,7 +778,7 @@ pub const data = [_]LineBreak{ .{ .from = 0x1BAE, .to = 0x1BAF, .category = .AL }, .{ .from = 0x1BB0, .to = 0x1BB9, .category = .NU }, .{ .from = 0x1BBA, .to = 0x1BBF, .category = .AL }, - .{ .from = 0x1BC0, .to = 0x1BE5, .category = .AL }, + .{ .from = 0x1BC0, .to = 0x1BE5, .category = .AS }, .{ .from = 0x1BE6, .to = 0x1BE6, .category = .CM }, .{ .from = 0x1BE7, .to = 0x1BE7, .category = .CM }, .{ .from = 0x1BE8, .to = 0x1BE9, .category = .CM }, @@ -784,7 +786,7 @@ pub const data = [_]LineBreak{ .{ .from = 0x1BED, .to = 0x1BED, .category = .CM }, .{ .from = 0x1BEE, .to = 0x1BEE, .category = .CM }, .{ .from = 0x1BEF, .to = 0x1BF1, .category = .CM }, - .{ .from = 0x1BF2, .to = 0x1BF3, .category = .CM }, + .{ .from = 0x1BF2, .to = 0x1BF3, .category = .VF }, .{ .from = 0x1BFC, .to = 0x1BFF, .category = .AL }, .{ .from = 0x1C00, .to = 0x1C23, .category = .AL }, .{ .from = 0x1C24, .to = 0x1C2B, .category = .CM }, @@ -1384,7 +1386,7 @@ pub const data = [_]LineBreak{ .{ .from = 0x2E80, .to = 0x2E99, .category = .ID }, .{ .from = 0x2E9B, .to = 0x2EF3, .category = .ID }, .{ .from = 0x2F00, .to = 0x2FD5, .category = .ID }, - .{ .from = 0x2FF0, .to = 0x2FFB, .category = .ID }, + .{ .from = 0x2FF0, .to = 0x2FFF, .category = .ID }, .{ .from = 0x3000, .to = 0x3000, .category = .BA }, .{ .from = 0x3001, .to = 0x3002, .category = .CL }, .{ .from = 0x3003, .to = 0x3003, .category = .ID }, @@ -1486,6 +1488,7 @@ pub const data = [_]LineBreak{ .{ .from = 0x3196, .to = 0x319F, .category = .ID }, .{ .from = 0x31A0, .to = 0x31BF, .category = .ID }, .{ .from = 0x31C0, .to = 0x31E3, .category = .ID }, + .{ .from = 0x31EF, .to = 0x31EF, .category = .ID }, .{ .from = 0x31F0, .to = 0x31FF, .category = .CJ }, .{ .from = 0x3200, .to = 0x321E, .category = .ID }, .{ .from = 0x3220, .to = 0x3229, .category = .ID }, @@ -1596,38 +1599,39 @@ pub const data = [_]LineBreak{ .{ .from = 0xA960, .to = 0xA97C, .category = .JL }, .{ .from = 0xA980, .to = 0xA982, .category = .CM }, .{ .from = 0xA983, .to = 0xA983, .category = .CM }, - .{ .from = 0xA984, .to = 0xA9B2, .category = .AL }, + .{ .from = 0xA984, .to = 0xA9B2, .category = .AK }, .{ .from = 0xA9B3, .to = 0xA9B3, .category = .CM }, .{ .from = 0xA9B4, .to = 0xA9B5, .category = .CM }, .{ .from = 0xA9B6, .to = 0xA9B9, .category = .CM }, .{ .from = 0xA9BA, .to = 0xA9BB, .category = .CM }, .{ .from = 0xA9BC, .to = 0xA9BD, .category = .CM }, - .{ .from = 0xA9BE, .to = 0xA9C0, .category = .CM }, - .{ .from = 0xA9C1, .to = 0xA9C6, .category = .AL }, + .{ .from = 0xA9BE, .to = 0xA9BF, .category = .CM }, + .{ .from = 0xA9C0, .to = 0xA9C0, .category = .VI }, + .{ .from = 0xA9C1, .to = 0xA9C6, .category = .ID }, .{ .from = 0xA9C7, .to = 0xA9C9, .category = .BA }, - .{ .from = 0xA9CA, .to = 0xA9CD, .category = .AL }, - .{ .from = 0xA9CF, .to = 0xA9CF, .category = .AL }, - .{ .from = 0xA9D0, .to = 0xA9D9, .category = .NU }, - .{ .from = 0xA9DE, .to = 0xA9DF, .category = .AL }, + .{ .from = 0xA9CA, .to = 0xA9CD, .category = .ID }, + .{ .from = 0xA9CF, .to = 0xA9CF, .category = .BA }, + .{ .from = 0xA9D0, .to = 0xA9D9, .category = .ID }, + .{ .from = 0xA9DE, .to = 0xA9DF, .category = .ID }, .{ .from = 0xA9E0, .to = 0xA9E4, .category = .SA }, .{ .from = 0xA9E5, .to = 0xA9E5, .category = .SA }, .{ .from = 0xA9E6, .to = 0xA9E6, .category = .SA }, .{ .from = 0xA9E7, .to = 0xA9EF, .category = .SA }, .{ .from = 0xA9F0, .to = 0xA9F9, .category = .NU }, .{ .from = 0xA9FA, .to = 0xA9FE, .category = .SA }, - .{ .from = 0xAA00, .to = 0xAA28, .category = .AL }, + .{ .from = 0xAA00, .to = 0xAA28, .category = .AS }, .{ .from = 0xAA29, .to = 0xAA2E, .category = .CM }, .{ .from = 0xAA2F, .to = 0xAA30, .category = .CM }, .{ .from = 0xAA31, .to = 0xAA32, .category = .CM }, .{ .from = 0xAA33, .to = 0xAA34, .category = .CM }, .{ .from = 0xAA35, .to = 0xAA36, .category = .CM }, - .{ .from = 0xAA40, .to = 0xAA42, .category = .AL }, + .{ .from = 0xAA40, .to = 0xAA42, .category = .BA }, .{ .from = 0xAA43, .to = 0xAA43, .category = .CM }, - .{ .from = 0xAA44, .to = 0xAA4B, .category = .AL }, + .{ .from = 0xAA44, .to = 0xAA4B, .category = .BA }, .{ .from = 0xAA4C, .to = 0xAA4C, .category = .CM }, .{ .from = 0xAA4D, .to = 0xAA4D, .category = .CM }, - .{ .from = 0xAA50, .to = 0xAA59, .category = .NU }, - .{ .from = 0xAA5C, .to = 0xAA5C, .category = .AL }, + .{ .from = 0xAA50, .to = 0xAA59, .category = .ID }, + .{ .from = 0xAA5C, .to = 0xAA5C, .category = .ID }, .{ .from = 0xAA5D, .to = 0xAA5F, .category = .BA }, .{ .from = 0xAA60, .to = 0xAA6F, .category = .SA }, .{ .from = 0xAA70, .to = 0xAA70, .category = .SA }, @@ -2781,17 +2785,19 @@ pub const data = [_]LineBreak{ .{ .from = 0x11000, .to = 0x11000, .category = .CM }, .{ .from = 0x11001, .to = 0x11001, .category = .CM }, .{ .from = 0x11002, .to = 0x11002, .category = .CM }, - .{ .from = 0x11003, .to = 0x11037, .category = .AL }, - .{ .from = 0x11038, .to = 0x11046, .category = .CM }, + .{ .from = 0x11003, .to = 0x11004, .category = .AP }, + .{ .from = 0x11005, .to = 0x11037, .category = .AK }, + .{ .from = 0x11038, .to = 0x11045, .category = .CM }, + .{ .from = 0x11046, .to = 0x11046, .category = .VI }, .{ .from = 0x11047, .to = 0x11048, .category = .BA }, - .{ .from = 0x11049, .to = 0x1104D, .category = .AL }, - .{ .from = 0x11052, .to = 0x11065, .category = .AL }, - .{ .from = 0x11066, .to = 0x1106F, .category = .NU }, + .{ .from = 0x11049, .to = 0x1104D, .category = .ID }, + .{ .from = 0x11052, .to = 0x11065, .category = .ID }, + .{ .from = 0x11066, .to = 0x1106F, .category = .AS }, .{ .from = 0x11070, .to = 0x11070, .category = .CM }, - .{ .from = 0x11071, .to = 0x11072, .category = .AL }, + .{ .from = 0x11071, .to = 0x11072, .category = .AK }, .{ .from = 0x11073, .to = 0x11074, .category = .CM }, - .{ .from = 0x11075, .to = 0x11075, .category = .AL }, - .{ .from = 0x1107F, .to = 0x1107F, .category = .CM }, + .{ .from = 0x11075, .to = 0x11075, .category = .AK }, + .{ .from = 0x1107F, .to = 0x1107F, .category = .GL }, .{ .from = 0x11080, .to = 0x11081, .category = .CM }, .{ .from = 0x11082, .to = 0x11082, .category = .CM }, .{ .from = 0x11083, .to = 0x110AF, .category = .AL }, @@ -2800,10 +2806,10 @@ pub const data = [_]LineBreak{ .{ .from = 0x110B7, .to = 0x110B8, .category = .CM }, .{ .from = 0x110B9, .to = 0x110BA, .category = .CM }, .{ .from = 0x110BB, .to = 0x110BC, .category = .AL }, - .{ .from = 0x110BD, .to = 0x110BD, .category = .AL }, + .{ .from = 0x110BD, .to = 0x110BD, .category = .NU }, .{ .from = 0x110BE, .to = 0x110C1, .category = .BA }, .{ .from = 0x110C2, .to = 0x110C2, .category = .CM }, - .{ .from = 0x110CD, .to = 0x110CD, .category = .AL }, + .{ .from = 0x110CD, .to = 0x110CD, .category = .NU }, .{ .from = 0x110D0, .to = 0x110E8, .category = .AL }, .{ .from = 0x110F0, .to = 0x110F9, .category = .NU }, .{ .from = 0x11100, .to = 0x11102, .category = .CM }, @@ -2869,22 +2875,25 @@ pub const data = [_]LineBreak{ .{ .from = 0x112F0, .to = 0x112F9, .category = .NU }, .{ .from = 0x11300, .to = 0x11301, .category = .CM }, .{ .from = 0x11302, .to = 0x11303, .category = .CM }, - .{ .from = 0x11305, .to = 0x1130C, .category = .AL }, - .{ .from = 0x1130F, .to = 0x11310, .category = .AL }, - .{ .from = 0x11313, .to = 0x11328, .category = .AL }, - .{ .from = 0x1132A, .to = 0x11330, .category = .AL }, - .{ .from = 0x11332, .to = 0x11333, .category = .AL }, - .{ .from = 0x11335, .to = 0x11339, .category = .AL }, + .{ .from = 0x11305, .to = 0x1130C, .category = .AK }, + .{ .from = 0x1130F, .to = 0x11310, .category = .AK }, + .{ .from = 0x11313, .to = 0x11328, .category = .AK }, + .{ .from = 0x1132A, .to = 0x11330, .category = .AK }, + .{ .from = 0x11332, .to = 0x11333, .category = .AK }, + .{ .from = 0x11335, .to = 0x11339, .category = .AK }, .{ .from = 0x1133B, .to = 0x1133C, .category = .CM }, - .{ .from = 0x1133D, .to = 0x1133D, .category = .AL }, + .{ .from = 0x1133D, .to = 0x1133D, .category = .BA }, .{ .from = 0x1133E, .to = 0x1133F, .category = .CM }, .{ .from = 0x11340, .to = 0x11340, .category = .CM }, .{ .from = 0x11341, .to = 0x11344, .category = .CM }, .{ .from = 0x11347, .to = 0x11348, .category = .CM }, - .{ .from = 0x1134B, .to = 0x1134D, .category = .CM }, - .{ .from = 0x11350, .to = 0x11350, .category = .AL }, + .{ .from = 0x1134B, .to = 0x1134C, .category = .CM }, + .{ .from = 0x1134D, .to = 0x1134D, .category = .VI }, + .{ .from = 0x11350, .to = 0x11350, .category = .AS }, .{ .from = 0x11357, .to = 0x11357, .category = .CM }, - .{ .from = 0x1135D, .to = 0x11361, .category = .AL }, + .{ .from = 0x1135D, .to = 0x1135D, .category = .BA }, + .{ .from = 0x1135E, .to = 0x1135F, .category = .AS }, + .{ .from = 0x11360, .to = 0x11361, .category = .AK }, .{ .from = 0x11362, .to = 0x11363, .category = .CM }, .{ .from = 0x11366, .to = 0x1136C, .category = .CM }, .{ .from = 0x11370, .to = 0x11374, .category = .CM }, @@ -2974,23 +2983,23 @@ pub const data = [_]LineBreak{ .{ .from = 0x118E0, .to = 0x118E9, .category = .NU }, .{ .from = 0x118EA, .to = 0x118F2, .category = .AL }, .{ .from = 0x118FF, .to = 0x118FF, .category = .AL }, - .{ .from = 0x11900, .to = 0x11906, .category = .AL }, - .{ .from = 0x11909, .to = 0x11909, .category = .AL }, - .{ .from = 0x1190C, .to = 0x11913, .category = .AL }, - .{ .from = 0x11915, .to = 0x11916, .category = .AL }, - .{ .from = 0x11918, .to = 0x1192F, .category = .AL }, + .{ .from = 0x11900, .to = 0x11906, .category = .AK }, + .{ .from = 0x11909, .to = 0x11909, .category = .AK }, + .{ .from = 0x1190C, .to = 0x11913, .category = .AK }, + .{ .from = 0x11915, .to = 0x11916, .category = .AK }, + .{ .from = 0x11918, .to = 0x1192F, .category = .AK }, .{ .from = 0x11930, .to = 0x11935, .category = .CM }, .{ .from = 0x11937, .to = 0x11938, .category = .CM }, .{ .from = 0x1193B, .to = 0x1193C, .category = .CM }, .{ .from = 0x1193D, .to = 0x1193D, .category = .CM }, - .{ .from = 0x1193E, .to = 0x1193E, .category = .CM }, - .{ .from = 0x1193F, .to = 0x1193F, .category = .AL }, + .{ .from = 0x1193E, .to = 0x1193E, .category = .VI }, + .{ .from = 0x1193F, .to = 0x1193F, .category = .AP }, .{ .from = 0x11940, .to = 0x11940, .category = .CM }, - .{ .from = 0x11941, .to = 0x11941, .category = .AL }, + .{ .from = 0x11941, .to = 0x11941, .category = .AP }, .{ .from = 0x11942, .to = 0x11942, .category = .CM }, .{ .from = 0x11943, .to = 0x11943, .category = .CM }, .{ .from = 0x11944, .to = 0x11946, .category = .BA }, - .{ .from = 0x11950, .to = 0x11959, .category = .NU }, + .{ .from = 0x11950, .to = 0x11959, .category = .ID }, .{ .from = 0x119A0, .to = 0x119A7, .category = .AL }, .{ .from = 0x119AA, .to = 0x119D0, .category = .AL }, .{ .from = 0x119D1, .to = 0x119D3, .category = .CM }, @@ -3072,24 +3081,25 @@ pub const data = [_]LineBreak{ .{ .from = 0x11D97, .to = 0x11D97, .category = .CM }, .{ .from = 0x11D98, .to = 0x11D98, .category = .AL }, .{ .from = 0x11DA0, .to = 0x11DA9, .category = .NU }, - .{ .from = 0x11EE0, .to = 0x11EF2, .category = .AL }, + .{ .from = 0x11EE0, .to = 0x11EF1, .category = .AS }, + .{ .from = 0x11EF2, .to = 0x11EF2, .category = .BA }, .{ .from = 0x11EF3, .to = 0x11EF4, .category = .CM }, .{ .from = 0x11EF5, .to = 0x11EF6, .category = .CM }, - .{ .from = 0x11EF7, .to = 0x11EF8, .category = .AL }, + .{ .from = 0x11EF7, .to = 0x11EF8, .category = .BA }, .{ .from = 0x11F00, .to = 0x11F01, .category = .CM }, - .{ .from = 0x11F02, .to = 0x11F02, .category = .AL }, + .{ .from = 0x11F02, .to = 0x11F02, .category = .AP }, .{ .from = 0x11F03, .to = 0x11F03, .category = .CM }, - .{ .from = 0x11F04, .to = 0x11F10, .category = .AL }, - .{ .from = 0x11F12, .to = 0x11F33, .category = .AL }, + .{ .from = 0x11F04, .to = 0x11F10, .category = .AK }, + .{ .from = 0x11F12, .to = 0x11F33, .category = .AK }, .{ .from = 0x11F34, .to = 0x11F35, .category = .CM }, .{ .from = 0x11F36, .to = 0x11F3A, .category = .CM }, .{ .from = 0x11F3E, .to = 0x11F3F, .category = .CM }, .{ .from = 0x11F40, .to = 0x11F40, .category = .CM }, .{ .from = 0x11F41, .to = 0x11F41, .category = .CM }, - .{ .from = 0x11F42, .to = 0x11F42, .category = .CM }, + .{ .from = 0x11F42, .to = 0x11F42, .category = .VI }, .{ .from = 0x11F43, .to = 0x11F44, .category = .BA }, .{ .from = 0x11F45, .to = 0x11F4F, .category = .ID }, - .{ .from = 0x11F50, .to = 0x11F59, .category = .NU }, + .{ .from = 0x11F50, .to = 0x11F59, .category = .AS }, .{ .from = 0x11FB0, .to = 0x11FB0, .category = .AL }, .{ .from = 0x11FC0, .to = 0x11FD4, .category = .AL }, .{ .from = 0x11FD5, .to = 0x11FDC, .category = .AL }, @@ -3115,7 +3125,8 @@ pub const data = [_]LineBreak{ .{ .from = 0x1328A, .to = 0x13378, .category = .AL }, .{ .from = 0x13379, .to = 0x13379, .category = .OP }, .{ .from = 0x1337A, .to = 0x1337B, .category = .CL }, - .{ .from = 0x1337C, .to = 0x1342F, .category = .AL }, + .{ .from = 0x1337C, .to = 0x1342E, .category = .AL }, + .{ .from = 0x1342F, .to = 0x1342F, .category = .OP }, .{ .from = 0x13430, .to = 0x13436, .category = .GL }, .{ .from = 0x13437, .to = 0x13437, .category = .OP }, .{ .from = 0x13438, .to = 0x13438, .category = .CL }, @@ -3546,7 +3557,9 @@ pub const data = [_]LineBreak{ .{ .from = 0x2B820, .to = 0x2CEA1, .category = .ID }, .{ .from = 0x2CEA2, .to = 0x2CEAF, .category = .ID }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .category = .ID }, - .{ .from = 0x2EBE1, .to = 0x2F7FF, .category = .ID }, + .{ .from = 0x2EBE1, .to = 0x2EBEF, .category = .ID }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .category = .ID }, + .{ .from = 0x2EE5E, .to = 0x2F7FF, .category = .ID }, .{ .from = 0x2F800, .to = 0x2FA1D, .category = .ID }, .{ .from = 0x2FA1E, .to = 0x2FA1F, .category = .ID }, .{ .from = 0x2FA20, .to = 0x2FFFD, .category = .ID }, diff --git a/src/name_aliases.zig b/src/name_aliases.zig index 088e5784a4e7ab14c1b843c8a4f0f5f686e63c16..c7777225a616d156c5d8946e43575539c303fea0 100644 --- a/src/name_aliases.zig +++ b/src/name_aliases.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/NameAliases.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/NameAliases.txt // // zig fmt: off diff --git a/src/named_sequences.zig b/src/named_sequences.zig index 83d1e32306818dc35965b752db6e8133d8da92c6..99f25f476d491012bbe986c70ba0c5c2f107a3b1 100644 --- a/src/named_sequences.zig +++ b/src/named_sequences.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/NamedSequences.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/NamedSequences.txt // // zig fmt: off diff --git a/src/named_sequences_prov.zig b/src/named_sequences_prov.zig index 8149e39f8f7a505c89cf8004e9f54e5772a9b0ed..9b55c02af0cd8a4d1e7778119ab1191c66e1fcfd 100644 --- a/src/named_sequences_prov.zig +++ b/src/named_sequences_prov.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/NamedSequencesProv.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/NamedSequencesProv.txt // // zig fmt: off diff --git a/src/prop_list.zig b/src/prop_list.zig index fa44fed16e1967d62252ed89c2a64cecc22009d3..206e6d8d07e379453d88da4a2214e6a8a7f702e8 100644 --- a/src/prop_list.zig +++ b/src/prop_list.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/PropList.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/PropList.txt // // zig fmt: off @@ -43,6 +43,9 @@ pub const PropList = struct { Pattern_Syntax, Prepended_Concatenation_Mark, Regional_Indicator, + IDS_Unary_Operator, + ID_Compat_Math_Continue, + ID_Compat_Math_Start, }, }; @@ -839,6 +842,7 @@ pub const data = [_]PropList{ .{ .from = 0x2B740, .to = 0x2B81D, .property = .Ideographic }, .{ .from = 0x2B820, .to = 0x2CEA1, .property = .Ideographic }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .property = .Ideographic }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .property = .Ideographic }, .{ .from = 0x2F800, .to = 0x2FA1D, .property = .Ideographic }, .{ .from = 0x30000, .to = 0x3134A, .property = .Ideographic }, .{ .from = 0x31350, .to = 0x323AF, .property = .Ideographic }, @@ -1189,8 +1193,10 @@ pub const data = [_]PropList{ .{ .from = 0x1D16E, .to = 0x1D172, .property = .Other_Grapheme_Extend }, .{ .from = 0xE0020, .to = 0xE007F, .property = .Other_Grapheme_Extend }, .{ .from = 0x2FF0, .to = 0x2FF1, .property = .IDS_Binary_Operator }, - .{ .from = 0x2FF4, .to = 0x2FFB, .property = .IDS_Binary_Operator }, + .{ .from = 0x2FF4, .to = 0x2FFD, .property = .IDS_Binary_Operator }, + .{ .from = 0x31EF, .to = 0x31EF, .property = .IDS_Binary_Operator }, .{ .from = 0x2FF2, .to = 0x2FF3, .property = .IDS_Trinary_Operator }, + .{ .from = 0x2FFE, .to = 0x2FFF, .property = .IDS_Unary_Operator }, .{ .from = 0x2E80, .to = 0x2E99, .property = .Radical }, .{ .from = 0x2E9B, .to = 0x2EF3, .property = .Radical }, .{ .from = 0x2F00, .to = 0x2FD5, .property = .Radical }, @@ -1208,6 +1214,7 @@ pub const data = [_]PropList{ .{ .from = 0x2B740, .to = 0x2B81D, .property = .Unified_Ideograph }, .{ .from = 0x2B820, .to = 0x2CEA1, .property = .Unified_Ideograph }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .property = .Unified_Ideograph }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .property = .Unified_Ideograph }, .{ .from = 0x30000, .to = 0x3134A, .property = .Unified_Ideograph }, .{ .from = 0x31350, .to = 0x323AF, .property = .Unified_Ideograph }, .{ .from = 0x034F, .to = 0x034F, .property = .Other_Default_Ignorable_Code_Point }, @@ -1279,6 +1286,46 @@ pub const data = [_]PropList{ .{ .from = 0x0387, .to = 0x0387, .property = .Other_ID_Continue }, .{ .from = 0x1369, .to = 0x1371, .property = .Other_ID_Continue }, .{ .from = 0x19DA, .to = 0x19DA, .property = .Other_ID_Continue }, + .{ .from = 0x200C, .to = 0x200D, .property = .Other_ID_Continue }, + .{ .from = 0x30FB, .to = 0x30FB, .property = .Other_ID_Continue }, + .{ .from = 0xFF65, .to = 0xFF65, .property = .Other_ID_Continue }, + .{ .from = 0x00B2, .to = 0x00B3, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x00B9, .to = 0x00B9, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x2070, .to = 0x2070, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x2074, .to = 0x2079, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x207A, .to = 0x207C, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x207D, .to = 0x207D, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x207E, .to = 0x207E, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x2080, .to = 0x2089, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x208A, .to = 0x208C, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x208D, .to = 0x208D, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x208E, .to = 0x208E, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x2202, .to = 0x2202, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x2207, .to = 0x2207, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x221E, .to = 0x221E, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D6C1, .to = 0x1D6C1, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D6DB, .to = 0x1D6DB, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D6FB, .to = 0x1D6FB, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D715, .to = 0x1D715, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D735, .to = 0x1D735, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D74F, .to = 0x1D74F, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D76F, .to = 0x1D76F, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D789, .to = 0x1D789, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D7A9, .to = 0x1D7A9, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x1D7C3, .to = 0x1D7C3, .property = .ID_Compat_Math_Continue }, + .{ .from = 0x2202, .to = 0x2202, .property = .ID_Compat_Math_Start }, + .{ .from = 0x2207, .to = 0x2207, .property = .ID_Compat_Math_Start }, + .{ .from = 0x221E, .to = 0x221E, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D6C1, .to = 0x1D6C1, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D6DB, .to = 0x1D6DB, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D6FB, .to = 0x1D6FB, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D715, .to = 0x1D715, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D735, .to = 0x1D735, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D74F, .to = 0x1D74F, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D76F, .to = 0x1D76F, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D789, .to = 0x1D789, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D7A9, .to = 0x1D7A9, .property = .ID_Compat_Math_Start }, + .{ .from = 0x1D7C3, .to = 0x1D7C3, .property = .ID_Compat_Math_Start }, .{ .from = 0x0021, .to = 0x0021, .property = .Sentence_Terminal }, .{ .from = 0x002E, .to = 0x002E, .property = .Sentence_Terminal }, .{ .from = 0x003F, .to = 0x003F, .property = .Sentence_Terminal }, @@ -1296,6 +1343,7 @@ pub const data = [_]PropList{ .{ .from = 0x1367, .to = 0x1368, .property = .Sentence_Terminal }, .{ .from = 0x166E, .to = 0x166E, .property = .Sentence_Terminal }, .{ .from = 0x1735, .to = 0x1736, .property = .Sentence_Terminal }, + .{ .from = 0x17D4, .to = 0x17D5, .property = .Sentence_Terminal }, .{ .from = 0x1803, .to = 0x1803, .property = .Sentence_Terminal }, .{ .from = 0x1809, .to = 0x1809, .property = .Sentence_Terminal }, .{ .from = 0x1944, .to = 0x1945, .property = .Sentence_Terminal }, diff --git a/src/property_aliases.zig b/src/property_aliases.zig index 7fbf30c1d90af5e541f6e005447389b11ce64986..cf90368c41948f321a49da40439c8bedbe3095f6 100644 --- a/src/property_aliases.zig +++ b/src/property_aliases.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/PropertyAliases.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/PropertyAliases.txt // // zig fmt: off @@ -12,12 +12,16 @@ pub const data = [_][2][]const u8{ .{ "cjkOtherNumeric", "kOtherNumeric" }, .{ "cjkPrimaryNumeric", "kPrimaryNumeric" }, .{ "nv", "Numeric_Value" }, + .{ "bmg", "Bidi_Mirroring_Glyph" }, + .{ "bpb", "Bidi_Paired_Bracket" }, .{ "cf", "Case_Folding" }, .{ "cjkCompatibilityVariant", "kCompatibilityVariant" }, .{ "dm", "Decomposition_Mapping" }, + .{ "EqUIdeo", "Equivalent_Unified_Ideograph" }, .{ "FC_NFKC", "FC_NFKC_Closure" }, .{ "lc", "Lowercase_Mapping" }, .{ "NFKC_CF", "NFKC_Casefold" }, + .{ "NFKC_SCF", "NFKC_Simple_Casefold" }, .{ "scf", "Simple_Case_Folding" }, .{ "sfc", "Simple_Case_Folding" }, .{ "slc", "Simple_Lowercase_Mapping" }, @@ -25,8 +29,6 @@ pub const data = [_][2][]const u8{ .{ "suc", "Simple_Uppercase_Mapping" }, .{ "tc", "Titlecase_Mapping" }, .{ "uc", "Uppercase_Mapping" }, - .{ "bmg", "Bidi_Mirroring_Glyph" }, - .{ "bpb", "Bidi_Paired_Bracket" }, .{ "cjkIICore", "kIICore" }, .{ "cjkIRG_GSource", "kIRG_GSource" }, .{ "cjkIRG_HSource", "kIRG_HSource" }, @@ -42,7 +44,6 @@ pub const data = [_][2][]const u8{ .{ "cjkRSUnicode", "kRSUnicode" }, .{ "Unicode_Radical_Stroke", "kRSUnicode" }, .{ "URS", "kRSUnicode" }, - .{ "EqUIdeo", "Equivalent_Unified_Ideograph" }, .{ "isc", "ISO_Comment" }, .{ "JSN", "Jamo_Short_Name" }, .{ "na", "Name" }, @@ -60,6 +61,7 @@ pub const data = [_][2][]const u8{ .{ "gc", "General_Category" }, .{ "GCB", "Grapheme_Cluster_Break" }, .{ "hst", "Hangul_Syllable_Type" }, + .{ "InCB", "Indic_Conjunct_Break" }, .{ "InPC", "Indic_Positional_Category" }, .{ "InSC", "Indic_Syllabic_Category" }, .{ "jg", "Joining_Group" }, @@ -103,11 +105,14 @@ pub const data = [_][2][]const u8{ .{ "Gr_Link", "Grapheme_Link" }, .{ "Hex", "Hex_Digit" }, .{ "Hyphen", "Hyphen" }, + .{ "ID_Compat_Math_Continue", "ID_Compat_Math_Continue" }, + .{ "ID_Compat_Math_Start", "ID_Compat_Math_Start" }, .{ "IDC", "ID_Continue" }, .{ "Ideo", "Ideographic" }, .{ "IDS", "ID_Start" }, .{ "IDSB", "IDS_Binary_Operator" }, .{ "IDST", "IDS_Trinary_Operator" }, + .{ "IDSU", "IDS_Unary_Operator" }, .{ "Join_C", "Join_Control" }, .{ "LOE", "Logical_Order_Exception" }, .{ "Lower", "Lowercase" }, diff --git a/src/property_value_aliases.zig b/src/property_value_aliases.zig index e2d11d2396664aca495a3f17788ad9ce4a7f3493..061b98342a870665a3c63233e4e711dc6e394464 100644 --- a/src/property_value_aliases.zig +++ b/src/property_value_aliases.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/PropertyValueAliases.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/PropertyValueAliases.txt // // zig fmt: off @@ -39,6 +39,7 @@ pub const data = [_][3][]const u8{ .{ "age", "13.0", "V13_0" }, .{ "age", "14.0", "V14_0" }, .{ "age", "15.0", "V15_0" }, + .{ "age", "15.1", "V15_1" }, .{ "age", "NA", "Unassigned" }, .{ "Alpha", "N", "No" }, .{ "Alpha", "F", "No" }, @@ -143,6 +144,7 @@ pub const data = [_][3][]const u8{ .{ "blk", "CJK_Ext_F", "CJK_Unified_Ideographs_Extension_F" }, .{ "blk", "CJK_Ext_G", "CJK_Unified_Ideographs_Extension_G" }, .{ "blk", "CJK_Ext_H", "CJK_Unified_Ideographs_Extension_H" }, + .{ "blk", "CJK_Ext_I", "CJK_Unified_Ideographs_Extension_I" }, .{ "blk", "CJK_Radicals_Sup", "CJK_Radicals_Supplement" }, .{ "blk", "CJK_Strokes", "CJK_Strokes" }, .{ "blk", "CJK_Symbols", "CJK_Symbols_And_Punctuation" }, @@ -776,6 +778,24 @@ pub const data = [_][3][]const u8{ .{ "IDST", "Y", "Yes" }, .{ "IDST", "T", "Yes" }, .{ "IDST", "True", "Yes" }, + .{ "IDSU", "N", "No" }, + .{ "IDSU", "F", "No" }, + .{ "IDSU", "False", "No" }, + .{ "IDSU", "Y", "Yes" }, + .{ "IDSU", "T", "Yes" }, + .{ "IDSU", "True", "Yes" }, + .{ "ID_Compat_Math_Continue", "N", "No" }, + .{ "ID_Compat_Math_Continue", "F", "No" }, + .{ "ID_Compat_Math_Continue", "False", "No" }, + .{ "ID_Compat_Math_Continue", "Y", "Yes" }, + .{ "ID_Compat_Math_Continue", "T", "Yes" }, + .{ "ID_Compat_Math_Continue", "True", "Yes" }, + .{ "ID_Compat_Math_Start", "N", "No" }, + .{ "ID_Compat_Math_Start", "F", "No" }, + .{ "ID_Compat_Math_Start", "False", "No" }, + .{ "ID_Compat_Math_Start", "Y", "Yes" }, + .{ "ID_Compat_Math_Start", "T", "Yes" }, + .{ "ID_Compat_Math_Start", "True", "Yes" }, .{ "IDC", "N", "No" }, .{ "IDC", "F", "No" }, .{ "IDC", "False", "No" }, @@ -794,6 +814,10 @@ pub const data = [_][3][]const u8{ .{ "Ideo", "Y", "Yes" }, .{ "Ideo", "T", "Yes" }, .{ "Ideo", "True", "Yes" }, + .{ "InCB", "Consonant", "Consonant" }, + .{ "InCB", "Extend", "Extend" }, + .{ "InCB", "Linker", "Linker" }, + .{ "InCB", "None", "None" }, .{ "InPC", "Bottom", "Bottom" }, .{ "InPC", "Bottom_And_Left", "Bottom_And_Left" }, .{ "InPC", "Bottom_And_Right", "Bottom_And_Right" }, @@ -1015,7 +1039,10 @@ pub const data = [_][3][]const u8{ .{ "jt", "T", "Transparent" }, .{ "jt", "U", "Non_Joining" }, .{ "lb", "AI", "Ambiguous" }, + .{ "lb", "AK", "Aksara" }, .{ "lb", "AL", "Alphabetic" }, + .{ "lb", "AP", "Aksara_Prebase" }, + .{ "lb", "AS", "Aksara_Start" }, .{ "lb", "B2", "Break_Both" }, .{ "lb", "BA", "Break_After" }, .{ "lb", "BB", "Break_Before" }, @@ -1054,6 +1081,8 @@ pub const data = [_][3][]const u8{ .{ "lb", "SG", "Surrogate" }, .{ "lb", "SP", "Space" }, .{ "lb", "SY", "Break_Symbols" }, + .{ "lb", "VF", "Virama_Final" }, + .{ "lb", "VI", "Virama" }, .{ "lb", "WJ", "Word_Joiner" }, .{ "lb", "XX", "Unknown" }, .{ "lb", "ZW", "ZWSpace" }, diff --git a/src/script_extensions.zig b/src/script_extensions.zig index 6bf19efd7705ca85e965536ec8ab4c72b1411a31..fb83d29378d62451c9b9c7e3540cd4bd86a6b8d7 100644 --- a/src/script_extensions.zig +++ b/src/script_extensions.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/ScriptExtensions.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/ScriptExtensions.txt // // zig fmt: off @@ -388,9 +388,9 @@ pub const data = [_]ScriptExtension{ .{ .code = 0x102F9, .scripts = &.{ .Arab, .Copt, } }, .{ .code = 0x102FA, .scripts = &.{ .Arab, .Copt, } }, .{ .code = 0x102FB, .scripts = &.{ .Arab, .Copt, } }, - .{ .code = 0x06D4, .scripts = &.{ .Arab, .Rohg, } }, .{ .code = 0xFD3E, .scripts = &.{ .Arab, .Nkoo, } }, .{ .code = 0xFD3F, .scripts = &.{ .Arab, .Nkoo, } }, + .{ .code = 0x06D4, .scripts = &.{ .Arab, .Rohg, } }, .{ .code = 0x64B, .scripts = &.{ .Arab, .Syrc, } }, .{ .code = 0x64C, .scripts = &.{ .Arab, .Syrc, } }, .{ .code = 0x64D, .scripts = &.{ .Arab, .Syrc, } }, @@ -664,20 +664,20 @@ pub const data = [_]ScriptExtension{ .{ .code = 0xFF65, .scripts = &.{ .Bopo, .Hang, .Hani, .Hira, .Kana, .Yiii, } }, .{ .code = 0x1CDA, .scripts = &.{ .Deva, .Knda, .Mlym, .Orya, .Taml, .Telu, } }, .{ .code = 0x061F, .scripts = &.{ .Adlm, .Arab, .Nkoo, .Rohg, .Syrc, .Thaa, .Yezi, } }, - .{ .code = 0x1CF2, .scripts = &.{ .Beng, .Deva, .Gran, .Knda, .Nand, .Orya, .Telu, .Tirh, } }, .{ .code = 0x0640, .scripts = &.{ .Adlm, .Arab, .Mand, .Mani, .Ougr, .Phlp, .Rohg, .Sogd, .Syrc, } }, + .{ .code = 0x1CF2, .scripts = &.{ .Beng, .Deva, .Gran, .Knda, .Mlym, .Nand, .Orya, .Sinh, .Telu, .Tirh, } }, .{ .code = 0xA836, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Kthi, .Mahj, .Modi, .Sind, .Takr, .Tirh, } }, .{ .code = 0xA837, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Kthi, .Mahj, .Modi, .Sind, .Takr, .Tirh, } }, - .{ .code = 0xA838, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Kthi, .Mahj, .Modi, .Sind, .Takr, .Tirh, } }, .{ .code = 0xA839, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Kthi, .Mahj, .Modi, .Sind, .Takr, .Tirh, } }, .{ .code = 0x0952, .scripts = &.{ .Beng, .Deva, .Gran, .Gujr, .Guru, .Knda, .Latn, .Mlym, .Orya, .Taml, .Telu, .Tirh, } }, + .{ .code = 0xA838, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Kthi, .Mahj, .Modi, .Shrd, .Sind, .Takr, .Tirh, } }, .{ .code = 0x0951, .scripts = &.{ .Beng, .Deva, .Gran, .Gujr, .Guru, .Knda, .Latn, .Mlym, .Orya, .Shrd, .Taml, .Telu, .Tirh, } }, - .{ .code = 0xA833, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Modi, .Nand, .Sind, .Takr, .Tirh, } }, - .{ .code = 0xA834, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Modi, .Nand, .Sind, .Takr, .Tirh, } }, - .{ .code = 0xA835, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Modi, .Nand, .Sind, .Takr, .Tirh, } }, - .{ .code = 0xA830, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Mlym, .Modi, .Nand, .Sind, .Takr, .Tirh, } }, - .{ .code = 0xA831, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Mlym, .Modi, .Nand, .Sind, .Takr, .Tirh, } }, - .{ .code = 0xA832, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Mlym, .Modi, .Nand, .Sind, .Takr, .Tirh, } }, + .{ .code = 0xA833, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Modi, .Nand, .Shrd, .Sind, .Takr, .Tirh, } }, + .{ .code = 0xA834, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Modi, .Nand, .Shrd, .Sind, .Takr, .Tirh, } }, + .{ .code = 0xA835, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Modi, .Nand, .Shrd, .Sind, .Takr, .Tirh, } }, + .{ .code = 0xA830, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Mlym, .Modi, .Nand, .Shrd, .Sind, .Takr, .Tirh, } }, + .{ .code = 0xA831, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Mlym, .Modi, .Nand, .Shrd, .Sind, .Takr, .Tirh, } }, + .{ .code = 0xA832, .scripts = &.{ .Deva, .Dogr, .Gujr, .Guru, .Khoj, .Knda, .Kthi, .Mahj, .Mlym, .Modi, .Nand, .Shrd, .Sind, .Takr, .Tirh, } }, .{ .code = 0x0964, .scripts = &.{ .Beng, .Deva, .Dogr, .Gong, .Gonm, .Gran, .Gujr, .Guru, .Knda, .Mahj, .Mlym, .Nand, .Orya, .Sind, .Sinh, .Sylo, .Takr, .Taml, .Telu, .Tirh, } }, .{ .code = 0x0965, .scripts = &.{ .Beng, .Deva, .Dogr, .Gong, .Gonm, .Gran, .Gujr, .Guru, .Knda, .Limb, .Mahj, .Mlym, .Nand, .Orya, .Sind, .Sinh, .Sylo, .Takr, .Taml, .Telu, .Tirh, } }, }; diff --git a/src/scripts.zig b/src/scripts.zig index a5835d59757a288ad5304292f37f761444a5d5e5..3821470bf44acbe5703c0e5071e9781954eafb34 100644 --- a/src/scripts.zig +++ b/src/scripts.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/Scripts.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/Scripts.txt // // zig fmt: off @@ -509,7 +509,7 @@ pub const data = [_]Scripts{ .{ .from = 0x2E5B, .to = 0x2E5B, .script = .Common }, .{ .from = 0x2E5C, .to = 0x2E5C, .script = .Common }, .{ .from = 0x2E5D, .to = 0x2E5D, .script = .Common }, - .{ .from = 0x2FF0, .to = 0x2FFB, .script = .Common }, + .{ .from = 0x2FF0, .to = 0x2FFF, .script = .Common }, .{ .from = 0x3000, .to = 0x3000, .script = .Common }, .{ .from = 0x3001, .to = 0x3003, .script = .Common }, .{ .from = 0x3004, .to = 0x3004, .script = .Common }, @@ -551,6 +551,7 @@ pub const data = [_]Scripts{ .{ .from = 0x3192, .to = 0x3195, .script = .Common }, .{ .from = 0x3196, .to = 0x319F, .script = .Common }, .{ .from = 0x31C0, .to = 0x31E3, .script = .Common }, + .{ .from = 0x31EF, .to = 0x31EF, .script = .Common }, .{ .from = 0x3220, .to = 0x3229, .script = .Common }, .{ .from = 0x322A, .to = 0x3247, .script = .Common }, .{ .from = 0x3248, .to = 0x324F, .script = .Common }, @@ -1570,6 +1571,7 @@ pub const data = [_]Scripts{ .{ .from = 0x2B740, .to = 0x2B81D, .script = .Han }, .{ .from = 0x2B820, .to = 0x2CEA1, .script = .Han }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .script = .Han }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .script = .Han }, .{ .from = 0x2F800, .to = 0x2FA1D, .script = .Han }, .{ .from = 0x30000, .to = 0x3134A, .script = .Han }, .{ .from = 0x31350, .to = 0x323AF, .script = .Han }, diff --git a/src/special_casing.zig b/src/special_casing.zig index 7c61c4703e324c8d3158a79c286e516d16f487f9..f9914edc585e8aae11e9acd360f78b3b2b95e4bc 100644 --- a/src/special_casing.zig +++ b/src/special_casing.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/SpecialCasing.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/SpecialCasing.txt // // zig fmt: off diff --git a/src/unicode_data.zig b/src/unicode_data.zig index d3b83accda13b8d21f8707fac36d25e13f41790d..6e480a8405f26a74a3f57a94b0c04a7419617fec 100644 --- a/src/unicode_data.zig +++ b/src/unicode_data.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/UnicodeData.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/UnicodeData.txt // // zig fmt: off @@ -11257,6 +11257,10 @@ pub const data = [_]Codepoint{ .{ 0x2FF9, "IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT", .So, 0, .ON, false, "", "", "", false, null, null, null, }, .{ 0x2FFA, "IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT", .So, 0, .ON, false, "", "", "", false, null, null, null, }, .{ 0x2FFB, "IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID", .So, 0, .ON, false, "", "", "", false, null, null, null, }, + .{ 0x2FFC, "IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM RIGHT", .So, 0, .ON, false, "", "", "", false, null, null, null, }, + .{ 0x2FFD, "IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER RIGHT", .So, 0, .ON, false, "", "", "", false, null, null, null, }, + .{ 0x2FFE, "IDEOGRAPHIC DESCRIPTION CHARACTER HORIZONTAL REFLECTION", .So, 0, .ON, false, "", "", "", false, null, null, null, }, + .{ 0x2FFF, "IDEOGRAPHIC DESCRIPTION CHARACTER ROTATION", .So, 0, .ON, false, "", "", "", false, null, null, null, }, .{ 0x3000, "IDEOGRAPHIC SPACE", .Zs, 0, .WS, true, "", "", "", false, null, null, null, }, .{ 0x3001, "IDEOGRAPHIC COMMA", .Po, 0, .ON, false, "", "", "", false, null, null, null, }, .{ 0x3002, "IDEOGRAPHIC FULL STOP", .Po, 0, .ON, false, "", "", "", false, null, null, null, }, @@ -11731,6 +11735,7 @@ pub const data = [_]Codepoint{ .{ 0x31E1, "CJK STROKE HZZZG", .So, 0, .ON, false, "", "", "", false, null, null, null, }, .{ 0x31E2, "CJK STROKE PG", .So, 0, .ON, false, "", "", "", false, null, null, null, }, .{ 0x31E3, "CJK STROKE Q", .So, 0, .ON, false, "", "", "", false, null, null, null, }, + .{ 0x31EF, "IDEOGRAPHIC DESCRIPTION CHARACTER SUBTRACTION", .So, 0, .ON, false, "", "", "", false, null, null, null, }, .{ 0x31F0, "KATAKANA LETTER SMALL KU", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, .{ 0x31F1, "KATAKANA LETTER SMALL SI", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, .{ 0x31F2, "KATAKANA LETTER SMALL SU", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, @@ -34061,6 +34066,8 @@ pub const data = [_]Codepoint{ .{ 0x2CEA1, "", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, .{ 0x2CEB0, "", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, .{ 0x2EBE0, "", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, + .{ 0x2EBF0, "", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, + .{ 0x2EE5D, "", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, .{ 0x2F800, "CJK COMPATIBILITY IDEOGRAPH-2F800", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, .{ 0x2F801, "CJK COMPATIBILITY IDEOGRAPH-2F801", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, .{ 0x2F802, "CJK COMPATIBILITY IDEOGRAPH-2F802", .Lo, 0, .L, false, "", "", "", false, null, null, null, }, diff --git a/src/vertical_orientation.zig b/src/vertical_orientation.zig index e90d1385abec892bef9b8541ab33e015d90708f1..360ea4f103f59c687ddea9e499ec4c834138c8bd 100644 --- a/src/vertical_orientation.zig +++ b/src/vertical_orientation.zig @@ -1,7 +1,7 @@ // This file is part of the Unicode Character Database // For documentation, see http://www.unicode.org/reports/tr44/ // -// Based on the source file: https://unicode.org/Public/15.0.0/ucd/VerticalOrientation.txt +// Based on the source file: https://unicode.org/Public/15.1.0/ucd/VerticalOrientation.txt // // zig fmt: off @@ -1128,8 +1128,7 @@ pub const data = [_]VerticalOrientation{ .{ .from = 0x2F00, .to = 0x2FD5, .orientation = .U }, .{ .from = 0x2FD6, .to = 0x2FDF, .orientation = .U }, .{ .from = 0x2FE0, .to = 0x2FEF, .orientation = .U }, - .{ .from = 0x2FF0, .to = 0x2FFB, .orientation = .U }, - .{ .from = 0x2FFC, .to = 0x2FFF, .orientation = .U }, + .{ .from = 0x2FF0, .to = 0x2FFF, .orientation = .U }, .{ .from = 0x3000, .to = 0x3000, .orientation = .U }, .{ .from = 0x3001, .to = 0x3002, .orientation = .Tu }, .{ .from = 0x3003, .to = 0x3003, .orientation = .U }, @@ -1237,7 +1236,8 @@ pub const data = [_]VerticalOrientation{ .{ .from = 0x3196, .to = 0x319F, .orientation = .U }, .{ .from = 0x31A0, .to = 0x31BF, .orientation = .U }, .{ .from = 0x31C0, .to = 0x31E3, .orientation = .U }, - .{ .from = 0x31E4, .to = 0x31EF, .orientation = .U }, + .{ .from = 0x31E4, .to = 0x31EE, .orientation = .U }, + .{ .from = 0x31EF, .to = 0x31EF, .orientation = .U }, .{ .from = 0x31F0, .to = 0x31FF, .orientation = .Tu }, .{ .from = 0x3200, .to = 0x321E, .orientation = .U }, .{ .from = 0x321F, .to = 0x321F, .orientation = .U }, @@ -1442,7 +1442,9 @@ pub const data = [_]VerticalOrientation{ .{ .from = 0xD7C7, .to = 0xD7CA, .orientation = .U }, .{ .from = 0xD7CB, .to = 0xD7FB, .orientation = .U }, .{ .from = 0xD7FC, .to = 0xD7FF, .orientation = .U }, - .{ .from = 0xD800, .to = 0xDFFF, .orientation = .R }, + .{ .from = 0xD800, .to = 0xDB7F, .orientation = .R }, + .{ .from = 0xDB80, .to = 0xDBFF, .orientation = .R }, + .{ .from = 0xDC00, .to = 0xDFFF, .orientation = .R }, .{ .from = 0xE000, .to = 0xF8FF, .orientation = .U }, .{ .from = 0xF900, .to = 0xFA6D, .orientation = .U }, .{ .from = 0xFA6E, .to = 0xFA6F, .orientation = .U }, @@ -2367,9 +2369,12 @@ pub const data = [_]VerticalOrientation{ .{ .from = 0x2B820, .to = 0x2CEA1, .orientation = .U }, .{ .from = 0x2CEA2, .to = 0x2CEAF, .orientation = .U }, .{ .from = 0x2CEB0, .to = 0x2EBE0, .orientation = .U }, - .{ .from = 0x2EBE1, .to = 0x2F7FF, .orientation = .U }, + .{ .from = 0x2EBE1, .to = 0x2EBEF, .orientation = .U }, + .{ .from = 0x2EBF0, .to = 0x2EE5D, .orientation = .U }, + .{ .from = 0x2EE5E, .to = 0x2F7FF, .orientation = .U }, .{ .from = 0x2F800, .to = 0x2FA1D, .orientation = .U }, - .{ .from = 0x2FA1E, .to = 0x2FFFD, .orientation = .U }, + .{ .from = 0x2FA1E, .to = 0x2FA1F, .orientation = .U }, + .{ .from = 0x2FA20, .to = 0x2FFFD, .orientation = .U }, .{ .from = 0x30000, .to = 0x3134A, .orientation = .U }, .{ .from = 0x3134B, .to = 0x3134F, .orientation = .U }, .{ .from = 0x31350, .to = 0x323AF, .orientation = .U }, -- 2.54.0