Function

Pangoshape_full

since: 1.32

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

Type: 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

Type: int

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

paragraph_text

Type: 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

Type: int

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

analysis

Type: PangoAnalysis

PangoAnalysis structure from pango_itemize().

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

Type: PangoGlyphString

Glyph string in which to store results.

The data is owned by the caller of the function.