### 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.
| The argument 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.