|  |  |  | Pango Reference Manual |  | 
|---|
| PangoFcFontMapPangoFcFontMap — Base fontmap class for Fontconfig-based backends | 
            PangoFcFontMap;
            PangoFcFontMapClass;
PangoFontDescription* pango_fc_font_description_from_pattern
                                            (FcPattern  *pattern,
                                             gboolean  include_size);
void         pango_fc_font_map_cache_clear   (PangoFcFontMap *fcfontmap);
PangoContext* pango_fc_font_map_create_context
                                            (PangoFcFontMap *fcfontmap);
void         pango_fc_font_map_shutdown      (PangoFcFontMap *fcfontmap);
void         pango_fc_font_map_add_decoder_find_func
                                            (PangoFcFontMap *fcfontmap,
                                             PangoFcDecoderFindFunc findfunc,
                                             gpointer  user_data,
                                             GDestroyNotify  dnotify);
PangoFcDecoder* (*PangoFcDecoderFindFunc)   (FcPattern  *pattern,
                                             gpointer  user_data);
PangoFcFontMap is a base class for font map implementations 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.
typedef struct _PangoFcFontMap PangoFcFontMap;
PangoFcFontMap is a base class for font map implementations
using the FontConfig and FreeType libraries. To create a new
backend using Fontconfig and FreeType, you derive from this class
and implement a new_font()
typedef struct {
  /* Deprecated in favor of context_substitute */
  void         (*default_substitute) (PangoFcFontMap   *fontmap,
			              FcPattern        *pattern);
  /* Deprecated in favor of create_font */
  PangoFcFont  *(*new_font)          (PangoFcFontMap  *fontmap,
			              FcPattern       *pattern);
  double       (*get_resolution)     (PangoFcFontMap             *fcfontmap,
				      PangoContext               *context);
  
  gconstpointer (*context_key_get)   (PangoFcFontMap             *fcfontmap,
				      PangoContext               *context);
  gpointer     (*context_key_copy)   (PangoFcFontMap             *fcfontmap,
				      gconstpointer               key);
  void         (*context_key_free)   (PangoFcFontMap             *fcfontmap,
				      gpointer                    key);
  guint32      (*context_key_hash)   (PangoFcFontMap             *fcfontmap,
				      gconstpointer               key);
  gboolean     (*context_key_equal)  (PangoFcFontMap             *fcfontmap,
				      gconstpointer               key_a,
				      gconstpointer               key_b);
  
  void         (*context_substitute) (PangoFcFontMap             *fontmap,
				      PangoContext               *context,
			              FcPattern                  *pattern);
  PangoFcFont  *(*create_font)       (PangoFcFontMap             *fontmap,
				      PangoContext               *context,
				      const PangoFontDescription *desc,
			              FcPattern                  *pattern);
} PangoFcFontMapClass;
Class structure for PangoFcFontMap.
| default_substitute() | Substitutes in default values for
 unspecified fields in a NULL.
 Deprecated in favor of @context_substitute() | 
| new_font() | Creates a new PangoFcFont for the specified
 pattern of the appropriate type for this font map. The patternargument must be passed to the "pattern" property
 of PangoFcFont when you callg_object_new()create_font() | 
| get_resolution() | Gets the resolution (the scale factor
 between logical and absolute font sizes) that the backend
 will use for a particular fontmap and context. contextmay be null. | 
| context_key_get() | Gets an opaque key holding backend
 specific options for the context that will affect
 fonts created by create_font() | 
| context_key_copy() | Copies a context key. Pango uses this
 to make a persistant copy of the value returned from context_key_get. | 
| context_key_free() | Frees a context key copied with context_key_copy. | 
| context_key_hash() | Gets a hash value for a context key | 
| context_key_equal() | Compares two context keys for equality. | 
| context_substitute() | Substitutes in default values for
 unspecified fields in a NULL. | 
| create_font() | Creates a new PangoFcFont for the specified
 pattern of the appropriate type for this font map using
 information from the context that is passed in. The patternargument must be passed to the "pattern" property
 of PangoFcFont when you callg_object_new()create_font()NULL,new_font() | 
PangoFontDescription* pango_fc_font_description_from_pattern (FcPattern *pattern,gboolean include_size);
Creates a PangoFontDescription that matches the specified
Fontconfig pattern as closely as possible. Many possible Fontconfig
pattern values, such as FC_RASTERIZER or FC_DPI, don't make sense in
the context of PangoFontDescription, so will be ignored.
| pattern: | a | 
| include_size: | if TRUE, the pattern will include the size from
  thepattern; otherwise the resulting pattern will be unsized.
  (onlyFC_SIZEis examined, notFC_PIXEL_SIZE) | 
| Returns : | a new PangoFontDescription. Free with pango_font_description_free(). | 
Since 1.4
void pango_fc_font_map_cache_clear (PangoFcFontMap *fcfontmap);
Clear all cached information and fontsets for this font map;
this should be called whenever there is a change in the
output of the default_substitute()
This function is intended to be used only by backend implementations
deriving from 
| fcfontmap: | a | 
Since 1.4
PangoContext* pango_fc_font_map_create_context (PangoFcFontMap *fcfontmap);
Creates a new context for this fontmap. This function is intended
only for backend implementations deriving from 
| fcfontmap: | a PangoFcFontMap | 
| Returns : | a new PangoContext | 
Since 1.4
void pango_fc_font_map_shutdown (PangoFcFontMap *fcfontmap);
Clears all cached information for the fontmap and marks
all fonts open for the fontmap as dead. (See the shutdown()
| fcfontmap: | a | 
Since 1.4
void pango_fc_font_map_add_decoder_find_func (PangoFcFontMap *fcfontmap, PangoFcDecoderFindFunc findfunc,gpointer user_data,GDestroyNotify dnotify);
This function saves a callback method in the PangoFcFontMap that
will be called whenever new fonts are created.  If the
function returns a PangoFcDecoder, that decoder will be used to
determine both coverage via a 
| fcfontmap: | The PangoFcFontMap to add this method to. | 
| findfunc: | The PangoFcDecoderFindFunc callback function | 
| user_data: | User data. | 
| dnotify: | A | 
Since 1.6.
PangoFcDecoder* (*PangoFcDecoderFindFunc) (FcPattern *pattern,gpointer user_data);
Callback function passed to pango_fc_font_map_add_decoder_find_func().
| pattern: | a fully resolved | 
| user_data: | user data passed to pango_fc_font_map_add_decoder_find_func() | 
| Returns : | a new reference to a custom decoder for this pattern,
 or NULLif the default decoder handling should be used. | 
| PangoFcFont | The base class for fonts; creating a new Fontconfig-based backend involves deriving from both PangoFcFontMap and PangoFcFont. | 
| << Low Level Functionality | PangoFcFont >> |