pub struct FontRef<'a> {
pub data: FontData<'a>,
pub table_directory: TableRef<'a, TableDirectoryMarker>,
}
Expand description
Reference to an in-memory font.
This is a simple implementation of the TableProvider
trait backed
by a borrowed slice containing font data.
Fields§
§data: FontData<'a>
§table_directory: TableRef<'a, TableDirectoryMarker>
Implementations§
Source§impl<'a> FontRef<'a>
impl<'a> FontRef<'a>
Sourcepub fn new(data: &'a [u8]) -> Result<FontRef<'a>, ReadError>
pub fn new(data: &'a [u8]) -> Result<FontRef<'a>, ReadError>
Creates a new reference to an in-memory font backed by the given data.
The data must be a single font (not a font collection) and must begin with a table directory to be considered valid.
To load a font from a font collection, use FontRef::from_index
instead.
Sourcepub fn from_index(data: &'a [u8], index: u32) -> Result<FontRef<'a>, ReadError>
pub fn from_index(data: &'a [u8], index: u32) -> Result<FontRef<'a>, ReadError>
Creates a new reference to an in-memory font at the specified index backed by the given data.
The data slice must begin with either a table directory or a ttc header to be considered valid.
In other words, this accepts either font collection (ttc) or single font (ttf/otf) files. If a single font file is provided, the index parameter must be 0.
Sourcepub fn table_data(&self, tag: Tag) -> Option<FontData<'a>>
pub fn table_data(&self, tag: Tag) -> Option<FontData<'a>>
Returns the data for the table with the specified tag, if present.
Trait Implementations§
Source§impl<'a> MetadataProvider<'a> for FontRef<'a>
impl<'a> MetadataProvider<'a> for FontRef<'a>
Source§fn attributes(&self) -> Attributes
fn attributes(&self) -> Attributes
Returns the primary attributes for font classification– stretch, style and weight.
Source§fn axes(&self) -> AxisCollection<'a>
fn axes(&self) -> AxisCollection<'a>
Returns the collection of variation axes.
Source§fn named_instances(&self) -> NamedInstanceCollection<'a>
fn named_instances(&self) -> NamedInstanceCollection<'a>
Returns the collection of named variation instances.
Source§fn localized_strings(&self, id: StringId) -> LocalizedStrings<'a> ⓘ
fn localized_strings(&self, id: StringId) -> LocalizedStrings<'a> ⓘ
Returns an iterator over the collection of localized strings for the given informational string identifier.
Source§fn metrics(&self, size: Size, location: impl Into<LocationRef<'a>>) -> Metrics
fn metrics(&self, size: Size, location: impl Into<LocationRef<'a>>) -> Metrics
Returns the global font metrics for the specified size and location in normalized variation space.
Source§fn glyph_metrics(
&self,
size: Size,
location: impl Into<LocationRef<'a>>,
) -> GlyphMetrics<'a>
fn glyph_metrics( &self, size: Size, location: impl Into<LocationRef<'a>>, ) -> GlyphMetrics<'a>
Returns the glyph specific metrics for the specified size and location in normalized variation space.
Source§fn outline_glyphs(&self) -> OutlineGlyphCollection<'a>
fn outline_glyphs(&self) -> OutlineGlyphCollection<'a>
Returns the collection of scalable glyph outlines.
If the font contains multiple outline sources, this method prioritizes
glyf
, CFF2
and CFF
in that order. To select a specific outline
source, use the OutlineGlyphCollection::with_format
method.