### Function

# Pango shape_full

since: 1.32

#### Declaration [src]

    void
    pango_shape_full (
      const char* item_text,
      int item_length,
      const char* paragraph_text,
      int paragraph_length,
      const PangoAnalysis* analysis,
      PangoGlyphString* glyphs
    )

#### Description [src]

Convert the characters in `text` into glyphs.

Given a segment of text and the corresponding `PangoAnalysis` structure returned from `pango_itemize()`, convert the characters into glyphs. You may also pass in only a substring of the item from `pango_itemize()`.

This is similar to `pango_shape()`, except it also can optionally take the full paragraph text as input, which will then be used to perform certain cross-item shaping interactions. If you have access to the broader text of which `item_text` is part of, provide the broader text as `paragraph_text`. If `paragraph_text` is `NULL`, item text is used instead.

Some aspects of hyphen insertion and text transformation (in particular, capitalization) require log attrs, and thus can only be handled by `pango_shape_item()`.

Note that the extra attributes in the `analyis` that is returned from `pango_itemize()` have indices that are relative to the entire paragraph, so you do not pass the full paragraph text as `paragraph_text`, you need to subtract the item offset from their indices before calling `pango_shape_full()`.

Available since: 1.32

#### Parameters

`item_text`

  Type: `const char*`

  Valid UTF-8 text to shape.

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

`item_length`

  Type: `int`

  The length (in bytes) of `item_text`. -1 means nul-terminated text.

`paragraph_text`

  Type: `const char*`

  Text of the paragraph (see details).

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`paragraph_length`

  Type: `int`

  The length (in bytes) of `paragraph_text`. -1 means nul-terminated text.

`analysis`

  Type: `PangoAnalysis`

  `PangoAnalysis` structure from `pango_itemize()`.

  The data is owned by the caller of the function.

`glyphs`

  Type: `PangoGlyphString`

  Glyph string in which to store results.

  The argument will be set by the function.
  The returned data is owned by the function.