pub type SimpleGlyph<'a> = TableRef<'a, SimpleGlyphMarker>;
Expand description
The Glyph Header
Aliased Type§
struct SimpleGlyph<'a> { /* private fields */ }
Implementations§
source§impl<'a> SimpleGlyph<'a>
impl<'a> SimpleGlyph<'a>
sourcepub fn number_of_contours(&self) -> i16
pub fn number_of_contours(&self) -> i16
If the number of contours is greater than or equal to zero, this is a simple glyph. If negative, this is a composite glyph — the value -1 should be used for composite glyphs.
sourcepub fn end_pts_of_contours(&self) -> &'a [BigEndian<u16>]
pub fn end_pts_of_contours(&self) -> &'a [BigEndian<u16>]
Array of point indices for the last point of each contour, in increasing numeric order
sourcepub fn instruction_length(&self) -> u16
pub fn instruction_length(&self) -> u16
Total number of bytes for instructions. If instructionLength is zero, no instructions are present for this glyph, and this field is followed directly by the flags field.
sourcepub fn instructions(&self) -> &'a [u8] ⓘ
pub fn instructions(&self) -> &'a [u8] ⓘ
Array of instruction byte code for the glyph.
sourcepub fn glyph_data(&self) -> &'a [u8] ⓘ
pub fn glyph_data(&self) -> &'a [u8] ⓘ
the raw data for flags & x/y coordinates
source§impl<'a> SimpleGlyph<'a>
impl<'a> SimpleGlyph<'a>
sourcepub fn num_points(&self) -> usize
pub fn num_points(&self) -> usize
Returns the total number of points.
sourcepub fn has_overlapping_contours(&self) -> bool
pub fn has_overlapping_contours(&self) -> bool
Returns true if the contours in the simple glyph may overlap.
sourcepub fn read_points_fast<C: PointCoord>(
&self,
points: &mut [Point<C>],
flags: &mut [PointFlags],
) -> Result<(), ReadError>
pub fn read_points_fast<C: PointCoord>( &self, points: &mut [Point<C>], flags: &mut [PointFlags], ) -> Result<(), ReadError>
Reads points and flags into the provided buffers.
Drops all flag bits except on-curve. The lengths of the buffers must be equal to the value returned by num_points.
§Performance
As the name implies, this is faster than using the iterator returned by points so should be used when it is possible to preallocate buffers.
sourcepub fn points(&self) -> impl Iterator<Item = CurvePoint> + 'a + Clone
pub fn points(&self) -> impl Iterator<Item = CurvePoint> + 'a + Clone
Returns an iterator over the points in the glyph.
§Performance
This is slower than read_points_fast but provides access to the points without requiring a preallocated buffer.