pub struct PathLoader;Expand description
A FontLoader that parses font data from a byte slice.
It is designed to be used in conjunction with a mechanism that reads font files from paths into memory. This loader simply handles the parsing aspect.
Implementations§
Source§impl PathLoader
impl PathLoader
Lazy-friendly loader: takes an Arc<FontBytes> (typically
from rust_fontconfig::FcFontCache::get_font_bytes) and
uses the ParsedFont::from_bytes_shared constructor so
LocaGlyf::load is deferred until the first glyph decode.
This is the only loader on the production path —
load_fonts_from_disk calls this via the closure passed
into FontManager::load_missing_for_chains. Fonts that
never get rasterized (common — every face of a .ttc gets a
FontId, but pages only hit a couple of them) skip their
per-face loca+glyf materialisation entirely; with
FontBytes::Mmapped the unread pages also never count
toward RSS.
§Errors
Returns a LayoutError if the font cannot be loaded.
Trait Implementations§
Source§impl Clone for PathLoader
impl Clone for PathLoader
Source§fn clone(&self) -> PathLoader
fn clone(&self) -> PathLoader
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PathLoader
Source§impl Debug for PathLoader
impl Debug for PathLoader
Source§impl Default for PathLoader
impl Default for PathLoader
Source§fn default() -> PathLoader
fn default() -> PathLoader
Auto Trait Implementations§
impl Freeze for PathLoader
impl RefUnwindSafe for PathLoader
impl Send for PathLoader
impl Sync for PathLoader
impl Unpin for PathLoader
impl UnsafeUnpin for PathLoader
impl UnwindSafe for PathLoader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more