aboutsummaryrefslogtreecommitdiffstats
path: root/components/gfx/text/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/gfx/text/mod.rs')
-rw-r--r--components/gfx/text/mod.rs68
1 files changed, 0 insertions, 68 deletions
diff --git a/components/gfx/text/mod.rs b/components/gfx/text/mod.rs
deleted file mode 100644
index 9a44f743c7a..00000000000
--- a/components/gfx/text/mod.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
-
-use unicode_properties::{emoji, EmojiStatus, UnicodeEmoji};
-
-pub use crate::text::shaping::Shaper;
-
-pub mod glyph;
-pub mod shaping;
-pub mod util;
-
-/// Whether or not font fallback selection prefers the emoji or text representation
-/// of a character. If `None` then either presentation is acceptable.
-#[derive(Clone, Copy, Debug, PartialEq)]
-pub enum EmojiPresentationPreference {
- None,
- Text,
- Emoji,
-}
-
-#[derive(Clone, Copy, Debug)]
-pub struct FallbackFontSelectionOptions {
- pub character: char,
- pub presentation_preference: EmojiPresentationPreference,
-}
-
-impl Default for FallbackFontSelectionOptions {
- fn default() -> Self {
- Self {
- character: ' ',
- presentation_preference: EmojiPresentationPreference::None,
- }
- }
-}
-
-impl FallbackFontSelectionOptions {
- pub fn new(character: char, next_character: Option<char>) -> Self {
- let presentation_preference = match next_character {
- Some(next_character) if emoji::is_emoji_presentation_selector(next_character) => {
- EmojiPresentationPreference::Emoji
- },
- Some(next_character) if emoji::is_text_presentation_selector(next_character) => {
- EmojiPresentationPreference::Text
- },
- // We don't want to select emoji prsentation for any possible character that might be an emoji, because
- // that includes characters such as '0' that are also used outside of emoji clusters. Instead, only
- // select the emoji font for characters that explicitly have an emoji presentation (in the absence
- // of the emoji presentation selectors above).
- _ if matches!(
- character.emoji_status(),
- EmojiStatus::EmojiPresentation |
- EmojiStatus::EmojiPresentationAndModifierBase |
- EmojiStatus::EmojiPresentationAndEmojiComponent |
- EmojiStatus::EmojiPresentationAndModifierAndEmojiComponent
- ) =>
- {
- EmojiPresentationPreference::Emoji
- },
- _ if character.is_emoji_char() => EmojiPresentationPreference::Text,
- _ => EmojiPresentationPreference::None,
- };
- Self {
- character,
- presentation_preference,
- }
- }
-}