### Function

# Pango shape_full

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

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` | `const char*`
| Valid UTF-8 text to shape.
| The data is owned by the caller of the function.
| The string is a NUL terminated UTF-8 string.
`item_length` | `int`
| The length (in bytes) of `item_text`. -1 means nul-terminated text.
`paragraph_text` | `const char*`
| Text of the paragraph (see details). May be `NULL`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
| The string is a NUL terminated UTF-8 string.
`paragraph_length` | `int`
| The length (in bytes) of `paragraph_text`. -1 means nul-terminated text.
`analysis` | `PangoAnalysis`
| `PangoAnalysis` structure from `pango_itemize()`.
| The data is owned by the caller of the function.
`glyphs` | `PangoGlyphString`
| Glyph string in which to store results.
| The data is owned by the caller of the function.