Top | ![]() |
![]() |
![]() |
![]() |
struct | PangoFcFontMap |
struct | PangoFcFontMapClass |
#define | PANGO_FC_FONT_FEATURES |
#define | PANGO_FC_GRAVITY |
#define | PANGO_FC_VERSION |
#define | PANGO_FC_PRGNAME |
PangoFcFontsetKey | |
PangoFcFontKey |
GObject ╰── PangoFontMap ╰── PangoFcFontMap ├── PangoFT2FontMap ╰── PangoXftFontMap
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.
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
PangoFcDecoder * (*PangoFcDecoderFindFunc) (FcPattern *pattern
,gpointer user_data
);
Callback function passed to pango_fc_font_map_add_decoder_find_func()
.
pattern |
a fully resolved FcPattern specifying the font on the system |
|
user_data |
user data passed to |
a new reference to a custom decoder for this pattern,
or NULL
if the default decoder handling should be used.
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.
fcfontmap |
The PangoFcFontMap to add this method to. |
|
findfunc |
The PangoFcDecoderFindFunc callback function |
|
user_data |
User data. |
|
dnotify |
A GDestroyNotify callback that will be called when the fontmap is finalized and the decoder is released. |
Since 1.6
PangoFcDecoder * pango_fc_font_map_find_decoder (PangoFcFontMap *fcfontmap
,FcPattern *pattern
);
Finds the decoder to use for pattern
. Decoders can be added to
a font map using pango_fc_font_map_add_decoder_find_func()
.
Since 1.26
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
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
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 FcPattern |
|
include_size |
if |
Since 1.4
gpointer
pango_fc_fontset_key_get_context_key (const PangoFcFontsetKey *key
);
Gets the context key member of key
.
Since 1.24
const PangoFontDescription *
pango_fc_fontset_key_get_description (const PangoFcFontsetKey *key
);
Gets the font description of key
.
Since 1.24
PangoLanguage *
pango_fc_fontset_key_get_language (const PangoFcFontsetKey *key
);
Gets the language member of key
.
Since 1.24
const PangoMatrix *
pango_fc_fontset_key_get_matrix (const PangoFcFontsetKey *key
);
Gets the matrix member of key
.
Since 1.24
double
pango_fc_fontset_key_get_absolute_size
(const PangoFcFontsetKey *key
);
Gets the absolute font size of key
in Pango units. This is adjusted
for both resolution and transformation matrix.
Since 1.24
double
pango_fc_fontset_key_get_resolution (const PangoFcFontsetKey *key
);
Gets the resolution of key
Since 1.24
gpointer
pango_fc_font_key_get_context_key (const PangoFcFontKey *key
);
Gets the context key member of key
.
Since 1.24
const PangoMatrix *
pango_fc_font_key_get_matrix (const PangoFcFontKey *key
);
Gets the matrix member of key
.
Since 1.24
const FcPattern *
pango_fc_font_key_get_pattern (const PangoFcFontKey *key
);
Gets the fontconfig pattern member of key
.
Since 1.24
struct 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.
struct PangoFcFontMapClass { /* Deprecated in favor of fontset_key_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 (*fontset_key_substitute)(PangoFcFontMap *fontmap, PangoFcFontsetKey *fontsetkey, FcPattern *pattern); PangoFcFont *(*create_font) (PangoFcFontMap *fontmap, PangoFcFontKey *fontkey); };
Class structure for PangoFcFontMap.
Substitutes in default values for
unspecified fields in a FcPattern. This will be called
prior to creating a font for the pattern. May be |
||
Creates a new PangoFcFont for the specified
pattern of the appropriate type for this font map. The
|
||
Gets the resolution (the scale factor
between logical and absolute font sizes) that the backend
will use for a particular fontmap and context. |
||
Gets an opaque key holding backend
specific options for the context that will affect
fonts created by |
||
Copies a context key. Pango uses this
to make a persistant copy of the value returned from
|
||
Frees a context key copied with
|
||
Gets a hash value for a context key |
||
Compares two context keys for equality. |
||
Substitutes in default values for
unspecified fields in a FcPattern. This will be called
prior to creating a font for the pattern. May be |
||
Creates a new PangoFcFont for the specified
pattern of the appropriate type for this font map using
information from the font key that is passed in. The
|
#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
#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
#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
#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
typedef struct _PangoFcFontsetKey PangoFcFontsetKey;
An opaque structure containing all the information needed for loading a fontset with the PangoFc fontmap.
Since 1.24
The base class for fonts; creating a new Fontconfig-based backend involves deriving from both PangoFcFontMap and PangoFcFont. |