#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.
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.
the #FcCharset for @fcfont; must not
be modified or freed.
a #PangoFcDecoder
the #PangoFcFont to query.
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.)
the glyph index, or 0 if the glyph isn't
covered by the font.
a #PangoFcDecoder
a #PangoFcFont to query.
the Unicode code point to convert to a single #PangoGlyph.
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.
the #FcCharset for @fcfont; must not
be modified or freed.
a #PangoFcDecoder
the #PangoFcFont to query.
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.)
the glyph index, or 0 if the glyph isn't
covered by the font.
a #PangoFcDecoder
a #PangoFcFont to query.
the Unicode code point to convert to a single #PangoGlyph.
Class structure for #PangoFcDecoder.
the #FcCharset for @fcfont; must not
be modified or freed.
a #PangoFcDecoder
the #PangoFcFont to query.
the glyph index, or 0 if the glyph isn't
covered by the font.
a #PangoFcDecoder
a #PangoFcFont to query.
the Unicode code point to convert to a single #PangoGlyph.
Callback function passed to pango_fc_font_map_add_decoder_find_func().
a new reference to a custom decoder for this pattern,
or %NULL if the default decoder handling should be used.
a fully resolved #FcPattern specifying the font on the system
user data passed to pango_fc_font_map_add_decoder_find_func()
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.
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.
#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.
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.
a new #PangoFontDescription. Free with
pango_font_description_free().
a #FcPattern
if %TRUE, the pattern will include the size from
the @pattern; otherwise the resulting pattern will be unsized.
(only %FC_SIZE is examined, not %FC_PIXEL_SIZE)
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().
the glyph index, or 0, if the Unicode
character doesn't exist in the font.
a #PangoFcFont
Unicode character to look up
Returns the index of a glyph suitable for drawing @wc as an
unknown character.
Use PANGO_GET_UNKNOWN_GLYPH() instead.
a glyph index into @font.
a #PangoFcFont
the Unicode character for which a glyph is needed.
Determines whether @font has a glyph for the codepoint @wc.
Use pango_font_has_char()
%TRUE if @font has the requested codepoint.
a #PangoFcFont
Unicode codepoint to look up
This function used to adjust each adjacent pair of glyphs
in @glyphs according to kerning information in @font.
Since 1.44, it does nothing.
a #PangoFcFont
a #PangoGlyphString
Gets the FreeType <type>FT_Face</type> associated with a font,
This face will be kept around until you call
pango_fc_font_unlock_face().
Use pango_font_get_hb_font() instead
the FreeType <type>FT_Face</type> associated with @font.
a #PangoFcFont.
Releases a font previously obtained with
pango_fc_font_lock_face().
Use pango_font_get_hb_font() instead
a #PangoFcFont.
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.
The #PangoFcFontMap to add this method to.
The #PangoFcDecoderFindFunc callback function
User data.
A #GDestroyNotify callback that will be called when the
fontmap is finalized and the decoder is released.
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.
a #PangoFcFontMap
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.
a #PangoFcFontMap
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.
Use pango_font_map_create_context() instead.
a new #PangoContext
a #PangoFcFontMap
Finds the decoder to use for @pattern. Decoders can be added to
a font map using pango_fc_font_map_add_decoder_find_func().
a newly created #PangoFcDecoder
object or %NULL if no decoder is set for @pattern.
The #PangoFcFontMap to use.
The #FcPattern to find the decoder for.
Fetches FcConfig attached to a font map. See pango_fc_font_map_set_config().
the #FcConfig object attached to @fcfontmap, which
might be %NULL.
a #PangoFcFontMap
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.
a #PangoFcFontMap
a #FcConfig, or %NULL
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.
a #PangoFcFontMap
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.
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.
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).