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.

Some aspects of hyphen insertion and text transformation (in particular, capitalization) require log attrs, and thus can only be handled by pango_shape_item().

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 value 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).

 The argument can be NULL.
 The data is owned by the caller of the function.
 The value 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 argument will be set by the function.
 The data is owned by the caller of the function.