Skip to main content

FontRegistry

Struct FontRegistry 

Source
pub struct FontRegistry { /* private fields */ }

Implementations§

Source§

impl FontRegistry

Source

pub fn empty() -> Self

Source

pub fn with_defaults() -> Result<Self, FontError>

Source

pub fn with_fonts( regular_bytes: &[u8], bold_bytes: &[u8], ) -> Result<Self, FontError>

Builds a registry from caller-supplied static TrueType glyf fonts (ADR-012, same constraint as the bundled defaults) instead of Source Sans 3 — always available, independent of the default-fonts feature.

Source

pub fn register(&mut self, key: FontKey, bytes: &[u8]) -> Result<(), FontError>

Source

pub fn register_named( &mut self, key: FontKey, name: impl Into<String>, bytes: &[u8], ) -> Result<(), FontError>

Source

pub fn font_entries(&self) -> Vec<(FontKey, &RegisteredFont)>

Order matches how the facade registers PDF fonts — used to build resource names (F1, F2, …) consistently between PDF font registration and content-stream references.

Source

pub fn is_empty(&self) -> bool

true if nothing was ever registered — checked by render::render_document before layout starts, so an empty registry becomes RenderError::NoFontsRegistered instead of entry()’s fallback panicking with nothing to fall back to.

Source

pub fn entry(&self, key: FontKey) -> &RegisteredFont

Panics if self is empty. Safe everywhere it’s actually called (every width/wrap calculation during layout, via FontResolver below) because render::render_document rejects an empty registry up front with RenderError::NoFontsRegistered, before layout — the only caller of entry() — ever runs.

Source

pub fn get(&self, key: FontKey) -> Option<&RegisteredFont>

The exact, unfallen-back-to entry for keyNone if nothing was ever registered under it. Used at embed time (render::text::embed_fonts) to turn a missing weight/style into RenderError::MissingFont instead of silently embedding whatever entry()’s fallback resolved to under the requested key’s name.

Trait Implementations§

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.