Skip to content

Commit cd3f1ef

Browse files
committed
Upgrade to Unicode 16.0
1 parent fcec08d commit cd3f1ef

File tree

5 files changed

+80
-27
lines changed

5 files changed

+80
-27
lines changed

Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ authors = [
55
"The Servo Project Developers",
66
"YesLogic Pty. Ltd. <[email protected]>"
77
]
8+
edition = "2018"
89

910
homepage = "https://github.com/yeslogic/unicode-script"
1011
repository = "https://github.com/yeslogic/unicode-script"
@@ -24,5 +25,5 @@ name = "unicode_script"
2425
harfbuzz = ["harfbuzz-sys"]
2526

2627
[dependencies.harfbuzz-sys]
27-
version = "0.5"
28+
version = "0.6.1"
2829
optional = true

Makefile

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
UCD:=16.0.0
2+
3+
tables:
4+
yeslogic-ucd-generate script --rust-enum --name Script ../ucd-generate/ucd-$(UCD) > src/tables.rs
5+
cargo fmt
6+
7+
8+
.PHONY: tables
9+

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ yeslogic-unicode-script
77
<a href="https://docs.rs/yeslogic-unicode-script">
88
<img src="https://docs.rs/yeslogic-unicode-script/badge.svg" alt="Documentation">
99
</a>
10-
<img src="https://img.shields.io/badge/unicode-15.0-informational" alt="Unicode Version">
10+
<img src="https://img.shields.io/badge/unicode-16.0-informational" alt="Unicode Version">
1111
<a href="https://crates.io/crates/yeslogic-unicode-script">
1212
<img src="https://img.shields.io/crates/v/yeslogic-unicode-script.svg" alt="Version">
1313
</a>
@@ -16,7 +16,7 @@ yeslogic-unicode-script
1616
<br>
1717

1818
Fast lookup of the Unicode Script property for `char` in Rust using
19-
Unicode 15.0 data.
19+
Unicode 16.0 data.
2020

2121
Usage
2222
-----

src/lib.rs

+11-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ pub use tables::Script;
2525

2626
/// The version of [Unicode](http://www.unicode.org/)
2727
/// that this version of unicode-script is based on.
28-
pub const UNICODE_VERSION: (u64, u64, u64) = (15, 0, 0);
28+
pub const UNICODE_VERSION: (u64, u64, u64) = (16, 0, 0);
2929

