Function

Pangoshape_full

Declaration [src]

void
pango_shape_full (
  const char* item_text,
  int item_length,
  const char* paragraph_text,
  int paragraph_length,
  const PangoAnalysis* analysis,
  PangoGlyphString* glyphs
)

Description [src]

Convert the characters in text into glyphs.

Given a segment of text and the corresponding PangoAnalysis structure returned from pango_itemize(), convert the characters into glyphs. You may also pass in only a substring of the item from pango_itemize().

This is similar to 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.

Note that the extra attributes in the analyis that is returned from 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 pango_shape_full().

Available since:1.32

Parameters

item_text const char*
 

Valid UTF-8 text to shape.

 The data is owned by the caller of the function.
 The string is a NUL terminated UTF-8 string.
item_length int
 

The length (in bytes) of item_text. -1 means nul-terminated text.

paragraph_text const char*
 

Text of the paragraph (see details). May be NULL.

 The argument can be NULL.
 The data is owned by the caller of the function.
 The string is a NUL terminated UTF-8 string.
paragraph_length int
 

The length (in bytes) of paragraph_text. -1 means nul-terminated text.

analysis PangoAnalysis
 

PangoAnalysis structure from pango_itemize().

 The data is owned by the caller of the function.
glyphs PangoGlyphString
 

Glyph string in which to store results.

 The data is owned by the caller of the function.