Function

Pango.itemize

Declaration [src]

GList*
pango_itemize (
  PangoContext* context,
  const char* text,
  int start_index,
  int length,
  PangoAttrList* attrs,
  PangoAttrIterator* cached_iter
)

Description [src]

Breaks a piece of text into segments with consistent directional level and font.

Each byte of text will be contained in exactly one of the items in the returned list; the generated list of items will be in logical order (the start offsets of the items are ascending).

cached_iter should be an iterator over attrs currently positioned at a range before or containing start_index; cached_iter will be advanced to the range covering the position just after start_index + length. (i.e. if itemizing in a loop, just keep passing in the same cached_iter).

Parameters

context PangoContext
 

a structure holding information that affects the itemization process.

 The data is owned by the caller of the function
text const char*
 

the text to itemize. Must be valid UTF-8

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

first byte in text to process

length int
 

the number of bytes (not characters) to process after start_index. This must be >= 0.

attrs PangoAttrList
 

the set of attributes that apply to text.

 The data is owned by the caller of the function
cached_iter PangoAttrIterator
 

Cached attribute iterator, or NULL

 Can be NULL
 The data is owned by the caller of the function

Return value

Returns: A list of PangoItem

a GList of PangoItem structures. The items should be freed using pango_item_free() probably in combination with g_list_free_full().

The caller of the function takes ownership of the data, and is responsible for freeing it