version(Backend)
struct PangoEngineShapeClass {
PangoEngineClass parent_class;
void function(PangoEngineShape* engine, PangoFont* font, const(char)* item_text, uint item_length, const(PangoAnalysis)* analysis, PangoGlyphString* glyphs, const(char)* paragraph_text, uint paragraph_length) script_shape;
PangoCoverageLevel function(PangoEngineShape* engine, PangoFont* font, PangoLanguage* language, gunichar wc) covers;
}
PangoEngineShapeClass: @script_shape: Given a font, a piece of text, and a #PangoAnalysis structure, converts characters to glyphs and positions the resulting glyphs. The results are stored in the #PangoGlyphString that is passed in. (The implementation should resize it appropriately using pango_glyph_string_set_size()). All fields of the @log_clusters and @glyphs array must be filled in, with the exception that Pango will automatically generate <literal>glyphs->glyphsi.attr.is_cluster_start</literal> using the @log_clusters array. Each input character must occur in one of the output logical clusters; if no rendering is desired for a character, this may involve inserting glyphs with the #PangoGlyph ID #PANGO_GLYPH_EMPTY, which is guaranteed never to render. If the shaping fails for any reason, the shaper should return with an empty (zero-size) glyph string. If the shaper has not set the size on the glyph string yet, simply returning signals the failure too. @covers: Returns the characters that this engine can cover with a given font for a given language. If not overridden, the default implementation simply returns the coverage information for the font itself unmodified.
Class structure for #PangoEngineShape