Gjsify LogoGjsify Logo

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.

record

Hierarchy

  • GlyphItem

Index

Constructors

Properties

end_x_offset: number

horizontal displacement to apply after th glyph item. Positive values shift right

field
glyphs: GlyphString

corresponding PangoGlyphString

field
item: Pango.Item

corresponding PangoItem

field
start_x_offset: number

horizontal displacement to apply before the glyph item. Positive values shift right

field
y_offset: number

shift of the baseline, relative to the baseline of the containing line. Positive values shift upwards

field
name: string

Methods

  • 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 ([methodPango.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: string

      text that list applies to

    • list: Pango.AttrList

      a PangoAttrList

    Returns GlyphItem[]

  • free(): void
  • get_logical_widths(text: string, logical_widths: number[]): void
  • 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 [methodPango.GlyphString.get_logical_widths].

    Parameters

    • text: string

      text that glyph_item corresponds to (glyph_item->item->offset is an offset from the start of text)

    • logical_widths: number[]

      an array whose length is the number of characters in glyph_item (equal to glyph_item->item->num_chars) to be filled in with the resulting character widths.

    Returns void

  • letter_space(text: string, log_attrs: LogAttr[], letter_spacing: number): void
  • Adds spacing between the graphemes of glyph_item to give the effect of typographic letter spacing.

    Parameters

    • text: string

      text that glyph_item corresponds to (glyph_item->item->offset is an offset from the start of text)

    • log_attrs: LogAttr[]

      logical attributes for the item (the first logical attribute refers to the position before the first character in the item)

    • letter_spacing: number

      amount of letter spacing to add in Pango units. May be negative, though too large negative values will give ugly results.

    Returns void

  • split(text: string, split_index: number): GlyphItem
  • 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 pango_item_split() (and uses it internally.)

    Parameters

    • text: string

      text to which positions in orig apply

    • split_index: number

      byte index of position to split item, relative to the start of the item

    Returns GlyphItem

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method