Pango.Item

Fields

Name Type Access Description
analysis Pango.Analysis r/w analysis results for the item.
length int r/w length of this item in bytes.
num_chars int r/w number of Unicode characters in the item.
offset int r/w byte offset of the start of this item in text.

Methods

class new ()
  apply_attrs (iter)
  copy ()
  free ()
  split (split_index, split_offset)

Details

class Pango.Item

The Pango.Item structure stores information about a segment of text.

classmethod new()[source]
Returns:the newly allocated Pango.Item, which should be freed with Pango.Item.free().
Return type:Pango.Item

Creates a new Pango.Item structure initialized to default values.

apply_attrs(iter)[source]
Parameters:iter (Pango.AttrIterator) – a Pango.AttrIterator

Add attributes to a Pango.Item. The idea is that you have attributes that don’t affect itemization, such as font features, so you filter them out using Pango.AttrList.filter(), itemize your text, then reapply the attributes to the resulting items using this function.

The iter should be positioned before the range of the item, and will be advanced past it. This function is meant to be called in a loop over the items resulting from itemization, while passing the iter to each call.

New in version 1.44.

copy()[source]
Returns:the newly allocated Pango.Item, which should be freed with Pango.Item.free(), or None if self was None.
Return type:Pango.Item or None

Copy an existing Pango.Item structure.

free()[source]

Free a Pango.Item and all associated memory.

split(split_index, split_offset)[source]
Parameters:
  • split_index (int) – byte index of position to split item, relative to the start of the item
  • split_offset (int) – number of chars between start of self and split_index
Returns:

new item representing text before split_index, which should be freed with Pango.Item.free().

Return type:

Pango.Item

Modifies self to cover only the text after split_index, and returns a new item that covers the text before split_index that used to be in self. You can think of split_index as the length of the returned item. split_index may not be 0, and it may not be greater than or equal to the length of self (that is, there must be at least one byte assigned to each item, you can’t create a zero-length item). split_offset is the length of the first item in chars, and must be provided because the text used to generate the item isn’t available, so Pango.Item.split() can’t count the str length of the split items itself.