pub mod cursor;
mod face_store;
mod family;
mod font_data;
mod font_definitions;
mod font_face;
mod font_id;
mod font_provider;
mod font_tweak;
mod fonts;
mod galley_cache;
mod glyph_atlas;
mod glyph_rasterizer;
mod index;
mod styled_metrics;
mod text_layout;
mod text_layout_types;
mod unicode;
pub use {
font_data::{Blob, FontData, FontVariationAxis},
font_definitions::{FontDefinitions, FontInsert, FontPriority, InsertFontFamily},
font_id::{FontFamily, FontId},
font_provider::{FallbackRequest, FontProvider},
font_tweak::{FontTweak, HintingTarget, SmoothHinting},
fonts::{Fonts, FontsView, MAX_GLYPH_SIZE, MissingGlyphPolicy, ViewportKey},
glyph_rasterizer::{
GlyphBitmap, GlyphRasterizer, GlyphRasterizerRequest, RasterizedGlyph,
has_emoji_presentation,
},
index::{ByteIndex, ByteRange, ByteRangeExt, CharIndex, CharRange, CharRangeExt},
text_layout_types::*,
};
pub const PASSWORD_REPLACEMENT_CHAR: char = '•';
#[derive(Clone, Copy, Debug, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
pub struct TextOptions {
pub max_texture_side: usize,
pub color_transfer_function: crate::FontColorTransferFunction,
pub font_hinting: bool,
pub subpixel_binning: bool,
}
impl Default for TextOptions {
fn default() -> Self {
Self {
max_texture_side: 2048, color_transfer_function: crate::FontColorTransferFunction::default(),
font_hinting: true,
subpixel_binning: true,
}
}
}