pub fn shape(text: &str, analysis: &Analysis, glyphs: &mut GlyphString)
Expand description
Convert the characters in @text into glyphs.
Given a segment of text and the corresponding Analysis
structure
returned from itemize()
, convert the characters into glyphs. You
may also pass in only a substring of the item from itemize()
.
It is recommended that you use shape_full()
instead, since
that API allows for shaping interaction happening across text item
boundaries.
Some aspects of hyphen insertion and text transformation (in particular,
capitalization) require log attrs, and thus can only be handled by
shape_item()
.
Note that the extra attributes in the @analyis that is returned from
itemize()
have indices that are relative to the entire paragraph,
so you need to subtract the item offset from their indices before
calling shape()
.
text
the text to process
length
the length (in bytes) of @text
analysis
Analysis
structure from itemize()
glyphs
glyph string in which to store results