shape_full
Description:
[ Version ( since = "1.32" ) ]
public void shape_full (string item_text, int item_length, string? paragraph_text, int paragraph_length, Analysis analysis, GlyphString glyphs)
Convert the characters in text
into glyphs.
Given a segment of text and the corresponding `PangoAnalysis` structure returned from [func@Pango.itemize], convert the characters into glyphs. You may also pass in only a substring of the item from [func@Pango.itemize].
This is similar to [func@Pango.shape], except it also can optionally take the full paragraph text as input, which will then be used to perform
certain cross-item shaping interactions. If you have access to the broader text of which item_text
is part of, provide the broader
text as paragraph_text
. If paragraph_text
is null, item text is used instead.
Some aspects of hyphen insertion and text transformation (in particular, capitalization) require log attrs, and thus can only be handled by [ func@Pango.shape_item].
Note that the extra attributes in the analyis
that is returned from [func@Pango.itemize] have indices that are relative to the
entire paragraph, so you do not pass the full paragraph text as paragraph_text
, you need to subtract the item offset from their
indices before calling [func@Pango.shape_full].
Parameters:
item_text |
valid UTF-8 text to shape. |
item_length |
the length (in bytes) of |
paragraph_text |
text of the paragraph (see details). |
paragraph_length |
the length (in bytes) of |
analysis |
`PangoAnalysis` structure from [func@Pango.itemize]. |
glyphs |
glyph string in which to store results. |