diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /vendor/unic-emoji-char | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/unic-emoji-char')
-rw-r--r-- | vendor/unic-emoji-char/.cargo-checksum.json | 1 | ||||
-rw-r--r-- | vendor/unic-emoji-char/Cargo.toml | 48 | ||||
-rw-r--r-- | vendor/unic-emoji-char/src/emoji.rs | 106 | ||||
-rw-r--r-- | vendor/unic-emoji-char/src/emoji_component.rs | 108 | ||||
-rw-r--r-- | vendor/unic-emoji-char/src/emoji_modifier.rs | 106 | ||||
-rw-r--r-- | vendor/unic-emoji-char/src/emoji_modifier_base.rs | 106 | ||||
-rw-r--r-- | vendor/unic-emoji-char/src/emoji_presentation.rs | 106 | ||||
-rw-r--r-- | vendor/unic-emoji-char/src/emoji_version.rs | 17 | ||||
-rw-r--r-- | vendor/unic-emoji-char/src/lib.rs | 47 | ||||
-rw-r--r-- | vendor/unic-emoji-char/src/pkg_info.rs | 20 | ||||
-rw-r--r-- | vendor/unic-emoji-char/tables/emoji.rsv | 149 | ||||
-rw-r--r-- | vendor/unic-emoji-char/tables/emoji_component.rsv | 9 | ||||
-rw-r--r-- | vendor/unic-emoji-char/tables/emoji_modifier.rsv | 5 | ||||
-rw-r--r-- | vendor/unic-emoji-char/tables/emoji_modifier_base.rsv | 36 | ||||
-rw-r--r-- | vendor/unic-emoji-char/tables/emoji_presentation.rsv | 79 | ||||
-rw-r--r-- | vendor/unic-emoji-char/tables/emoji_version.rsv | 3 | ||||
-rw-r--r-- | vendor/unic-emoji-char/tests/emoji_version_tests.rs | 19 |
17 files changed, 965 insertions, 0 deletions
diff --git a/vendor/unic-emoji-char/.cargo-checksum.json b/vendor/unic-emoji-char/.cargo-checksum.json new file mode 100644 index 000000000..e5e00e281 --- /dev/null +++ b/vendor/unic-emoji-char/.cargo-checksum.json @@ -0,0 +1 @@ +{"files":{"Cargo.toml":"a00c0a6a58a2e0a8d7c4d83d627592788e0994e3277c2f623d21b8509af36cad","src/emoji.rs":"59d4963c363e90d994e587e9db843943406cea4ee009ac1cc5cac5e1d3d67547","src/emoji_component.rs":"40ffc89f4c67b761d16daa6fda31ec149e9bcd9f29f50d115d62b903b5a38054","src/emoji_modifier.rs":"353314425f17fca26f3c8997f07e694cbd52868b3adc348d3b43f18f1d8b3079","src/emoji_modifier_base.rs":"c34ffe1f4bf8a6e97890f9b4f1365e25c6cb91a49e8fff3d3ba105044fb0b127","src/emoji_presentation.rs":"5a23c04dbaa699b2c8bbdb1cb072ffb0682624821075de28bc427c737e9e0218","src/emoji_version.rs":"99f3d457b6eae2309ddb161f62fe74beec097fff882bb10ed3824ab82890ae95","src/lib.rs":"cfbb4c81b3f7f6de962c508bb227064e0a9136b12d66e65846d65ab3eb117bd8","src/pkg_info.rs":"37cbe4efd0b0205d251e1ef7714b23e3be27052c8a0de6b1ae3cbf3aefae1fe5","tables/emoji.rsv":"0fba40642fd7d1e81f83cae136540066c79e6d5f1a3f1b3a6add60945787e93d","tables/emoji_component.rsv":"15f692af62d6494185dace932ba4b630a9bb2e7a91a40fbd67a379ebc47767bc","tables/emoji_modifier.rsv":"c483a783ff9a6b2a4e7545e405dc33b1ea48670ae3ae835eb0a840b11f25950d","tables/emoji_modifier_base.rsv":"ca4d5da63706e43ec407923474dec5da1e278dc6f558419c909d2978cb8cf4a9","tables/emoji_presentation.rsv":"6b7a54c0d193b6bb0acab2f0ac1af6db65736db1d2e952cf4a31bb72fc271dfb","tables/emoji_version.rsv":"770dc11d51a76b2868244ff2a3de9718b5f14479c9e14944e978da890752c485","tests/emoji_version_tests.rs":"0c27fbc81dc4ad0804ae47558664ae77cf9ba073cf50eca978ebd7c9f05cdaf4"},"package":"0b07221e68897210270a38bde4babb655869637af0f69407f96053a34f76494d"}
\ No newline at end of file diff --git a/vendor/unic-emoji-char/Cargo.toml b/vendor/unic-emoji-char/Cargo.toml new file mode 100644 index 000000000..e108128d9 --- /dev/null +++ b/vendor/unic-emoji-char/Cargo.toml @@ -0,0 +1,48 @@ +# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO +# +# When uploading crates to the registry Cargo will automatically +# "normalize" Cargo.toml files for maximal compatibility +# with all versions of Cargo and also rewrite `path` dependencies +# to registry (e.g. crates.io) dependencies +# +# If you believe there's an error in this file please file an +# issue against the rust-lang/cargo repository. If you're +# editing this file be aware that the upstream Cargo.toml +# will likely look very different (and much more reasonable) + +[package] +edition = "2018" +name = "unic-emoji-char" +version = "0.9.0" +authors = ["The UNIC Project Developers"] +exclude = [] +description = "UNIC — Unicode Emoji — Emoji Character Properties" +keywords = ["text", "unicode", "character-property", "emoji"] +categories = ["internationalization", "text-processing", "parsing", "rendering"] +license = "MIT/Apache-2.0" +repository = "https://github.com/open-i18n/rust-unic/" +[dependencies.unic-char-property] +version = "0.9.0" + +[dependencies.unic-char-range] +version = "0.9.0" + +[dependencies.unic-ucd-version] +version = "0.9.0" +[badges.appveyor] +branch = "master" +repository = "open-i18n/rust-unic" +service = "github" + +[badges.is-it-maintained-issue-resolution] +repository = "open-i18n/rust-unic" + +[badges.is-it-maintained-open-issues] +repository = "open-i18n/rust-unic" + +[badges.maintenance] +status = "actively-developed" + +[badges.travis-ci] +branch = "master" +repository = "open-i18n/rust-unic" diff --git a/vendor/unic-emoji-char/src/emoji.rs b/vendor/unic-emoji-char/src/emoji.rs new file mode 100644 index 000000000..1e5388bcf --- /dev/null +++ b/vendor/unic-emoji-char/src/emoji.rs @@ -0,0 +1,106 @@ +// Copyright 2017 The UNIC Project Developers. +// +// See the COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! Unicode `Emoji` Character Property. + +char_property! { + /// Represents values of the Unicode character property + /// [`Emoji`](https://www.unicode.org/reports/tr51/#Emoji_Properties). + /// + /// The value is `true` for characters that are emoji. + pub struct Emoji(bool) { + abbr => "Emoji"; + long => "Emoji"; + human => "Emoji"; + + data_table_path => "../tables/emoji.rsv"; + } + + /// The value is `true` for characters that are emoji. + pub fn is_emoji(char) -> bool; +} + +#[cfg(test)] +mod tests { + #[test] + fn test_values() { + use super::is_emoji; + + // ASCII + assert_eq!(is_emoji('\u{0000}'), false); + assert_eq!(is_emoji('\u{0021}'), false); + + assert_eq!(is_emoji('\u{0027}'), false); + assert_eq!(is_emoji('\u{0028}'), false); + assert_eq!(is_emoji('\u{0029}'), false); + assert_eq!(is_emoji('\u{002a}'), true); + + assert_eq!(is_emoji('\u{003b}'), false); + assert_eq!(is_emoji('\u{003c}'), false); + assert_eq!(is_emoji('\u{003d}'), false); + + assert_eq!(is_emoji('\u{007a}'), false); + assert_eq!(is_emoji('\u{007b}'), false); + assert_eq!(is_emoji('\u{007c}'), false); + assert_eq!(is_emoji('\u{007d}'), false); + assert_eq!(is_emoji('\u{007e}'), false); + + // Other BMP + assert_eq!(is_emoji('\u{061b}'), false); + assert_eq!(is_emoji('\u{061c}'), false); + assert_eq!(is_emoji('\u{061d}'), false); + + assert_eq!(is_emoji('\u{200d}'), false); + assert_eq!(is_emoji('\u{200e}'), false); + assert_eq!(is_emoji('\u{200f}'), false); + assert_eq!(is_emoji('\u{2010}'), false); + + assert_eq!(is_emoji('\u{2029}'), false); + assert_eq!(is_emoji('\u{202a}'), false); + assert_eq!(is_emoji('\u{202e}'), false); + assert_eq!(is_emoji('\u{202f}'), false); + + // Other Planes + assert_eq!(is_emoji('\u{10000}'), false); + assert_eq!(is_emoji('\u{10001}'), false); + + assert_eq!(is_emoji('\u{1f1e5}'), false); + assert_eq!(is_emoji('\u{1f1e6}'), true); + assert_eq!(is_emoji('\u{1f1ff}'), true); + assert_eq!(is_emoji('\u{1f200}'), false); + + assert_eq!(is_emoji('\u{20000}'), false); + assert_eq!(is_emoji('\u{30000}'), false); + assert_eq!(is_emoji('\u{40000}'), false); + assert_eq!(is_emoji('\u{50000}'), false); + assert_eq!(is_emoji('\u{60000}'), false); + assert_eq!(is_emoji('\u{70000}'), false); + assert_eq!(is_emoji('\u{80000}'), false); + assert_eq!(is_emoji('\u{90000}'), false); + assert_eq!(is_emoji('\u{a0000}'), false); + assert_eq!(is_emoji('\u{b0000}'), false); + assert_eq!(is_emoji('\u{c0000}'), false); + assert_eq!(is_emoji('\u{d0000}'), false); + assert_eq!(is_emoji('\u{e0000}'), false); + + assert_eq!(is_emoji('\u{efffe}'), false); + assert_eq!(is_emoji('\u{effff}'), false); + + // Priavte-Use Area + assert_eq!(is_emoji('\u{f0000}'), false); + assert_eq!(is_emoji('\u{f0001}'), false); + assert_eq!(is_emoji('\u{ffffe}'), false); + assert_eq!(is_emoji('\u{fffff}'), false); + assert_eq!(is_emoji('\u{100000}'), false); + assert_eq!(is_emoji('\u{100001}'), false); + assert_eq!(is_emoji('\u{10fffe}'), false); + assert_eq!(is_emoji('\u{10ffff}'), false); + } +} diff --git a/vendor/unic-emoji-char/src/emoji_component.rs b/vendor/unic-emoji-char/src/emoji_component.rs new file mode 100644 index 000000000..eb629d399 --- /dev/null +++ b/vendor/unic-emoji-char/src/emoji_component.rs @@ -0,0 +1,108 @@ +// Copyright 2017 The UNIC Project Developers. +// +// See the COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! Unicode `Emoji_Component` Character Property. + +char_property! { + /// Represents values of the Unicode character property + /// [`Emoji_Component`](https://www.unicode.org/reports/tr51/#Emoji_Properties). + /// + /// The value is `true` for characters that normally do not appear on emoji keyboards as + /// separate choices, such as Keycap base characters, Regional_Indicators, …, `false` otherwise. + pub struct EmojiComponent(bool) { + abbr => "Emoji_Component"; + long => "Emoji_Component"; + human => "Emoji Component"; + + data_table_path => "../tables/emoji_component.rsv"; + } + + /// The value is `true` for characters that normally do not appear on emoji keyboards as + /// separate choices, such as Keycap base characters, Regional_Indicators, …, `false` otherwise. + pub fn is_emoji_component(char) -> bool; +} + +#[cfg(test)] +mod tests { + #[test] + fn test_values() { + use super::is_emoji_component; + + // ASCII + assert_eq!(is_emoji_component('\u{0000}'), false); + assert_eq!(is_emoji_component('\u{0021}'), false); + + assert_eq!(is_emoji_component('\u{0027}'), false); + assert_eq!(is_emoji_component('\u{0028}'), false); + assert_eq!(is_emoji_component('\u{0029}'), false); + assert_eq!(is_emoji_component('\u{002a}'), true); + + assert_eq!(is_emoji_component('\u{003b}'), false); + assert_eq!(is_emoji_component('\u{003c}'), false); + assert_eq!(is_emoji_component('\u{003d}'), false); + + assert_eq!(is_emoji_component('\u{007a}'), false); + assert_eq!(is_emoji_component('\u{007b}'), false); + assert_eq!(is_emoji_component('\u{007c}'), false); + assert_eq!(is_emoji_component('\u{007d}'), false); + assert_eq!(is_emoji_component('\u{007e}'), false); + + // Other BMP + assert_eq!(is_emoji_component('\u{061b}'), false); + assert_eq!(is_emoji_component('\u{061c}'), false); + assert_eq!(is_emoji_component('\u{061d}'), false); + + assert_eq!(is_emoji_component('\u{200d}'), false); + assert_eq!(is_emoji_component('\u{200e}'), false); + assert_eq!(is_emoji_component('\u{200f}'), false); + assert_eq!(is_emoji_component('\u{2010}'), false); + + assert_eq!(is_emoji_component('\u{2029}'), false); + assert_eq!(is_emoji_component('\u{202a}'), false); + assert_eq!(is_emoji_component('\u{202e}'), false); + assert_eq!(is_emoji_component('\u{202f}'), false); + + // Other Planes + assert_eq!(is_emoji_component('\u{10000}'), false); + assert_eq!(is_emoji_component('\u{10001}'), false); + + assert_eq!(is_emoji_component('\u{1f1e5}'), false); + assert_eq!(is_emoji_component('\u{1f1e6}'), true); + assert_eq!(is_emoji_component('\u{1f1ff}'), true); + assert_eq!(is_emoji_component('\u{1f200}'), false); + + assert_eq!(is_emoji_component('\u{20000}'), false); + assert_eq!(is_emoji_component('\u{30000}'), false); + assert_eq!(is_emoji_component('\u{40000}'), false); + assert_eq!(is_emoji_component('\u{50000}'), false); + assert_eq!(is_emoji_component('\u{60000}'), false); + assert_eq!(is_emoji_component('\u{70000}'), false); + assert_eq!(is_emoji_component('\u{80000}'), false); + assert_eq!(is_emoji_component('\u{90000}'), false); + assert_eq!(is_emoji_component('\u{a0000}'), false); + assert_eq!(is_emoji_component('\u{b0000}'), false); + assert_eq!(is_emoji_component('\u{c0000}'), false); + assert_eq!(is_emoji_component('\u{d0000}'), false); + assert_eq!(is_emoji_component('\u{e0000}'), false); + + assert_eq!(is_emoji_component('\u{efffe}'), false); + assert_eq!(is_emoji_component('\u{effff}'), false); + + // Priavte-Use Area + assert_eq!(is_emoji_component('\u{f0000}'), false); + assert_eq!(is_emoji_component('\u{f0001}'), false); + assert_eq!(is_emoji_component('\u{ffffe}'), false); + assert_eq!(is_emoji_component('\u{fffff}'), false); + assert_eq!(is_emoji_component('\u{100000}'), false); + assert_eq!(is_emoji_component('\u{100001}'), false); + assert_eq!(is_emoji_component('\u{10fffe}'), false); + assert_eq!(is_emoji_component('\u{10ffff}'), false); + } +} diff --git a/vendor/unic-emoji-char/src/emoji_modifier.rs b/vendor/unic-emoji-char/src/emoji_modifier.rs new file mode 100644 index 000000000..863370ab1 --- /dev/null +++ b/vendor/unic-emoji-char/src/emoji_modifier.rs @@ -0,0 +1,106 @@ +// Copyright 2017 The UNIC Project Developers. +// +// See the COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! Unicode `Emoji_Modifier` Character Property. + +char_property! { + /// Represents values of the Unicode character property + /// [`Emoji_Modifier`](https://www.unicode.org/reports/tr51/#Emoji_Properties). + /// + /// The value is `true` for characters that have emoji presentation by default. + pub struct EmojiModifier(bool) { + abbr => "Emoji_Modifier"; + long => "Emoji_Modifier"; + human => "Emoji Modifier"; + + data_table_path => "../tables/emoji_modifier.rsv"; + } + + /// The value is `true` for characters that have emoji presentation by default. + pub fn is_emoji_modifier(char) -> bool; +} + +#[cfg(test)] +mod tests { + #[test] + fn test_values() { + use super::is_emoji_modifier; + + // ASCII + assert_eq!(is_emoji_modifier('\u{0000}'), false); + assert_eq!(is_emoji_modifier('\u{0021}'), false); + + assert_eq!(is_emoji_modifier('\u{0027}'), false); + assert_eq!(is_emoji_modifier('\u{0028}'), false); + assert_eq!(is_emoji_modifier('\u{0029}'), false); + assert_eq!(is_emoji_modifier('\u{002a}'), false); + + assert_eq!(is_emoji_modifier('\u{003b}'), false); + assert_eq!(is_emoji_modifier('\u{003c}'), false); + assert_eq!(is_emoji_modifier('\u{003d}'), false); + + assert_eq!(is_emoji_modifier('\u{007a}'), false); + assert_eq!(is_emoji_modifier('\u{007b}'), false); + assert_eq!(is_emoji_modifier('\u{007c}'), false); + assert_eq!(is_emoji_modifier('\u{007d}'), false); + assert_eq!(is_emoji_modifier('\u{007e}'), false); + + // Other BMP + assert_eq!(is_emoji_modifier('\u{061b}'), false); + assert_eq!(is_emoji_modifier('\u{061c}'), false); + assert_eq!(is_emoji_modifier('\u{061d}'), false); + + assert_eq!(is_emoji_modifier('\u{200d}'), false); + assert_eq!(is_emoji_modifier('\u{200e}'), false); + assert_eq!(is_emoji_modifier('\u{200f}'), false); + assert_eq!(is_emoji_modifier('\u{2010}'), false); + + assert_eq!(is_emoji_modifier('\u{2029}'), false); + assert_eq!(is_emoji_modifier('\u{202a}'), false); + assert_eq!(is_emoji_modifier('\u{202e}'), false); + assert_eq!(is_emoji_modifier('\u{202f}'), false); + + // Other Planes + assert_eq!(is_emoji_modifier('\u{10000}'), false); + assert_eq!(is_emoji_modifier('\u{10001}'), false); + + assert_eq!(is_emoji_modifier('\u{1f1e5}'), false); + assert_eq!(is_emoji_modifier('\u{1f1e6}'), false); + assert_eq!(is_emoji_modifier('\u{1f1ff}'), false); + assert_eq!(is_emoji_modifier('\u{1f200}'), false); + + assert_eq!(is_emoji_modifier('\u{20000}'), false); + assert_eq!(is_emoji_modifier('\u{30000}'), false); + assert_eq!(is_emoji_modifier('\u{40000}'), false); + assert_eq!(is_emoji_modifier('\u{50000}'), false); + assert_eq!(is_emoji_modifier('\u{60000}'), false); + assert_eq!(is_emoji_modifier('\u{70000}'), false); + assert_eq!(is_emoji_modifier('\u{80000}'), false); + assert_eq!(is_emoji_modifier('\u{90000}'), false); + assert_eq!(is_emoji_modifier('\u{a0000}'), false); + assert_eq!(is_emoji_modifier('\u{b0000}'), false); + assert_eq!(is_emoji_modifier('\u{c0000}'), false); + assert_eq!(is_emoji_modifier('\u{d0000}'), false); + assert_eq!(is_emoji_modifier('\u{e0000}'), false); + + assert_eq!(is_emoji_modifier('\u{efffe}'), false); + assert_eq!(is_emoji_modifier('\u{effff}'), false); + + // Priavte-Use Area + assert_eq!(is_emoji_modifier('\u{f0000}'), false); + assert_eq!(is_emoji_modifier('\u{f0001}'), false); + assert_eq!(is_emoji_modifier('\u{ffffe}'), false); + assert_eq!(is_emoji_modifier('\u{fffff}'), false); + assert_eq!(is_emoji_modifier('\u{100000}'), false); + assert_eq!(is_emoji_modifier('\u{100001}'), false); + assert_eq!(is_emoji_modifier('\u{10fffe}'), false); + assert_eq!(is_emoji_modifier('\u{10ffff}'), false); + } +} diff --git a/vendor/unic-emoji-char/src/emoji_modifier_base.rs b/vendor/unic-emoji-char/src/emoji_modifier_base.rs new file mode 100644 index 000000000..c903914ff --- /dev/null +++ b/vendor/unic-emoji-char/src/emoji_modifier_base.rs @@ -0,0 +1,106 @@ +// Copyright 2017 The UNIC Project Developers. +// +// See the COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! Unicode `Emoji_Modifier_Base` Character Property. + +char_property! { + /// Represents values of the Unicode character property + /// [`Emoji_Modifier_Base`](https://www.unicode.org/reports/tr51/#Emoji_Properties). + /// + /// The value is `true` for characters that are emoji modifiers. + pub struct EmojiModifierBase(bool) { + abbr => "Emoji_Modifier_Base"; + long => "Emoji_Modifier_Base"; + human => "Emoji Modifier Base"; + + data_table_path => "../tables/emoji_modifier_base.rsv"; + } + + /// The value is `true` for characters that are emoji modifiers. + pub fn is_emoji_modifier_base(char) -> bool; +} + +#[cfg(test)] +mod tests { + #[test] + fn test_values() { + use super::is_emoji_modifier_base; + + // ASCII + assert_eq!(is_emoji_modifier_base('\u{0000}'), false); + assert_eq!(is_emoji_modifier_base('\u{0021}'), false); + + assert_eq!(is_emoji_modifier_base('\u{0027}'), false); + assert_eq!(is_emoji_modifier_base('\u{0028}'), false); + assert_eq!(is_emoji_modifier_base('\u{0029}'), false); + assert_eq!(is_emoji_modifier_base('\u{002a}'), false); + + assert_eq!(is_emoji_modifier_base('\u{003b}'), false); + assert_eq!(is_emoji_modifier_base('\u{003c}'), false); + assert_eq!(is_emoji_modifier_base('\u{003d}'), false); + + assert_eq!(is_emoji_modifier_base('\u{007a}'), false); + assert_eq!(is_emoji_modifier_base('\u{007b}'), false); + assert_eq!(is_emoji_modifier_base('\u{007c}'), false); + assert_eq!(is_emoji_modifier_base('\u{007d}'), false); + assert_eq!(is_emoji_modifier_base('\u{007e}'), false); + + // Other BMP + assert_eq!(is_emoji_modifier_base('\u{061b}'), false); + assert_eq!(is_emoji_modifier_base('\u{061c}'), false); + assert_eq!(is_emoji_modifier_base('\u{061d}'), false); + + assert_eq!(is_emoji_modifier_base('\u{200d}'), false); + assert_eq!(is_emoji_modifier_base('\u{200e}'), false); + assert_eq!(is_emoji_modifier_base('\u{200f}'), false); + assert_eq!(is_emoji_modifier_base('\u{2010}'), false); + + assert_eq!(is_emoji_modifier_base('\u{2029}'), false); + assert_eq!(is_emoji_modifier_base('\u{202a}'), false); + assert_eq!(is_emoji_modifier_base('\u{202e}'), false); + assert_eq!(is_emoji_modifier_base('\u{202f}'), false); + + // Other Planes + assert_eq!(is_emoji_modifier_base('\u{10000}'), false); + assert_eq!(is_emoji_modifier_base('\u{10001}'), false); + + assert_eq!(is_emoji_modifier_base('\u{1f1e5}'), false); + assert_eq!(is_emoji_modifier_base('\u{1f1e6}'), false); + assert_eq!(is_emoji_modifier_base('\u{1f1ff}'), false); + assert_eq!(is_emoji_modifier_base('\u{1f200}'), false); + + assert_eq!(is_emoji_modifier_base('\u{20000}'), false); + assert_eq!(is_emoji_modifier_base('\u{30000}'), false); + assert_eq!(is_emoji_modifier_base('\u{40000}'), false); + assert_eq!(is_emoji_modifier_base('\u{50000}'), false); + assert_eq!(is_emoji_modifier_base('\u{60000}'), false); + assert_eq!(is_emoji_modifier_base('\u{70000}'), false); + assert_eq!(is_emoji_modifier_base('\u{80000}'), false); + assert_eq!(is_emoji_modifier_base('\u{90000}'), false); + assert_eq!(is_emoji_modifier_base('\u{a0000}'), false); + assert_eq!(is_emoji_modifier_base('\u{b0000}'), false); + assert_eq!(is_emoji_modifier_base('\u{c0000}'), false); + assert_eq!(is_emoji_modifier_base('\u{d0000}'), false); + assert_eq!(is_emoji_modifier_base('\u{e0000}'), false); + + assert_eq!(is_emoji_modifier_base('\u{efffe}'), false); + assert_eq!(is_emoji_modifier_base('\u{effff}'), false); + + // Priavte-Use Area + assert_eq!(is_emoji_modifier_base('\u{f0000}'), false); + assert_eq!(is_emoji_modifier_base('\u{f0001}'), false); + assert_eq!(is_emoji_modifier_base('\u{ffffe}'), false); + assert_eq!(is_emoji_modifier_base('\u{fffff}'), false); + assert_eq!(is_emoji_modifier_base('\u{100000}'), false); + assert_eq!(is_emoji_modifier_base('\u{100001}'), false); + assert_eq!(is_emoji_modifier_base('\u{10fffe}'), false); + assert_eq!(is_emoji_modifier_base('\u{10ffff}'), false); + } +} diff --git a/vendor/unic-emoji-char/src/emoji_presentation.rs b/vendor/unic-emoji-char/src/emoji_presentation.rs new file mode 100644 index 000000000..25e9e4cd8 --- /dev/null +++ b/vendor/unic-emoji-char/src/emoji_presentation.rs @@ -0,0 +1,106 @@ +// Copyright 2017 The UNIC Project Developers. +// +// See the COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! Unicode `Emoji_Presentation` Character Property. + +char_property! { + /// Represents values of the Unicode character property + /// [`Emoji_Presentation`](https://www.unicode.org/reports/tr51/#Emoji_Properties). + /// + /// The value is `true` for characters that have emoji presentation by default. + pub struct EmojiPresentation(bool) { + abbr => "Emoji_Presentation"; + long => "Emoji_Presentation"; + human => "Emoji Presentation"; + + data_table_path => "../tables/emoji_presentation.rsv"; + } + + /// The value is `true` for characters that have emoji presentation by default. + pub fn is_emoji_presentation(char) -> bool; +} + +#[cfg(test)] +mod tests { + #[test] + fn test_values() { + use super::is_emoji_presentation; + + // ASCII + assert_eq!(is_emoji_presentation('\u{0000}'), false); + assert_eq!(is_emoji_presentation('\u{0021}'), false); + + assert_eq!(is_emoji_presentation('\u{0027}'), false); + assert_eq!(is_emoji_presentation('\u{0028}'), false); + assert_eq!(is_emoji_presentation('\u{0029}'), false); + assert_eq!(is_emoji_presentation('\u{002a}'), false); + + assert_eq!(is_emoji_presentation('\u{003b}'), false); + assert_eq!(is_emoji_presentation('\u{003c}'), false); + assert_eq!(is_emoji_presentation('\u{003d}'), false); + + assert_eq!(is_emoji_presentation('\u{007a}'), false); + assert_eq!(is_emoji_presentation('\u{007b}'), false); + assert_eq!(is_emoji_presentation('\u{007c}'), false); + assert_eq!(is_emoji_presentation('\u{007d}'), false); + assert_eq!(is_emoji_presentation('\u{007e}'), false); + + // Other BMP + assert_eq!(is_emoji_presentation('\u{061b}'), false); + assert_eq!(is_emoji_presentation('\u{061c}'), false); + assert_eq!(is_emoji_presentation('\u{061d}'), false); + + assert_eq!(is_emoji_presentation('\u{200d}'), false); + assert_eq!(is_emoji_presentation('\u{200e}'), false); + assert_eq!(is_emoji_presentation('\u{200f}'), false); + assert_eq!(is_emoji_presentation('\u{2010}'), false); + + assert_eq!(is_emoji_presentation('\u{2029}'), false); + assert_eq!(is_emoji_presentation('\u{202a}'), false); + assert_eq!(is_emoji_presentation('\u{202e}'), false); + assert_eq!(is_emoji_presentation('\u{202f}'), false); + + // Other Planes + assert_eq!(is_emoji_presentation('\u{10000}'), false); + assert_eq!(is_emoji_presentation('\u{10001}'), false); + + assert_eq!(is_emoji_presentation('\u{1f1e5}'), false); + assert_eq!(is_emoji_presentation('\u{1f1e6}'), true); + assert_eq!(is_emoji_presentation('\u{1f1ff}'), true); + assert_eq!(is_emoji_presentation('\u{1f200}'), false); + + assert_eq!(is_emoji_presentation('\u{20000}'), false); + assert_eq!(is_emoji_presentation('\u{30000}'), false); + assert_eq!(is_emoji_presentation('\u{40000}'), false); + assert_eq!(is_emoji_presentation('\u{50000}'), false); + assert_eq!(is_emoji_presentation('\u{60000}'), false); + assert_eq!(is_emoji_presentation('\u{70000}'), false); + assert_eq!(is_emoji_presentation('\u{80000}'), false); + assert_eq!(is_emoji_presentation('\u{90000}'), false); + assert_eq!(is_emoji_presentation('\u{a0000}'), false); + assert_eq!(is_emoji_presentation('\u{b0000}'), false); + assert_eq!(is_emoji_presentation('\u{c0000}'), false); + assert_eq!(is_emoji_presentation('\u{d0000}'), false); + assert_eq!(is_emoji_presentation('\u{e0000}'), false); + + assert_eq!(is_emoji_presentation('\u{efffe}'), false); + assert_eq!(is_emoji_presentation('\u{effff}'), false); + + // Priavte-Use Area + assert_eq!(is_emoji_presentation('\u{f0000}'), false); + assert_eq!(is_emoji_presentation('\u{f0001}'), false); + assert_eq!(is_emoji_presentation('\u{ffffe}'), false); + assert_eq!(is_emoji_presentation('\u{fffff}'), false); + assert_eq!(is_emoji_presentation('\u{100000}'), false); + assert_eq!(is_emoji_presentation('\u{100001}'), false); + assert_eq!(is_emoji_presentation('\u{10fffe}'), false); + assert_eq!(is_emoji_presentation('\u{10ffff}'), false); + } +} diff --git a/vendor/unic-emoji-char/src/emoji_version.rs b/vendor/unic-emoji-char/src/emoji_version.rs new file mode 100644 index 000000000..62a419626 --- /dev/null +++ b/vendor/unic-emoji-char/src/emoji_version.rs @@ -0,0 +1,17 @@ +// Copyright 2017 The UNIC Project Developers. +// +// See the COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +pub use unic_ucd_version::UnicodeVersion; + +/// The [Emoji Version] of character property data. +/// +/// Refs: +/// - <https://unicode.org/reports/tr51/> +pub const EMOJI_VERSION: UnicodeVersion = include!("../tables/emoji_version.rsv"); diff --git a/vendor/unic-emoji-char/src/lib.rs b/vendor/unic-emoji-char/src/lib.rs new file mode 100644 index 000000000..38be97169 --- /dev/null +++ b/vendor/unic-emoji-char/src/lib.rs @@ -0,0 +1,47 @@ +// Copyright 2017 The UNIC Project Developers. +// +// See the COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![warn( + bad_style, + missing_debug_implementations, + missing_docs, + unconditional_recursion +)] +#![forbid(unsafe_code)] + +//! # UNIC — Unicode Emoji — Emoji Character Properties +//! +//! A component of [`unic`: Unicode and Internationalization Crates for Rust](/unic/). + +#[macro_use] +extern crate unic_char_property; +#[macro_use] +extern crate unic_char_range; + +mod pkg_info; +pub use crate::pkg_info::{PKG_DESCRIPTION, PKG_NAME, PKG_VERSION}; + +mod emoji_version; +pub use crate::emoji_version::{UnicodeVersion, EMOJI_VERSION}; + +mod emoji; +pub use crate::emoji::{is_emoji, Emoji}; + +mod emoji_component; +pub use crate::emoji_component::{is_emoji_component, EmojiComponent}; + +mod emoji_modifier; +pub use crate::emoji_modifier::{is_emoji_modifier, EmojiModifier}; + +mod emoji_modifier_base; +pub use crate::emoji_modifier_base::{is_emoji_modifier_base, EmojiModifierBase}; + +mod emoji_presentation; +pub use crate::emoji_presentation::{is_emoji_presentation, EmojiPresentation}; diff --git a/vendor/unic-emoji-char/src/pkg_info.rs b/vendor/unic-emoji-char/src/pkg_info.rs new file mode 100644 index 000000000..a1ab2853f --- /dev/null +++ b/vendor/unic-emoji-char/src/pkg_info.rs @@ -0,0 +1,20 @@ +// Copyright 2017 The UNIC Project Developers. +// +// See the COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! Package information + +/// UNIC component version. +pub const PKG_VERSION: &str = env!("CARGO_PKG_VERSION"); + +/// UNIC component name. +pub const PKG_NAME: &str = env!("CARGO_PKG_NAME"); + +/// UNIC component description. +pub const PKG_DESCRIPTION: &str = env!("CARGO_PKG_DESCRIPTION"); diff --git a/vendor/unic-emoji-char/tables/emoji.rsv b/vendor/unic-emoji-char/tables/emoji.rsv new file mode 100644 index 000000000..620aca301 --- /dev/null +++ b/vendor/unic-emoji-char/tables/emoji.rsv @@ -0,0 +1,149 @@ +// WARNING: Auto-generated by the `unic-gen` crate. +// WARNING: DO NOT EDIT MANUALLY! +CharDataTable::Range(&[ + (chars!('\u{23}'..='\u{23}'), ()), + (chars!('\u{2a}'..='\u{2a}'), ()), + (chars!('\u{30}'..='\u{39}'), ()), + (chars!('\u{a9}'..='\u{a9}'), ()), + (chars!('\u{ae}'..='\u{ae}'), ()), + (chars!('\u{203c}'..='\u{203c}'), ()), + (chars!('\u{2049}'..='\u{2049}'), ()), + (chars!('\u{2122}'..='\u{2122}'), ()), + (chars!('\u{2139}'..='\u{2139}'), ()), + (chars!('\u{2194}'..='\u{2199}'), ()), + (chars!('\u{21a9}'..='\u{21aa}'), ()), + (chars!('\u{231a}'..='\u{231b}'), ()), + (chars!('\u{2328}'..='\u{2328}'), ()), + (chars!('\u{23cf}'..='\u{23cf}'), ()), + (chars!('\u{23e9}'..='\u{23f3}'), ()), + (chars!('\u{23f8}'..='\u{23fa}'), ()), + (chars!('\u{24c2}'..='\u{24c2}'), ()), + (chars!('\u{25aa}'..='\u{25ab}'), ()), + (chars!('\u{25b6}'..='\u{25b6}'), ()), + (chars!('\u{25c0}'..='\u{25c0}'), ()), + (chars!('\u{25fb}'..='\u{25fe}'), ()), + (chars!('\u{2600}'..='\u{2604}'), ()), + (chars!('\u{260e}'..='\u{260e}'), ()), + (chars!('\u{2611}'..='\u{2611}'), ()), + (chars!('\u{2614}'..='\u{2615}'), ()), + (chars!('\u{2618}'..='\u{2618}'), ()), + (chars!('\u{261d}'..='\u{261d}'), ()), + (chars!('\u{2620}'..='\u{2620}'), ()), + (chars!('\u{2622}'..='\u{2623}'), ()), + (chars!('\u{2626}'..='\u{2626}'), ()), + (chars!('\u{262a}'..='\u{262a}'), ()), + (chars!('\u{262e}'..='\u{262f}'), ()), + (chars!('\u{2638}'..='\u{263a}'), ()), + (chars!('\u{2640}'..='\u{2640}'), ()), + (chars!('\u{2642}'..='\u{2642}'), ()), + (chars!('\u{2648}'..='\u{2653}'), ()), + (chars!('\u{2660}'..='\u{2660}'), ()), + (chars!('\u{2663}'..='\u{2663}'), ()), + (chars!('\u{2665}'..='\u{2666}'), ()), + (chars!('\u{2668}'..='\u{2668}'), ()), + (chars!('\u{267b}'..='\u{267b}'), ()), + (chars!('\u{267f}'..='\u{267f}'), ()), + (chars!('\u{2692}'..='\u{2697}'), ()), + (chars!('\u{2699}'..='\u{2699}'), ()), + (chars!('\u{269b}'..='\u{269c}'), ()), + (chars!('\u{26a0}'..='\u{26a1}'), ()), + (chars!('\u{26aa}'..='\u{26ab}'), ()), + (chars!('\u{26b0}'..='\u{26b1}'), ()), + (chars!('\u{26bd}'..='\u{26be}'), ()), + (chars!('\u{26c4}'..='\u{26c5}'), ()), + (chars!('\u{26c8}'..='\u{26c8}'), ()), + (chars!('\u{26ce}'..='\u{26cf}'), ()), + (chars!('\u{26d1}'..='\u{26d1}'), ()), + (chars!('\u{26d3}'..='\u{26d4}'), ()), + (chars!('\u{26e9}'..='\u{26ea}'), ()), + (chars!('\u{26f0}'..='\u{26f5}'), ()), + (chars!('\u{26f7}'..='\u{26fa}'), ()), + (chars!('\u{26fd}'..='\u{26fd}'), ()), + (chars!('\u{2702}'..='\u{2702}'), ()), + (chars!('\u{2705}'..='\u{2705}'), ()), + (chars!('\u{2708}'..='\u{270d}'), ()), + (chars!('\u{270f}'..='\u{270f}'), ()), + (chars!('\u{2712}'..='\u{2712}'), ()), + (chars!('\u{2714}'..='\u{2714}'), ()), + (chars!('\u{2716}'..='\u{2716}'), ()), + (chars!('\u{271d}'..='\u{271d}'), ()), + (chars!('\u{2721}'..='\u{2721}'), ()), + (chars!('\u{2728}'..='\u{2728}'), ()), + (chars!('\u{2733}'..='\u{2734}'), ()), + (chars!('\u{2744}'..='\u{2744}'), ()), + (chars!('\u{2747}'..='\u{2747}'), ()), + (chars!('\u{274c}'..='\u{274c}'), ()), + (chars!('\u{274e}'..='\u{274e}'), ()), + (chars!('\u{2753}'..='\u{2755}'), ()), + (chars!('\u{2757}'..='\u{2757}'), ()), + (chars!('\u{2763}'..='\u{2764}'), ()), + (chars!('\u{2795}'..='\u{2797}'), ()), + (chars!('\u{27a1}'..='\u{27a1}'), ()), + (chars!('\u{27b0}'..='\u{27b0}'), ()), + (chars!('\u{27bf}'..='\u{27bf}'), ()), + (chars!('\u{2934}'..='\u{2935}'), ()), + (chars!('\u{2b05}'..='\u{2b07}'), ()), + (chars!('\u{2b1b}'..='\u{2b1c}'), ()), + (chars!('\u{2b50}'..='\u{2b50}'), ()), + (chars!('\u{2b55}'..='\u{2b55}'), ()), + (chars!('\u{3030}'..='\u{3030}'), ()), + (chars!('\u{303d}'..='\u{303d}'), ()), + (chars!('\u{3297}'..='\u{3297}'), ()), + (chars!('\u{3299}'..='\u{3299}'), ()), + (chars!('\u{1f004}'..='\u{1f004}'), ()), + (chars!('\u{1f0cf}'..='\u{1f0cf}'), ()), + (chars!('\u{1f170}'..='\u{1f171}'), ()), + (chars!('\u{1f17e}'..='\u{1f17f}'), ()), + (chars!('\u{1f18e}'..='\u{1f18e}'), ()), + (chars!('\u{1f191}'..='\u{1f19a}'), ()), + (chars!('\u{1f1e6}'..='\u{1f1ff}'), ()), + (chars!('\u{1f201}'..='\u{1f202}'), ()), + (chars!('\u{1f21a}'..='\u{1f21a}'), ()), + (chars!('\u{1f22f}'..='\u{1f22f}'), ()), + (chars!('\u{1f232}'..='\u{1f23a}'), ()), + (chars!('\u{1f250}'..='\u{1f251}'), ()), + (chars!('\u{1f300}'..='\u{1f321}'), ()), + (chars!('\u{1f324}'..='\u{1f393}'), ()), + (chars!('\u{1f396}'..='\u{1f397}'), ()), + (chars!('\u{1f399}'..='\u{1f39b}'), ()), + (chars!('\u{1f39e}'..='\u{1f3f0}'), ()), + (chars!('\u{1f3f3}'..='\u{1f3f5}'), ()), + (chars!('\u{1f3f7}'..='\u{1f4fd}'), ()), + (chars!('\u{1f4ff}'..='\u{1f53d}'), ()), + (chars!('\u{1f549}'..='\u{1f54e}'), ()), + (chars!('\u{1f550}'..='\u{1f567}'), ()), + (chars!('\u{1f56f}'..='\u{1f570}'), ()), + (chars!('\u{1f573}'..='\u{1f57a}'), ()), + (chars!('\u{1f587}'..='\u{1f587}'), ()), + (chars!('\u{1f58a}'..='\u{1f58d}'), ()), + (chars!('\u{1f590}'..='\u{1f590}'), ()), + (chars!('\u{1f595}'..='\u{1f596}'), ()), + (chars!('\u{1f5a4}'..='\u{1f5a5}'), ()), + (chars!('\u{1f5a8}'..='\u{1f5a8}'), ()), + (chars!('\u{1f5b1}'..='\u{1f5b2}'), ()), + (chars!('\u{1f5bc}'..='\u{1f5bc}'), ()), + (chars!('\u{1f5c2}'..='\u{1f5c4}'), ()), + (chars!('\u{1f5d1}'..='\u{1f5d3}'), ()), + (chars!('\u{1f5dc}'..='\u{1f5de}'), ()), + (chars!('\u{1f5e1}'..='\u{1f5e1}'), ()), + (chars!('\u{1f5e3}'..='\u{1f5e3}'), ()), + (chars!('\u{1f5e8}'..='\u{1f5e8}'), ()), + (chars!('\u{1f5ef}'..='\u{1f5ef}'), ()), + (chars!('\u{1f5f3}'..='\u{1f5f3}'), ()), + (chars!('\u{1f5fa}'..='\u{1f64f}'), ()), + (chars!('\u{1f680}'..='\u{1f6c5}'), ()), + (chars!('\u{1f6cb}'..='\u{1f6d2}'), ()), + (chars!('\u{1f6e0}'..='\u{1f6e5}'), ()), + (chars!('\u{1f6e9}'..='\u{1f6e9}'), ()), + (chars!('\u{1f6eb}'..='\u{1f6ec}'), ()), + (chars!('\u{1f6f0}'..='\u{1f6f0}'), ()), + (chars!('\u{1f6f3}'..='\u{1f6f8}'), ()), + (chars!('\u{1f910}'..='\u{1f93a}'), ()), + (chars!('\u{1f93c}'..='\u{1f93e}'), ()), + (chars!('\u{1f940}'..='\u{1f945}'), ()), + (chars!('\u{1f947}'..='\u{1f94c}'), ()), + (chars!('\u{1f950}'..='\u{1f96b}'), ()), + (chars!('\u{1f980}'..='\u{1f997}'), ()), + (chars!('\u{1f9c0}'..='\u{1f9c0}'), ()), + (chars!('\u{1f9d0}'..='\u{1f9e6}'), ()), +]) diff --git a/vendor/unic-emoji-char/tables/emoji_component.rsv b/vendor/unic-emoji-char/tables/emoji_component.rsv new file mode 100644 index 000000000..bc9495518 --- /dev/null +++ b/vendor/unic-emoji-char/tables/emoji_component.rsv @@ -0,0 +1,9 @@ +// WARNING: Auto-generated by the `unic-gen` crate. +// WARNING: DO NOT EDIT MANUALLY! +CharDataTable::Range(&[ + (chars!('\u{23}'..='\u{23}'), ()), + (chars!('\u{2a}'..='\u{2a}'), ()), + (chars!('\u{30}'..='\u{39}'), ()), + (chars!('\u{1f1e6}'..='\u{1f1ff}'), ()), + (chars!('\u{1f3fb}'..='\u{1f3ff}'), ()), +]) diff --git a/vendor/unic-emoji-char/tables/emoji_modifier.rsv b/vendor/unic-emoji-char/tables/emoji_modifier.rsv new file mode 100644 index 000000000..b42c98e1b --- /dev/null +++ b/vendor/unic-emoji-char/tables/emoji_modifier.rsv @@ -0,0 +1,5 @@ +// WARNING: Auto-generated by the `unic-gen` crate. +// WARNING: DO NOT EDIT MANUALLY! +CharDataTable::Range(&[ + (chars!('\u{1f3fb}'..='\u{1f3ff}'), ()), +]) diff --git a/vendor/unic-emoji-char/tables/emoji_modifier_base.rsv b/vendor/unic-emoji-char/tables/emoji_modifier_base.rsv new file mode 100644 index 000000000..3df4df11c --- /dev/null +++ b/vendor/unic-emoji-char/tables/emoji_modifier_base.rsv @@ -0,0 +1,36 @@ +// WARNING: Auto-generated by the `unic-gen` crate. +// WARNING: DO NOT EDIT MANUALLY! +CharDataTable::Range(&[ + (chars!('\u{261d}'..='\u{261d}'), ()), + (chars!('\u{26f9}'..='\u{26f9}'), ()), + (chars!('\u{270a}'..='\u{270d}'), ()), + (chars!('\u{1f385}'..='\u{1f385}'), ()), + (chars!('\u{1f3c2}'..='\u{1f3c4}'), ()), + (chars!('\u{1f3c7}'..='\u{1f3c7}'), ()), + (chars!('\u{1f3ca}'..='\u{1f3cc}'), ()), + (chars!('\u{1f442}'..='\u{1f443}'), ()), + (chars!('\u{1f446}'..='\u{1f450}'), ()), + (chars!('\u{1f466}'..='\u{1f469}'), ()), + (chars!('\u{1f46e}'..='\u{1f46e}'), ()), + (chars!('\u{1f470}'..='\u{1f478}'), ()), + (chars!('\u{1f47c}'..='\u{1f47c}'), ()), + (chars!('\u{1f481}'..='\u{1f483}'), ()), + (chars!('\u{1f485}'..='\u{1f487}'), ()), + (chars!('\u{1f4aa}'..='\u{1f4aa}'), ()), + (chars!('\u{1f574}'..='\u{1f575}'), ()), + (chars!('\u{1f57a}'..='\u{1f57a}'), ()), + (chars!('\u{1f590}'..='\u{1f590}'), ()), + (chars!('\u{1f595}'..='\u{1f596}'), ()), + (chars!('\u{1f645}'..='\u{1f647}'), ()), + (chars!('\u{1f64b}'..='\u{1f64f}'), ()), + (chars!('\u{1f6a3}'..='\u{1f6a3}'), ()), + (chars!('\u{1f6b4}'..='\u{1f6b6}'), ()), + (chars!('\u{1f6c0}'..='\u{1f6c0}'), ()), + (chars!('\u{1f6cc}'..='\u{1f6cc}'), ()), + (chars!('\u{1f918}'..='\u{1f91c}'), ()), + (chars!('\u{1f91e}'..='\u{1f91f}'), ()), + (chars!('\u{1f926}'..='\u{1f926}'), ()), + (chars!('\u{1f930}'..='\u{1f939}'), ()), + (chars!('\u{1f93d}'..='\u{1f93e}'), ()), + (chars!('\u{1f9d1}'..='\u{1f9dd}'), ()), +]) diff --git a/vendor/unic-emoji-char/tables/emoji_presentation.rsv b/vendor/unic-emoji-char/tables/emoji_presentation.rsv new file mode 100644 index 000000000..5e594f1e9 --- /dev/null +++ b/vendor/unic-emoji-char/tables/emoji_presentation.rsv @@ -0,0 +1,79 @@ +// WARNING: Auto-generated by the `unic-gen` crate. +// WARNING: DO NOT EDIT MANUALLY! +CharDataTable::Range(&[ + (chars!('\u{231a}'..='\u{231b}'), ()), + (chars!('\u{23e9}'..='\u{23ec}'), ()), + (chars!('\u{23f0}'..='\u{23f0}'), ()), + (chars!('\u{23f3}'..='\u{23f3}'), ()), + (chars!('\u{25fd}'..='\u{25fe}'), ()), + (chars!('\u{2614}'..='\u{2615}'), ()), + (chars!('\u{2648}'..='\u{2653}'), ()), + (chars!('\u{267f}'..='\u{267f}'), ()), + (chars!('\u{2693}'..='\u{2693}'), ()), + (chars!('\u{26a1}'..='\u{26a1}'), ()), + (chars!('\u{26aa}'..='\u{26ab}'), ()), + (chars!('\u{26bd}'..='\u{26be}'), ()), + (chars!('\u{26c4}'..='\u{26c5}'), ()), + (chars!('\u{26ce}'..='\u{26ce}'), ()), + (chars!('\u{26d4}'..='\u{26d4}'), ()), + (chars!('\u{26ea}'..='\u{26ea}'), ()), + (chars!('\u{26f2}'..='\u{26f3}'), ()), + (chars!('\u{26f5}'..='\u{26f5}'), ()), + (chars!('\u{26fa}'..='\u{26fa}'), ()), + (chars!('\u{26fd}'..='\u{26fd}'), ()), + (chars!('\u{2705}'..='\u{2705}'), ()), + (chars!('\u{270a}'..='\u{270b}'), ()), + (chars!('\u{2728}'..='\u{2728}'), ()), + (chars!('\u{274c}'..='\u{274c}'), ()), + (chars!('\u{274e}'..='\u{274e}'), ()), + (chars!('\u{2753}'..='\u{2755}'), ()), + (chars!('\u{2757}'..='\u{2757}'), ()), + (chars!('\u{2795}'..='\u{2797}'), ()), + (chars!('\u{27b0}'..='\u{27b0}'), ()), + (chars!('\u{27bf}'..='\u{27bf}'), ()), + (chars!('\u{2b1b}'..='\u{2b1c}'), ()), + (chars!('\u{2b50}'..='\u{2b50}'), ()), + (chars!('\u{2b55}'..='\u{2b55}'), ()), + (chars!('\u{1f004}'..='\u{1f004}'), ()), + (chars!('\u{1f0cf}'..='\u{1f0cf}'), ()), + (chars!('\u{1f18e}'..='\u{1f18e}'), ()), + (chars!('\u{1f191}'..='\u{1f19a}'), ()), + (chars!('\u{1f1e6}'..='\u{1f1ff}'), ()), + (chars!('\u{1f201}'..='\u{1f201}'), ()), + (chars!('\u{1f21a}'..='\u{1f21a}'), ()), + (chars!('\u{1f22f}'..='\u{1f22f}'), ()), + (chars!('\u{1f232}'..='\u{1f236}'), ()), + (chars!('\u{1f238}'..='\u{1f23a}'), ()), + (chars!('\u{1f250}'..='\u{1f251}'), ()), + (chars!('\u{1f300}'..='\u{1f320}'), ()), + (chars!('\u{1f32d}'..='\u{1f335}'), ()), + (chars!('\u{1f337}'..='\u{1f37c}'), ()), + (chars!('\u{1f37e}'..='\u{1f393}'), ()), + (chars!('\u{1f3a0}'..='\u{1f3ca}'), ()), + (chars!('\u{1f3cf}'..='\u{1f3d3}'), ()), + (chars!('\u{1f3e0}'..='\u{1f3f0}'), ()), + (chars!('\u{1f3f4}'..='\u{1f3f4}'), ()), + (chars!('\u{1f3f8}'..='\u{1f43e}'), ()), + (chars!('\u{1f440}'..='\u{1f440}'), ()), + (chars!('\u{1f442}'..='\u{1f4fc}'), ()), + (chars!('\u{1f4ff}'..='\u{1f53d}'), ()), + (chars!('\u{1f54b}'..='\u{1f54e}'), ()), + (chars!('\u{1f550}'..='\u{1f567}'), ()), + (chars!('\u{1f57a}'..='\u{1f57a}'), ()), + (chars!('\u{1f595}'..='\u{1f596}'), ()), + (chars!('\u{1f5a4}'..='\u{1f5a4}'), ()), + (chars!('\u{1f5fb}'..='\u{1f64f}'), ()), + (chars!('\u{1f680}'..='\u{1f6c5}'), ()), + (chars!('\u{1f6cc}'..='\u{1f6cc}'), ()), + (chars!('\u{1f6d0}'..='\u{1f6d2}'), ()), + (chars!('\u{1f6eb}'..='\u{1f6ec}'), ()), + (chars!('\u{1f6f4}'..='\u{1f6f8}'), ()), + (chars!('\u{1f910}'..='\u{1f93a}'), ()), + (chars!('\u{1f93c}'..='\u{1f93e}'), ()), + (chars!('\u{1f940}'..='\u{1f945}'), ()), + (chars!('\u{1f947}'..='\u{1f94c}'), ()), + (chars!('\u{1f950}'..='\u{1f96b}'), ()), + (chars!('\u{1f980}'..='\u{1f997}'), ()), + (chars!('\u{1f9c0}'..='\u{1f9c0}'), ()), + (chars!('\u{1f9d0}'..='\u{1f9e6}'), ()), +]) diff --git a/vendor/unic-emoji-char/tables/emoji_version.rsv b/vendor/unic-emoji-char/tables/emoji_version.rsv new file mode 100644 index 000000000..57dfe2b57 --- /dev/null +++ b/vendor/unic-emoji-char/tables/emoji_version.rsv @@ -0,0 +1,3 @@ +// WARNING: Auto-generated by the `unic-gen` crate. +// WARNING: DO NOT EDIT MANUALLY! +UnicodeVersion { major: 5, minor: 0, micro: 0 } diff --git a/vendor/unic-emoji-char/tests/emoji_version_tests.rs b/vendor/unic-emoji-char/tests/emoji_version_tests.rs new file mode 100644 index 000000000..856d5a897 --- /dev/null +++ b/vendor/unic-emoji-char/tests/emoji_version_tests.rs @@ -0,0 +1,19 @@ +// Copyright 2017 The UNIC Project Developers. +// +// See the COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use unic_emoji_char; +use unic_ucd_version; + +#[test] +fn test_emoji_data_version_against_ucd_version() { + // At the moment, Emoji Version is strictly smaller than Unicode Version. Emoji Version is going + // to be *synced* with Unicode Version, but may receive minor updates separately. + assert!(unic_emoji_char::EMOJI_VERSION.major <= unic_ucd_version::UNICODE_VERSION.major); +} |