3030
#[cfg(feature = "harfbuzz")]
3131
extern crate harfbuzz_sys;
@@ -205,8 +205,17 @@ impl Script {
205205
// Kawi => HB_SCRIPT_KAWI
206206
// NagMundari => HB_SCRIPT_NAG_MUNDARI
207207

208+
// Added in Unicode 16.0
209+
// Garay =>HB_SCRIPT_GARAY,
210+
// GurungKhema => HB_SCRIPT_GURUNG_KHEMA,
211+
// KiratRai => HB_SCRIPT_KIRAT_RAI,
212+
// OlOnal => HB_SCIRPT_OLONAL,
213+
// Sunuwar => HB_SCRIPT_SUNUWAR,
214+
// Todhri | TuluTigalari
215+
208216
// So for now we return HB_SCRIPT_INVALID
209-
CyproMinoan | Kawi | NagMundari | OldUyghur | Tangsa | Toto | Vithkuqi => {
217+
CyproMinoan | Kawi | NagMundari | OldUyghur | Tangsa | Toto | Vithkuqi | Garay
218+
| GurungKhema | KiratRai | OlOnal | Sunuwar | Todhri | TuluTigalari => {
210219
HB_SCRIPT_INVALID
211220
}
212221
}

src/tables.rs

+56-22
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
22
//
3-
// yeslogic-ucd-generate script --rust-enum --name Script ../ucd-generate/ucd-15.0.0
3+
// yeslogic-ucd-generate script --rust-enum --name Script ../ucd-generate/ucd-16.0.0
44
//
5-
// Unicode version: 15.0.0.
5+
// Unicode version: 16.0.0.
66
//
7-
// yeslogic-ucd-generate 0.6.0 is available on crates.io.
7+
// yeslogic-ucd-generate 0.7.0 is available on crates.io.
88

99
#[derive(Clone, Copy, Debug, Hash, Eq, PartialEq)]
1010
pub enum Script {
@@ -48,6 +48,7 @@ pub enum Script {
4848
Elbasan,
4949
Elymaic,
5050
Ethiopic,
51+
Garay,
5152
Georgian,
5253
Glagolitic,
5354
Gothic,
@@ -56,6 +57,7 @@ pub enum Script {
5657
Gujarati,
5758
GunjalaGondi,
5859
Gurmukhi,
60+
GurungKhema,
5961
Han,
6062
Hangul,
6163
HanifiRohingya,
@@ -78,6 +80,7 @@ pub enum Script {
7880
Khmer,
7981
Khojki,
8082
Khudawadi,
83+
KiratRai,
8184
Lao,
8285
Latin,
8386
Lepcha,
@@ -115,6 +118,7 @@ pub enum Script {
115118
NyiakengPuachueHmong,
116119
Ogham,
117120
OlChiki,
121+
OlOnal,
118122
OldHungarian,
119123
OldItalic,
120124
OldNorthArabian,
@@ -146,6 +150,7 @@ pub enum Script {
146150
SoraSompeng,
147151
Soyombo,
148152
Sundanese,
153+
Sunuwar,
149154
SylotiNagri,
150155
Syriac,
151156
Tagalog,
@@ -163,7 +168,9 @@ pub enum Script {
163168
Tibetan,
164169
Tifinagh,
165170
Tirhuta,
171+
Todhri,
166172
Toto,
173+
TuluTigalari,
167174
Ugaritic,
168175
Vai,
169176
Vithkuqi,
@@ -251,7 +258,7 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
251258
(2144, 2154, Script::Syriac),
252259
(2160, 2190, Script::Arabic),
253260
(2192, 2193, Script::Arabic),
254-
(2200, 2273, Script::Arabic),
261+
(2199, 2273, Script::Arabic),
255262
(2274, 2274, Script::Common),
256263
(2275, 2303, Script::Arabic),
257264
(2304, 2384, Script::Devanagari),
@@ -473,15 +480,15 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
473480
(6816, 6829, Script::TaiTham),
474481
(6832, 6862, Script::Inherited),
475482
(6912, 6988, Script::Balinese),
476-
(6992, 7038, Script::Balinese),
483+
(6990, 7039, Script::Balinese),
477484
(7040, 7103, Script::Sundanese),
478485
(7104, 7155, Script::Batak),
479486
(7164, 7167, Script::Batak),
480487
(7168, 7223, Script::Lepcha),
481488
(7227, 7241, Script::Lepcha),
482489
(7245, 7247, Script::Lepcha),
483490
(7248, 7295, Script::OlChiki),
484-
(7296, 7304, Script::Cyrillic),
491+
(7296, 7306, Script::Cyrillic),
485492
(7312, 7354, Script::Georgian),
486493
(7357, 7359, Script::Georgian),
487494
(7360, 7367, Script::Sundanese),
@@ -548,7 +555,7 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
548555
(8527, 8543, Script::Common),
549556
(8544, 8584, Script::Latin),
550557
(8585, 8587, Script::Common),
551-
(8592, 9254, Script::Common),
558+
(8592, 9257, Script::Common),
552559
(9280, 9290, Script::Common),
553560
(9312, 10239, Script::Common),
554561
(10240, 10495, Script::Braille),
@@ -579,8 +586,7 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
579586
(11904, 11929, Script::Han),
580587
(11931, 12019, Script::Han),
581588
(12032, 12245, Script::Han),
582-
(12272, 12283, Script::Common),
583-
(12288, 12292, Script::Common),
589+
(12272, 12292, Script::Common),
584590
(12293, 12293, Script::Han),
585591
(12294, 12294, Script::Common),
586592
(12295, 12295, Script::Han),
@@ -603,7 +609,8 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
603609
(12593, 12686, Script::Hangul),
604610
(12688, 12703, Script::Common),
605611
(12704, 12735, Script::Bopomofo),
606-
(12736, 12771, Script::Common),
612+
(12736, 12773, Script::Common),
613+
(12783, 12783, Script::Common),
607614
(12784, 12799, Script::Katakana),
608615
(12800, 12830, Script::Hangul),
609616
(12832, 12895, Script::Common),
@@ -625,10 +632,10 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
625632
(42752, 42785, Script::Common),
626633
(42786, 42887, Script::Latin),
627634
(42888, 42890, Script::Common),
628-
(42891, 42954, Script::Latin),
635+
(42891, 42957, Script::Latin),
629636
(42960, 42961, Script::Latin),
630637
(42963, 42963, Script::Latin),
631-
(42965, 42969, Script::Latin),
638+
(42965, 42972, Script::Latin),
632639
(42994, 43007, Script::Latin),
633640
(43008, 43052, Script::SylotiNagri),
634641
(43056, 43065, Script::Common),
@@ -760,6 +767,7 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
760767
(66979, 66993, Script::Vithkuqi),
761768
(66995, 67001, Script::Vithkuqi),
762769
(67003, 67004, Script::Vithkuqi),
770+
(67008, 67059, Script::Todhri),
763771
(67072, 67382, Script::LinearA),
764772
(67392, 67413, Script::LinearA),
765773
(67424, 67431, Script::LinearA),
@@ -815,11 +823,15 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
815823
(68858, 68863, Script::OldHungarian),
816824
(68864, 68903, Script::HanifiRohingya),
817825
(68912, 68921, Script::HanifiRohingya),
826+
(68928, 68965, Script::Garay),
827+
(68969, 68997, Script::Garay),
828+
(69006, 69007, Script::Garay),
818829
(69216, 69246, Script::Arabic),
819830
(69248, 69289, Script::Yezidi),
820831
(69291, 69293, Script::Yezidi),
821832
(69296, 69297, Script::Yezidi),
822-
(69373, 69375, Script::Arabic),
833+
(69314, 69316, Script::Arabic),
834+
(69372, 69375, Script::Arabic),
823835
(69376, 69415, Script::OldSogdian),
824836
(69424, 69465, Script::Sogdian),
825837
(69488, 69513, Script::OldUyghur),
@@ -862,6 +874,17 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
862874
(70493, 70499, Script::Grantha),
863875
(70502, 70508, Script::Grantha),
864876
(70512, 70516, Script::Grantha),
877+
(70528, 70537, Script::TuluTigalari),
878+
(70539, 70539, Script::TuluTigalari),
879+
(70542, 70542, Script::TuluTigalari),
880+
(70544, 70581, Script::TuluTigalari),
881+
(70583, 70592, Script::TuluTigalari),
882+
(70594, 70594, Script::TuluTigalari),
883+
(70597, 70597, Script::TuluTigalari),
884+
(70599, 70602, Script::TuluTigalari),
885+
(70604, 70613, Script::TuluTigalari),
886+
(70615, 70616, Script::TuluTigalari),
887+
(70625, 70626, Script::TuluTigalari),
865888
(70656, 70747, Script::Newa),
866889
(70749, 70753, Script::Newa),
867890
(70784, 70855, Script::Tirhuta),
@@ -873,6 +896,7 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
873896
(71264, 71276, Script::Mongolian),
874897
(71296, 71353, Script::Takri),
875898
(71360, 71369, Script::Takri),
899+
(71376, 71395, Script::Myanmar),
876900
(71424, 71450, Script::Ahom),
877901
(71453, 71467, Script::Ahom),
878902
(71472, 71494, Script::Ahom),
@@ -895,6 +919,8 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
895919
(72368, 72383, Script::CanadianAboriginal),
896920
(72384, 72440, Script::PauCinHau),
897921
(72448, 72457, Script::Devanagari),
922+
(72640, 72673, Script::Sunuwar),
923+
(72688, 72697, Script::Sunuwar),
898924
(72704, 72712, Script::Bhaiksuki),
899925
(72714, 72758, Script::Bhaiksuki),
900926
(72760, 72773, Script::Bhaiksuki),
@@ -918,7 +944,7 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
918944
(73440, 73464, Script::Makasar),
919945
(73472, 73488, Script::Kawi),
920946
(73490, 73530, Script::Kawi),
921-
(73534, 73561, Script::Kawi),
947+
(73534, 73562, Script::Kawi),
922948
(73648, 73648, Script::Lisu),
923949
(73664, 73713, Script::Tamil),
924950
(73727, 73727, Script::Tamil),
@@ -928,7 +954,9 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
928954
(74880, 75075, Script::Cuneiform),
929955
(77712, 77810, Script::CyproMinoan),
930956
(77824, 78933, Script::EgyptianHieroglyphs),
957+
(78944, 82938, Script::EgyptianHieroglyphs),
931958
(82944, 83526, Script::AnatolianHieroglyphs),
959+
(90368, 90425, Script::GurungKhema),
932960
(92160, 92728, Script::Bamum),
933961
(92736, 92766, Script::Mro),
934962
(92768, 92777, Script::Mro),
@@ -942,6 +970,7 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
942970
(93019, 93025, Script::PahawhHmong),
943971
(93027, 93047, Script::PahawhHmong),
944972
(93053, 93071, Script::PahawhHmong),
973+
(93504, 93561, Script::KiratRai),
945974
(93760, 93850, Script::Medefaidrin),
946975
(93952, 94026, Script::Miao),
947976
(94031, 94087, Script::Miao),
@@ -954,6 +983,7 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
954983
(94208, 100343, Script::Tangut),
955984
(100352, 101119, Script::Tangut),
956985
(101120, 101589, Script::KhitanSmallScript),
986+
(101631, 101631, Script::KhitanSmallScript),
957987
(101632, 101640, Script::Tangut),
958988
(110576, 110579, Script::Katakana),
959989
(110581, 110587, Script::Katakana),
@@ -972,6 +1002,8 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
9721002
(113808, 113817, Script::Duployan),
9731003
(113820, 113823, Script::Duployan),
9741004
(113824, 113827, Script::Common),
1005+
(117760, 118009, Script::Common),
1006+
(118016, 118451, Script::Common),
9751007
(118528, 118573, Script::Inherited),
9761008
(118576, 118598, Script::Inherited),
9771009
(118608, 118723, Script::Common),
@@ -1032,6 +1064,8 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
10321064
(123584, 123641, Script::Wancho),
10331065
(123647, 123647, Script::Wancho),
10341066
(124112, 124153, Script::NagMundari),
1067+
(124368, 124410, Script::OlOnal),
1068+
(124415, 124415, Script::OlOnal),
10351069
(124896, 124902, Script::Ethiopic),
10361070
(124904, 124907, Script::Ethiopic),
10371071
(124909, 124910, Script::Ethiopic),
@@ -1103,24 +1137,24 @@ pub const SCRIPT: &'static [(u32, u32, Script)] = &[
11031137
(129104, 129113, Script::Common),
11041138
(129120, 129159, Script::Common),
11051139
(129168, 129197, Script::Common),
1106-
(129200, 129201, Script::Common),
1140+
(129200, 129211, Script::Common),
1141+
(129216, 129217, Script::Common),
11071142
(129280, 129619, Script::Common),
11081143
(129632, 129645, Script::Common),
11091144
(129648, 129660, Script::Common),
1110-
(129664, 129672, Script::Common),
1111-
(129680, 129725, Script::Common),
1112-
(129727, 129733, Script::Common),
1113-
(129742, 129755, Script::Common),
1114-
(129760, 129768, Script::Common),
1145+
(129664, 129673, Script::Common),
1146+
(129679, 129734, Script::Common),
1147+
(129742, 129756, Script::Common),
1148+
(129759, 129769, Script::Common),
11151149
(129776, 129784, Script::Common),
11161150
(129792, 129938, Script::Common),
1117-
(129940, 129994, Script::Common),
1118-
(130032, 130041, Script::Common),
1151+
(129940, 130041, Script::Common),
11191152
(131072, 173791, Script::Han),
11201153
(173824, 177977, Script::Han),
11211154
(177984, 178205, Script::Han),
11221155
(178208, 183969, Script::Han),
11231156
(183984, 191456, Script::Han),
1157+
(191472, 192093, Script::Han),
11241158
(194560, 195101, Script::Han),
11251159
(196608, 201546, Script::Han),
11261160
(201552, 205743, Script::Han),

0 commit comments

Comments
 (0)