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
Sourcepub fn load_from_path(
&self,
path: &Path,
font_index: usize,
) -> Result<FontRef, LayoutError>
pub fn load_from_path( &self, path: &Path, font_index: usize, ) -> Result<FontRef, LayoutError>
Read a font from disk and parse via the lazy-LocaGlyf path.
Convenience wrapper for callers that have a path but no
Arc<FontBytes> yet — uses a heap read (Owned) since a
loose path won’t go through the fontconfig dedup cache.
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.
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 moreSource§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