X Fonts

Name

X Fonts -- Functions 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.

Details

PangoXSubfont

typedef 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 font


pango_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 charsets
subfont_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 PangoXFontCache

struct 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 stored

cache : 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