## PangoFcDecoder

PangoFcDecoder — Custom font encoding handling

## Functions

FcCharSet * | pango_fc_decoder_get_charset ()
PangoGlyph | pango_fc_decoder_get_glyph ()

## Types and Values

struct | PangoFcDecoder
struct | PangoFcDecoderClass

## Object Hierarchy

        GObject
        ╰── PangoFcDecoder

## Description

PangoFcDecoder represents a decoder that an application provides for handling a font that is encoded in a custom way.

## Functions

### pango_fc_decoder_get_charset ()

    FcCharSet *
    pango_fc_decoder_get_charset (PangoFcDecoder *decoder,
                                  PangoFcFont *fcfont);

Generates an FcCharSet of supported characters for the fcfont given. The returned FcCharSet will be a reference to an internal value stored by the PangoFcDecoder and must not be modified or freed.

#### Parameters

decoder | a PangoFcDecoder |
fcfont | the PangoFcFont to query. |

#### Returns

the FcCharset for `fcfont` ; must not be modified or freed.

Since: 1.6

### pango_fc_decoder_get_glyph ()

    PangoGlyph
    pango_fc_decoder_get_glyph (PangoFcDecoder *decoder,
                                PangoFcFont *fcfont,
                                guint32 wc);

Generates a PangoGlyph for the given Unicode point using the custom decoder. For complex scripts where there can be multiple glyphs for a single character, the decoder will return whatever glyph is most convenient for it. (Usually whatever glyph is directly in the fonts character map table.)

#### Parameters

decoder | a PangoFcDecoder |
fcfont | a PangoFcFont to query. |
wc | the Unicode code point to convert to a single PangoGlyph. |

#### Returns

the glyph index, or 0 if the glyph isn't covered by the font.

Since: 1.6

## Types and Values

### struct PangoFcDecoder

    struct PangoFcDecoder;

PangoFcDecoder is a virtual base class that implementations will inherit from. It's the interface that is used to define a custom encoding for a font. These objects are created in your code from a function callback that was originally registered with `pango_fc_font_map_add_decoder_find_func()`. Pango requires information about the supported charset for a font as well as the individual character to glyph conversions. Pango gets that information via the get_charset and get_glyph callbacks into your object implementation.

Since: 1.6

### struct PangoFcDecoderClass

    struct PangoFcDecoderClass {
      FcCharSet  *(*get_charset) (PangoFcDecoder *decoder,
    			      PangoFcFont    *fcfont);
      PangoGlyph  (*get_glyph)   (PangoFcDecoder *decoder,
    			      PangoFcFont    *fcfont,
    			      guint32         wc);
    };

Class structure for PangoFcDecoder.

#### Members

`get_charset` () | This returns an FcCharset given a PangoFcFont that includes a list of supported characters in the font. The FcCharSet that is returned should be an internal reference to your code. Pango will not free this structure. It is important that you make this callback fast because this callback is called separately for each character to determine Unicode coverage. |
`get_glyph` () | This returns a single PangoGlyph for a given Unicode code point. |

Since: 1.6