Expand description
API for loading, scaling, positioning and rasterizing OpenType font glyphs.
§Example
use ab_glyph::{point, Font, FontRef, Glyph};
let font = FontRef::try_from_slice(include_bytes!("../../dev/fonts/Exo2-Light.otf"))?;
// Get a glyph for 'q' with a scale & position.
let q_glyph: Glyph = font
.glyph_id('q')
.with_scale_and_position(24.0, point(100.0, 0.0));
// Draw it.
if let Some(q) = font.outline_glyph(q_glyph) {
q.draw(|x, y, c| { /* draw pixel `(x, y)` with coverage: `c` */ });
}
Modules§
Structs§
- Codepoint
IdIter - FontArc
Font
implementor that wraps another concreteFont + 'static
type storing in anArc
.- FontRef
- Font data handle stored as a
&[u8]
+ parsed data. SeeFont
for more methods. - FontVec
- Font data handle stored in a
Vec<u8>
+ parsed data. SeeFont
for more methods. - Glyph
- A glyph with pixel scale & position.
- GlyphId
- Glyph id.
- Glyph
Image Deprecated - Old version of
v2::GlyphImage
. - Glyph
Svg - Invalid
Font - Invalid font data error.
- Outline
- A “raw” collection of outline curves for a glyph, unscaled & unpositioned.
- Outlined
Glyph - A glyph that has been outlined at a scale & position.
- Point
- An (x, y) coordinate.
- PxScale
- Pixel scale.
- PxScale
Factor - 2D scale factors for use with unscaled metrics.
- PxScale
Font - A
Font
and an associated pixel scale. - Rect
- A rectangle, with top-left corner at
min
, and bottom-right corner atmax
. - Variation
Axis
Enums§
- Glyph
Image Format - Valid formats for a
GlyphImage
. - Outline
Curve - Glyph outline primitives.
Traits§
- Font
- Functionality required from font data.
- Scale
Font - A
Font
with an associated pixel scale. This can be used to provide pixel scale values for glyph advances, heights etc. - Variable
Font - Logic for variable fonts.