pub enum SelectedGvar<'a> {
Original(Gvar<'a>),
Extended(GvarExtended<'a>),
}Expand description
Glyph variations from GVAR or the original gvar table.
Variants§
Original(Gvar<'a>)
The original gvar table.
Extended(GvarExtended<'a>)
The GVAR table (ISO/IEC 14496-22:2026).
Implementations§
Source§impl SelectedGvar<'_>
impl SelectedGvar<'_>
Sourcepub fn simple_deltas<C, D>(
&self,
glyph_id: GlyphId,
coords: &[F2Dot14],
points: &[Point<C>],
flags: &mut [PointFlags],
contours: &[u16],
buffers: &mut DeltaBuffers<'_, D>,
) -> Option<bool>
pub fn simple_deltas<C, D>( &self, glyph_id: GlyphId, coords: &[F2Dot14], points: &[Point<C>], flags: &mut [PointFlags], contours: &[u16], buffers: &mut DeltaBuffers<'_, D>, ) -> Option<bool>
Computes the deltas for the points of a simple glyph at the given location in variation space.
Looks the glyph’s variation data up and hands off to
GlyphVariationData::simple_deltas, which documents the arguments.
Returns true if the glyph has variation data, and false if it does
not — in which case the deltas are zeroed. Note that they are zeroed
whichever it returns, so they never retain values from a previous call.
Sourcepub fn simple_deltas_with_scalars<C, D>(
&self,
glyph_id: GlyphId,
coords: &[F2Dot14],
scalars: &[Fixed],
points: &[Point<C>],
flags: &mut [PointFlags],
contours: &[u16],
buffers: &mut DeltaBuffers<'_, D>,
) -> Option<bool>
pub fn simple_deltas_with_scalars<C, D>( &self, glyph_id: GlyphId, coords: &[F2Dot14], scalars: &[Fixed], points: &[Point<C>], flags: &mut [PointFlags], contours: &[u16], buffers: &mut DeltaBuffers<'_, D>, ) -> Option<bool>
Computes the deltas for the points of a simple glyph, reusing
scalars.
scalars holds one entry per shared tuple, from
Gvar::compute_scalars. It may be empty or cover only some of them;
the rest are computed here.
Sourcepub fn composite_deltas<D: PointCoord>(
&self,
glyph_id: GlyphId,
coords: &[F2Dot14],
deltas: &mut [Point<D>],
) -> Option<bool>
pub fn composite_deltas<D: PointCoord>( &self, glyph_id: GlyphId, coords: &[F2Dot14], deltas: &mut [Point<D>], ) -> Option<bool>
Computes the deltas for the component offsets of a composite glyph at the given location in variation space.
Looks the glyph’s variation data up and hands off to
GlyphVariationData::composite_deltas.
deltas must have one entry per component plus four for the phantom
points.
Returns true if the glyph has variation data, and false if it does
not — in which case deltas is zeroed.
Sourcepub fn composite_deltas_with_scalars<D: PointCoord>(
&self,
glyph_id: GlyphId,
coords: &[F2Dot14],
scalars: &[Fixed],
deltas: &mut [Point<D>],
) -> Option<bool>
pub fn composite_deltas_with_scalars<D: PointCoord>( &self, glyph_id: GlyphId, coords: &[F2Dot14], scalars: &[Fixed], deltas: &mut [Point<D>], ) -> Option<bool>
Computes the deltas for a composite glyph’s component offsets,
reusing scalars.
scalars holds one entry per shared tuple, from
Gvar::compute_scalars. It may be empty or cover only some of them;
the rest are computed here.
Source§impl<'a> SelectedGvar<'a>
impl<'a> SelectedGvar<'a>
Sourcepub fn glyph_count(&self) -> u32
pub fn glyph_count(&self) -> u32
Returns the number of glyphs with variation data.
fn is_extended(&self) -> bool
Sourcepub fn version(&self) -> MajorMinor
pub fn version(&self) -> MajorMinor
Returns version from the selected table.
Sourcepub fn axis_count(&self) -> u16
pub fn axis_count(&self) -> u16
Returns axis_count from the selected table.
Returns shared_tuple_count from the selected table.
Returns shared_tuples_offset from the selected table.
Sourcepub fn glyph_variation_data_array_offset(&self) -> u32
pub fn glyph_variation_data_array_offset(&self) -> u32
Returns glyph_variation_data_array_offset from the selected table.
Sourcepub fn glyph_variation_data_offsets(&self) -> ComputedArray<'a, U16Or32>
pub fn glyph_variation_data_offsets(&self) -> ComputedArray<'a, U16Or32>
Returns glyph_variation_data_offsets from the selected table.
Sourcepub fn offset_data(&self) -> FontData<'a>
pub fn offset_data(&self) -> FontData<'a>
Returns offset_data from the selected table.
Source§impl<'a> SelectedGvar<'a>
impl<'a> SelectedGvar<'a>
Returns the shared tuples, including an empty array when both the count and offset are zero.
Sourcepub fn data_for_gid(
&self,
gid: GlyphId,
) -> Result<Option<FontData<'a>>, ReadError>
pub fn data_for_gid( &self, gid: GlyphId, ) -> Result<Option<FontData<'a>>, ReadError>
Return the raw data for this gid.
If there is no variation data for the glyph, returns Ok(None).
pub fn glyph_variation_data_for_range( &self, offset_range: Range<usize>, ) -> Result<FontData<'a>, ReadError>
pub fn as_bytes(&self) -> &[u8] ⓘ
fn data_range_for_gid(&self, gid: GlyphId) -> Result<Range<usize>, ReadError>
Sourcepub fn glyph_variation_data(
&self,
gid: GlyphId,
) -> Result<Option<GlyphVariationData<'a>>, ReadError>
pub fn glyph_variation_data( &self, gid: GlyphId, ) -> Result<Option<GlyphVariationData<'a>>, ReadError>
Get the variation data for a specific glyph.
Returns Ok(None) if there is no variation data for this glyph, and
returns an error if there is data but it is malformed.
Sourcepub fn compute_scalars(&self, coords: &[F2Dot14], out: &mut [Fixed]) -> usize
pub fn compute_scalars(&self, coords: &[F2Dot14], out: &mut [Fixed]) -> usize
Returns the phantom point deltas for the given variation coordinates and glyph identifier, if variation data exists for the glyph.
The resulting array will contain four deltas:
[left, right, top, bottom].
Computes the scalar for each shared tuple at coords, in table order,
and returns how many were written.
A tuple that does not apply at coords is written as zero, which is
the value it contributes. Only the peak is used: a glyph naming a
shared tuple may state its own range alongside it, and that range is
not shared.
out may be shorter than the table has shared tuples, and an
unreadable table writes nothing. A reader computes whatever is
missing.
pub fn phantom_point_deltas( &self, glyf: &Glyf<'_>, loca: &Loca<'_>, coords: &[F2Dot14], glyph_id: GlyphId, ) -> Option<[Point<Fixed>; 4]>
Sourcepub fn phantom_point_deltas_with_scalars(
&self,
glyf: &Glyf<'_>,
loca: &Loca<'_>,
coords: &[F2Dot14],
scalars: &[Fixed],
glyph_id: GlyphId,
) -> Option<[Point<Fixed>; 4]>
pub fn phantom_point_deltas_with_scalars( &self, glyf: &Glyf<'_>, loca: &Loca<'_>, coords: &[F2Dot14], scalars: &[Fixed], glyph_id: GlyphId, ) -> Option<[Point<Fixed>; 4]>
Returns the phantom point deltas for glyph_id at coords, reusing
scalars.
scalars holds one entry per shared tuple, from
compute_scalars. It may be empty or cover
only some of them; the rest are computed here.
Trait Implementations§
Source§impl<'a> Clone for SelectedGvar<'a>
impl<'a> Clone for SelectedGvar<'a>
Source§fn clone(&self) -> SelectedGvar<'a>
fn clone(&self) -> SelectedGvar<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more