pub struct ShapeResult {
pub glyphs: Vec<ShapedGlyph>,
pub script_detected: Option<[u8; 4]>,
pub direction: ShapeDirection,
pub missing_codepoints: Vec<char>,
pub cluster_boundaries: Vec<usize>,
}Expand description
Extended shaping result with metadata.
Produced by SwashShaper::shape_full; includes the glyph list, the
direction resolved by the shaper, the OpenType script tag (if known), and a
list of Unicode codepoints that could not be mapped (glyph ID 0 / .notdef).
Fields§
§glyphs: Vec<ShapedGlyph>Shaped glyphs in logical cluster order.
script_detected: Option<[u8; 4]>OpenType script tag detected (e.g. b"latn", b"arab"), or None if
unknown. May be set by the caller after construction.
direction: ShapeDirectionDirection resolved by the shaper.
missing_codepoints: Vec<char>Unicode codepoints that produced a .notdef glyph (ID 0).
cluster_boundaries: Vec<usize>Byte offsets (in the original text) where grapheme cluster boundaries fall.
Populated by SwashShaper::shape_full. Empty when SwashShaper::shape
is called directly. The first entry is 0 (start of text) and the last
entry is text.len() (end of text).
Implementations§
Source§impl ShapeResult
impl ShapeResult
Sourcepub fn from_glyphs(
glyphs: Vec<ShapedGlyph>,
text: &str,
direction: ShapeDirection,
) -> Self
pub fn from_glyphs( glyphs: Vec<ShapedGlyph>, text: &str, direction: ShapeDirection, ) -> Self
Constructs a ShapeResult from a glyph vector, the source text, and
the shaping direction.
script_detected is left as None; callers may set it afterwards.
Trait Implementations§
Source§impl Clone for ShapeResult
impl Clone for ShapeResult
Source§fn clone(&self) -> ShapeResult
fn clone(&self) -> ShapeResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more