### Function

# Pango shape_with_flags

since: 1.44

#### Declaration [src]

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

#### 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_full()`, except it also takes flags that can influence the shaping process.

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_with_flags()`.

Available since: 1.44

#### 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 data is owned by the caller of the function.

`flags`

  Type: `PangoShapeFlags`

  Flags influencing the shaping process.