diff options
author | Alexander Larsson <alla@lysator.liu.se> | 2001-11-18 16:06:02 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2001-11-18 16:06:02 +0000 |
commit | 0766534429b5830716e782418179ea63f8f1f65d (patch) | |
tree | 1ab6b8c50e572af8320c8f3623b8135276c010f6 /pango/pangoft2-private.h | |
parent | b12c0fb6263fd542bb03f8bb10076a0653694f12 (diff) | |
download | pango-0766534429b5830716e782418179ea63f8f1f65d.tar.gz |
Check for LEX and YACC. This will be made optional later, with the build
2001-11-17 Alexander Larsson <alla@lysator.liu.se>
* configure.in:
Check for LEX and YACC. This will be made optional later,
with the build sources checked in to cvs.
Generate pango/mini-xft/Makefile
* modules/basic/basic-ft2.c:
Use the new pangoft2 API.
* pango/Makefile.am:
Build mini-xft.
Add new files.
* pango/pango-context.[ch]:
Support only one fontmap per context.
Use pango_font_map_load_fontset() and PangoFontset instead
of internal fontset.
* pango/pango-fontmap.[ch]:
New virtual function pango_font_map_load_fontset() and
default implementation that uses pango_font_map_load_font().
* pango/pango-utils.[ch] (pango_lookup_aliases):
Utility function for looking up aliases. This can be
used by backend that has no backend specific aliases.
* pango/pangoft2-fontcache.c:
Removed file.
* pango/pangoft2-fontmap.c:
* pango/pangoft2-private.h:
* pango/pangoft2.c:
* pango/pangoft2.h:
Major rewrite. Doesn't handle fontsets. Uses mini-xft so that
it will always match the PangoXft backend. Simplified the
public API.
* pango/pangowin32.c:
* pango/pangox.c:
pango_context_add_font_map -> pango_context_set_font_map
* pango/pangoxft-font.c:
* pango/pangoxft-fontmap.c:
* pango/pangoxft-private.h:
New code to handle fontsets.
* pango/mini-xft/*:
Mini version of libXft from XFree86 in order to have
the pangoFT2 and pangXft backends have same config files and
generate the same fonts.
Diffstat (limited to 'pango/pangoft2-private.h')
-rw-r--r-- | pango/pangoft2-private.h | 76 |
1 files changed, 32 insertions, 44 deletions
diff --git a/pango/pangoft2-private.h b/pango/pangoft2-private.h index cc12206e..5dd5b3d5 100644 --- a/pango/pangoft2-private.h +++ b/pango/pangoft2-private.h @@ -25,6 +25,7 @@ #include "pango-modules.h" #include "pangoft2.h" +#include "mini-xft/MiniXft.h" /* Debugging... */ /*#define DEBUGGING 1*/ @@ -52,43 +53,27 @@ ((d) - PANGO_SCALE_26_6 / 2) / PANGO_SCALE_26_6) #define PANGO_UNITS_26_6(d) (PANGO_SCALE_26_6 * (d)) -typedef struct _PangoFT2OA PangoFT2OA; -typedef struct _PangoFT2Font PangoFT2Font; +typedef struct _PangoFT2Font PangoFT2Font; typedef struct _PangoFT2GlyphInfo PangoFT2GlyphInfo; -typedef struct _PangoFT2Face PangoFT2Face; -typedef struct _PangoFT2SubfontInfo PangoFT2SubfontInfo; +typedef struct _PangoFT2Face PangoFT2Face; +typedef struct _PangoFT2Family PangoFT2Family; -struct _PangoFT2OA -{ - FT_Open_Args *open_args; - FT_Long face_index; -}; struct _PangoFT2Font { PangoFont font; - /* A PangoFT2Font consists of one or several FT2 fonts (faces) that - * are assumed to blend visually well, and cover separate parts of - * the Unicode characters. The FT2 faces are not kept unnecessarily - * open, thus also we keep both the FT_Open_Args (and face index), - * and FT_Face. - */ - PangoFT2OA **oa; - FT_Face *faces; - int n_fonts; + MiniXftPattern *font_pattern; + FT_Face face; int size; - GSList *metrics_by_lang; - PangoFontMap *fontmap; + PangoFontDescription *description; + /* If TRUE, font is in cache of recently unused fonts and not otherwise - * in use. - */ + * in use. */ gboolean in_cache; - - PangoFT2Face *entry; GHashTable *glyph_info; }; @@ -103,27 +88,30 @@ struct _PangoFT2Face { PangoFontFace parent_instance; - FT_Open_Args **open_args; - FT_Long *face_indices; - int n_fonts; - PangoFontDescription *description; - PangoCoverage *coverage; - char *face_name; - - GSList *cached_fonts; + PangoFT2Family *family; + char *style; }; -PangoMap *pango_ft2_get_shaper_map (PangoLanguage *language); -PangoCoverage *pango_ft2_face_get_coverage (PangoFT2Face *face, - PangoFont *font, - PangoLanguage *language); -void pango_ft2_face_remove (PangoFT2Face *face, - PangoFont *font); -FT_Library *pango_ft2_fontmap_get_library (PangoFontMap *fontmap); -void pango_ft2_fontmap_cache_add (PangoFontMap *fontmap, - PangoFT2Font *ft2font); -void pango_ft2_fontmap_cache_remove (PangoFontMap *fontmap, - PangoFT2Font *ft2font); -const char *pango_ft2_ft_strerror (FT_Error error); +PangoFT2Font * _pango_ft2_font_new (PangoFontMap *font, + MiniXftPattern *pattern); +PangoMap *_pango_ft2_get_shaper_map (PangoLanguage *language); +void _pango_ft2_font_map_set_coverage (PangoFontMap *fontmap, + const char *name, + PangoCoverage *coverage); +PangoCoverage *_pango_ft2_font_map_get_coverage (PangoFontMap *fontmap, + const char *name); +void _pango_ft2_face_remove (PangoFT2Face *face, + PangoFont *font); +FT_Library _pango_ft2_font_map_get_library (PangoFontMap *fontmap); +void _pango_ft2_font_map_cache_add (PangoFontMap *fontmap, + PangoFT2Font *ft2font); +void _pango_ft2_font_map_cache_remove (PangoFontMap *fontmap, + PangoFT2Font *ft2font); +void _pango_ft2_font_map_add (PangoFontMap *fontmap, + PangoFT2Font *ft2font); +void _pango_ft2_font_map_remove (PangoFontMap *fontmap, + PangoFT2Font *ft2font); +const char *_pango_ft2_ft_strerror (FT_Error error); +PangoFontDescription *_pango_ft2_font_desc_from_pattern (MiniXftPattern *pattern); #endif /* __PANGOFT2_PRIVATE_H__ */ |