### Function

# Pango parse_markup

#### Declaration [src]

    gboolean
    pango_parse_markup (
      const char* markup_text,
      int length,
      gunichar accel_marker,
      PangoAttrList** attr_list,
      char** text,
      gunichar* accel_char,
      GError** error
    )

#### Description [src]

Parses marked-up text to create a plain-text string and an attribute list.

See the Pango Markup docs for details about the supported markup.

If `accel_marker` is nonzero, the given character will mark the character following it as an accelerator. For example, `accel_marker` might be an ampersand or underscore. All characters marked as an accelerator will receive a `PANGO_UNDERLINE_LOW` attribute, and the first character so marked will be returned in `accel_char`. Two `accel_marker` characters following each other produce a single literal `accel_marker` character.

To parse a stream of pango markup incrementally, use `pango_markup_parser_new()`.

If any error happens, none of the output arguments are touched except for `error`.

#### Parameters

`markup_text` | `const char*`
| Markup to parse (see the Pango Markup docs)
| The data is owned by the caller of the function.
| The string is a NUL terminated UTF-8 string.
`length` | `int`
| Length of `markup_text`, or -1 if nul-terminated.
`accel_marker` | `gunichar`
| Character that precedes an accelerator, or 0 for none.
`attr_list` | `PangoAttrList`
| Address of return location for a `PangoAttrList`
| The argument will be set by the function.
| The argument can be `NULL`.
| The called function takes ownership of the data, and is responsible for freeing it.
`text` | `char**`
| Address of return location for text with tags stripped.
| The argument will be set by the function.
| The argument can be `NULL`.
| The called function takes ownership of the data, and is responsible for freeing it.
| The string is a NUL terminated UTF-8 string.
`accel_char` | `gunichar*`
| Address of return location for accelerator char.
| The argument will be set by the function.
| The argument can be `NULL`.
| The called function takes ownership of the data, and is responsible for freeing it.
`error` | `GError **`
| The return location for a `GError*`, or `NULL`.

#### Return value

Returns: | `gboolean`
| `FALSE` if `error` is set, otherwise `TRUE`.