pub struct FontDirectory { /* private fields */ }Expand description
Index of available fonts. Built once at startup, then cloned into
AppState as an Arc<FontDirectory>.
Implementations§
Source§impl FontDirectory
impl FontDirectory
Sourcepub fn scan(root: PathBuf) -> Result<Self, FontDirectoryError>
pub fn scan(root: PathBuf) -> Result<Self, FontDirectoryError>
Scan root for *.ttf files and build the index. Returns an
error if the directory cannot be opened or contains no fonts.
§Errors
Returns a FontDirectoryError when the directory is missing,
unreadable, or has no .ttf entries.
Sourcepub fn path_for(&self, font_id: &str) -> Option<&Path>
pub fn path_for(&self, font_id: &str) -> Option<&Path>
Resolve a client-supplied font_id to the absolute on-disk
path of the font file. Returns None if the id does not match
a discovered font or if the id contains path-separator
characters (defence in depth — the scan only inserts plain
basenames, but client input is treated as untrusted).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FontDirectory
impl RefUnwindSafe for FontDirectory
impl Send for FontDirectory
impl Sync for FontDirectory
impl Unpin for FontDirectory
impl UnsafeUnpin for FontDirectory
impl UnwindSafe for FontDirectory
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.