Pango.GlyphItem¶
record (struct)
A PangoGlyphItem is a pair of a PangoItem and the glyphs
resulting from shaping the items text.
As an example of the usage of PangoGlyphItem, the results
of shaping text with PangoLayout is a list of PangoLayoutLine,
each of which contains a list of PangoGlyphItem.
Methods¶
apply_attrs¶
Splits a shaped item (PangoGlyphItem) into multiple items based
on an attribute list.
The idea is that if you have attributes that don't affect shaping,
such as color or underline, to avoid affecting shaping, you filter
them out (AttrList.filter), apply the shaping process
and then reapply them to the result using this function.
All attributes that start or end inside a cluster are applied
to that cluster; for instance, if half of a cluster is underlined
and the other-half strikethrough, then the cluster will end
up with both underline and strikethrough attributes. In these
cases, it may happen that item->extra_attrs for some of the
result items can have multiple attributes of the same type.
This function takes ownership of glyph_item; it will be reused
as one of the elements in the list.
Parameters:
text— text thatlistapplies tolist— aPangoAttrList
copy¶
Make a deep copy of an existing PangoGlyphItem structure.
free¶
Frees a PangoGlyphItem and resources to which it points.
get_logical_widths¶
Given a PangoGlyphItem and the corresponding text, determine the
width corresponding to each character.
When multiple characters compose a single cluster, the width of the entire cluster is divided equally among the characters.
See also GlyphString.get_logical_widths.
Parameters:
text— text thatglyph_itemcorresponds to (glyph_item->item->offset is an offset from the start oftext)
letter_space¶
Adds spacing between the graphemes of glyph_item to
give the effect of typographic letter spacing.
Parameters:
text— text thatglyph_itemcorresponds to (glyph_item->item->offset is an offset from the start oftext)log_attrs— logical attributes for the item (the first logical attribute refers to the position before the first character in the item)letter_spacing— amount of letter spacing to add in Pango units. May be negative, though too large negative values will give ugly results.
split¶
Modifies orig 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 orig.
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 orig (that is, there must be at least one byte
assigned to each item, you can't create a zero-length item).
This function is similar in function to Item.split (and uses
it internally.)
Parameters:
text— text to which positions inorigapplysplit_index— byte index of position to split item, relative to the start of the item