PangoFcFont

PangoFcFont — Base font class for Fontconfig-based backends

Synopsis

struct              PangoFcFont;
struct              PangoFcFontClass;
#define             PANGO_RENDER_TYPE_FC
FT_Face             pango_fc_font_lock_face             (PangoFcFont *font);
void                pango_fc_font_unlock_face           (PangoFcFont *font);
gboolean            pango_fc_font_has_char              (PangoFcFont *font,
                                                         gunichar wc);
guint               pango_fc_font_get_glyph             (PangoFcFont *font,
                                                         gunichar wc);
PangoGlyph          pango_fc_font_get_unknown_glyph     (PangoFcFont *font,
                                                         gunichar wc);
void                pango_fc_font_kern_glyphs           (PangoFcFont *font,
                                                         PangoGlyphString *glyphs);

Object Hierarchy

  GObject
   +----PangoFont
         +----PangoFcFont
               +----PangoXftFont

Properties

  "fontmap"                  PangoFcFontMap*       : Read / Write
  "pattern"                  gpointer              : Read / Write / Construct Only

Description

PangoFcFont is a base class for font implementation using the Fontconfig and FreeType libraries. It is used in the Xft and FreeType backends shipped with Pango, but can also be used when creating new backends. Any backend deriving from this base class will take advantage of the wide range of shapers implemented using FreeType that come with Pango.

Details

struct PangoFcFont

struct PangoFcFont;

PangoFcFont is a base class for font implementations using the Fontconfig and FreeType libraries and is used in conjunction with PangoFcFontMap. When deriving from this class, you need to implement all of its virtual functions other than shutdown() along with the get_glyph_extents() virtual function from PangoFont.


struct PangoFcFontClass

struct PangoFcFontClass {
  FT_Face    (*lock_face)         (PangoFcFont      *font);
  void       (*unlock_face)       (PangoFcFont      *font);
  gboolean   (*has_char)          (PangoFcFont      *font,
				   gunichar          wc);
  guint      (*get_glyph)         (PangoFcFont      *font,
				   gunichar          wc);
  PangoGlyph (*get_unknown_glyph) (PangoFcFont      *font,
				   gunichar          wc);
  void       (*shutdown)          (PangoFcFont      *font);
};

Class structure for PangoFcFont.

lock_face ()

Returns the FT_Face of the font and increases the reference count for the face by one.

unlock_face ()

Decreases the reference count for the FT_Face of the font by one. When the count is zero, the PangoFcFont subclass is allowed to free the FT_Face.

has_char ()

Return TRUE if the the font contains a glyph corresponding to the specified character.

get_glyph ()

Gets the glyph that corresponds to the given Unicode character.

get_unknown_glyph ()

Gets the glyph that should be used to display an unknown-glyph indication for the specified Unicode character. May be NULL.

shutdown ()

Performs any font-specific shutdown code that needs to be done when pango_fc_font_map_shutdown is called. May be NULL.

PANGO_RENDER_TYPE_FC

#define PANGO_RENDER_TYPE_FC "PangoRenderFc"

A string constant used to identify shape engines that work with the fontconfig based backends. See the engine_type field of PangoEngineInfo.


pango_fc_font_lock_face ()

FT_Face             pango_fc_font_lock_face             (PangoFcFont *font);

Gets the FreeType FT_Face associated with a font, This face will be kept around until you call pango_fc_font_unlock_face().

font :

a PangoFcFont.

Returns :

the FreeType FT_Face associated with font.

Since 1.4


pango_fc_font_unlock_face ()

void                pango_fc_font_unlock_face           (PangoFcFont *font);

Releases a font previously obtained with pango_fc_font_lock_face().

font :

a PangoFcFont.

Since 1.4


pango_fc_font_has_char ()

gboolean            pango_fc_font_has_char              (PangoFcFont *font,
                                                         gunichar wc);

Determines whether font has a glyph for the codepoint wc.

font :

a PangoFcFont

wc :

Unicode codepoint to look up

Returns :

TRUE if font has the requested codepoint.

Since 1.4


pango_fc_font_get_glyph ()

guint               pango_fc_font_get_glyph             (PangoFcFont *font,
                                                         gunichar wc);

Gets the glyph index for a given Unicode character for font. If you only want to determine whether the font has the glyph, use pango_fc_font_has_char().

font :

a PangoFcFont

wc :

Unicode character to look up

Returns :

the glyph index, or 0, if the Unicode character doesn't exist in the font.

Since 1.4


pango_fc_font_get_unknown_glyph ()

PangoGlyph          pango_fc_font_get_unknown_glyph     (PangoFcFont *font,
                                                         gunichar wc);

Warning

pango_fc_font_get_unknown_glyph is deprecated and should not be used in newly-written code.

Returns the index of a glyph suitable for drawing wc as an unknown character.

Use PANGO_GET_UNKNOWN_GLYPH() instead.

font :

a PangoFcFont

wc :

the Unicode character for which a glyph is needed.

Returns :

a glyph index into font.

Since 1.4


pango_fc_font_kern_glyphs ()

void                pango_fc_font_kern_glyphs           (PangoFcFont *font,
                                                         PangoGlyphString *glyphs);

Warning

pango_fc_font_kern_glyphs is deprecated and should not be used in newly-written code. 1.32

Adjust each adjacent pair of glyphs in glyphs according to kerning information in font.

font :

a PangoFcFont

glyphs :

a PangoGlyphString

Since 1.4

Property Details

The "fontmap" property

  "fontmap"                  PangoFcFontMap*       : Read / Write

The PangoFc font map this font is associated with (Since: 1.26).


The "pattern" property

  "pattern"                  gpointer              : Read / Write / Construct Only

The fontconfig pattern for this font.

See Also

PangoFcFontMap

The base class for font maps; creating a new Fontconfig-based backend involves deriving from both PangoFcFontMap and PangoFcFont. .