Description
PangoFcFontMap is a base class for font map implementations using the
Fontconfig and FreeType libraries. It is used in the
Xft and
FreeTypebackends 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.
Functions
pango_fc_font_map_create_context ()
PangoContext *
pango_fc_font_map_create_context (PangoFcFontMap *fcfontmap);
pango_fc_font_map_create_context has been deprecated since version 1.22 and should not be used in newly-written code.
Use pango_font_map_create_context() instead.
Creates a new context for this fontmap. This function is intended
only for backend implementations deriving from PangoFcFontMap;
it is possible that a backend will store additional information
needed for correct operation on the PangoContext after calling
this function.
Since: 1.4
pango_fc_font_map_add_decoder_find_func ()
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 FcCharSet and a one-to-one mapping of
characters to glyphs. This will allow applications to have
application-specific encodings for various fonts.
Since: 1.6
pango_fc_font_map_cache_clear ()
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() virtual function of the
font map, or if fontconfig has been reinitialized to new
configuration.
Since: 1.4
pango_fc_font_map_config_changed ()
void
pango_fc_font_map_config_changed (PangoFcFontMap *fcfontmap);
Informs font map that the fontconfig configuration (ie, FcConfig object)
used by this font map has changed. This currently calls
pango_fc_font_map_cache_clear() which ensures that list of fonts, etc
will be regenerated using the updated configuration.
Since: 1.38
pango_fc_font_map_shutdown ()
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()
virtual function of PangoFcFont.) This function might be used
by a backend when the underlying windowing system for the font
map exits. This function is only intended to be called
only for backend implementations deriving from PangoFcFontMap.
Since: 1.4
pango_fc_font_map_set_config ()
void
pango_fc_font_map_set_config (PangoFcFontMap *fcfontmap,
FcConfig *fcconfig);
Set the FcConfig for this font map to use. The default value
is NULL, which causes Fontconfig to use its global "current config".
You can create a new FcConfig object and use this API to attach it
to a font map.
This is particularly useful for example, if you want to use application
fonts with Pango. For that, you would create a fresh FcConfig, add your
app fonts to it, and attach it to a new Pango font map.
If fcconfig
is different from the previous config attached to the font map,
pango_fc_font_map_config_changed() is called.
This function acquires a reference to the FcConfig object; the caller
does NOT need to retain a reference.
Since: 1.38
pango_fc_font_map_get_config ()
FcConfig *
pango_fc_font_map_get_config (PangoFcFontMap *fcfontmap);
Fetches FcConfig attached to a font map. See pango_fc_font_map_set_config().
Returns
the FcConfig object attached to fcfontmap
, which
might be NULL.
[nullable]
Since: 1.38
pango_fc_font_description_from_pattern ()
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.
Since: 1.4
Types and Values
PangoFcFontMap
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() virtual function that creates an
instance deriving from PangoFcFont.
PangoFcFontMapClass
typedef struct _PangoFcFontMapClass PangoFcFontMapClass;
Class structure for PangoFcFontMap.
PANGO_FC_FONT_FEATURES
#define PANGO_FC_FONT_FEATURES "fontfeatures"
String representing a fontconfig property name that Pango reads from font
patterns to populate list of OpenType features to be enabled for the font
by default.
The property will have a number of string elements, each of which is the
OpenType feature tag of one feature to enable.
This is equivalent to FC_FONT_FEATURES in versions of fontconfig that have that.
Since: 1.34
PANGO_FC_GRAVITY
#define PANGO_FC_GRAVITY "pangogravity"
String representing a fontconfig property name that Pango sets on any
fontconfig pattern it passes to fontconfig if a PangoGravity other
than PANGO_GRAVITY_SOUTH is desired.
The property will have a PangoGravity value as a string, like "east".
This can be used to write fontconfig configuration rules to choose
different fonts for horizontal and vertical writing directions.
Since: 1.20
PANGO_FC_VERSION
#define PANGO_FC_VERSION "pangoversion"
String representing a fontconfig property name that Pango sets on any
fontconfig pattern it passes to fontconfig.
The property will have an integer value equal to what
pango_version() returns.
This can be used to write fontconfig configuration rules that only affect
certain pango versions (or only pango-using applications, or only
non-pango-using applications).
Since: 1.20
PANGO_FC_PRGNAME
#define PANGO_FC_PRGNAME "prgname"
String representing a fontconfig property name that Pango sets on any
fontconfig pattern it passes to fontconfig.
The property will have a string equal to what
g_get_prgname() returns.
This can be used to write fontconfig configuration rules that only affect
certain applications.
This is equivalent to FC_PRGNAME in versions of fontconfig that have that.
Since: 1.24
PANGO_FC_FONT_VARIATIONS
#define PANGO_FC_FONT_VARIATIONS "fontvariations"
String representing a fontconfig property name that Pango reads from font
patterns to populate list of OpenType font variations to be used for a font.
The property will have a string elements, each of which a comma-separated
list of OpenType axis setting of the form AXIS=VALUE.