X Fonts3PANGO LibraryX FontsFunctions for shape engines to manipulate X fonts.Synopsis
typedef PangoXSubfont;
#define PANGO_X_MAKE_GLYPH (subfont,index)
#define PANGO_X_GLYPH_SUBFONT (glyph)
#define PANGO_X_GLYPH_INDEX (glyph)
PangoFont* pango_x_load_font (Display *display,
gchar *spec);
PangoGlyph pango_x_get_unknown_glyph (PangoFont *font);
gboolean pango_x_has_glyph (PangoFont *font,
PangoGlyph glyph);
int pango_x_list_subfonts (PangoFont *font,
char **charsets,
int n_charsets,
PangoXSubfont **subfont_ids,
int **subfont_charsets);
PangoFontMap* pango_x_font_map_for_display (Display *display);
void pango_x_shutdown_display (Display *display);
PangoXFontCache* pango_x_font_map_get_font_cache
(PangoFontMap *font_map);
char* pango_x_font_subfont_xlfd (PangoFont *font,
PangoXSubfont subfont_id);
struct PangoXFontCache;
PangoXFontCache* pango_x_font_cache_new (Display *display);
void pango_x_font_cache_free (PangoXFontCache *cache);
XFontStruct* pango_x_font_cache_load (PangoXFontCache *cache,
char *xlfd);
void pango_x_font_cache_unload (PangoXFontCache *cache,
XFontStruct *fs);
Description
The functions and macros in this section are used by shape
engines to look up glyphs for particular character
sets within an PangoFont for the X rendering system.
DetailsPangoXSubfonttypedef guint16 PangoXSubfont;
The PangXSubFont type is an integer ID that identifies one
particular X font within the fonts referenced in a
a PangoFont.
PANGO_X_MAKE_GLYPH()#define PANGO_X_MAKE_GLYPH(subfont,index) ((subfont)<<16 | (index))
Make a glyph index from a PangoXSubFont index and a index
of a character with the corresponding X font.
subfont :a PangoXSubfont index
index :the index of a character within an X font.
PANGO_X_GLYPH_SUBFONT()#define PANGO_X_GLYPH_SUBFONT(glyph) ((glyph)>>16)
Extract the subfont index from a glyph index.
glyph :a PangoGlyphIndex
PANGO_X_GLYPH_INDEX()#define PANGO_X_GLYPH_INDEX(glyph) ((glyph) & 0xffff)
Extract the character index within the X font from a
glyph index.
glyph :a PangoGlyphIndex
pango_x_load_font ()PangoFont* pango_x_load_font (Display *display,
gchar *spec);
Loads up a logical font based on a "fontset" style
text specification.display : the X display
spec : a comma-separated list of XLFD's
Returns :a new PangoFont
pango_x_get_unknown_glyph ()PangoGlyph pango_x_get_unknown_glyph (PangoFont *font);
Return the index of a glyph suitable for drawing unknown characters.font : a PangoFont
Returns : a glyph index into fontpango_x_has_glyph ()gboolean pango_x_has_glyph (PangoFont *font,
PangoGlyph glyph);
Check if the given glyph is present in a X font.font : a PangoFont which must be from the X backend.
glyph : the index of a glyph in the font. (Formed
using the PANGO_X_MAKE_GLYPH macro)
Returns :TRUE if the glyph is present.
pango_x_list_subfonts ()int pango_x_list_subfonts (PangoFont *font,
char **charsets,
int n_charsets,
PangoXSubfont **subfont_ids,
int **subfont_charsets);font : a PangoFont
charsets : the charsets to list subfonts for.
n_charsets : the number of charsets in charsetssubfont_ids : location to store a pointer to an array of subfont IDs for each found subfont
the result must be freed using g_free()
subfont_charsets : location to store a pointer to an array of subfont IDs for each found subfont
the result must be freed using g_free()
Returns :number of charsets found
pango_x_font_map_for_display ()PangoFontMap* pango_x_font_map_for_display (Display *display);display :Returns :pango_x_shutdown_display ()void pango_x_shutdown_display (Display *display);
Free cached resources for the given X display structure.display : an X Display
pango_x_font_map_get_font_cache ()PangoXFontCache* pango_x_font_map_get_font_cache
(PangoFontMap *font_map);font_map :Returns :pango_x_font_subfont_xlfd ()char* pango_x_font_subfont_xlfd (PangoFont *font,
PangoXSubfont subfont_id);
Determine the X Logical Font Description for the specified
subfont.font : a PangoFont which must be from the X backend
subfont_id : the id of a subfont within the font.
Returns : A newly allocated string containing the XLFD for the
subfont. This string must be freed with g_free().
struct PangoXFontCachestruct PangoXFontCache;pango_x_font_cache_new ()PangoXFontCache* pango_x_font_cache_new (Display *display);
Create a font cache for the specified display.display : an X display.
Returns : The new font cache. This must be freed with
pango_x_font_cache_free().
pango_x_font_cache_free ()void pango_x_font_cache_free (PangoXFontCache *cache);
Free a PangoXFontCache and all associated memory. All fonts loaded
through this font cache will be freed along with the cache.cache : a PangoXFontCache
pango_x_font_cache_load ()XFontStruct* pango_x_font_cache_load (PangoXFontCache *cache,
char *xlfd);
Load a XFontStruct from a X Logical Font Description. The
result may be newly loaded, or it may have been previously
storedcache : a PangoXFontCache
xlfd : the X Logical Font Description to load.
Returns : The font structure, or NULL if the font could
not be loaded. In order to free this structure, you must call
pango_x_font_cache_unload().
pango_x_font_cache_unload ()void pango_x_font_cache_unload (PangoXFontCache *cache,
XFontStruct *fs);
Free a font structure previously loaded with pango_x_font_cache_load()cache : a PangoXFontCache
fs : the font structure to unload