diff options
author | Owen Taylor <otaylor@redhat.com> | 2003-08-03 02:35:20 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2003-08-03 02:35:20 +0000 |
commit | 94f39b93e929db7881070f4b5e1f5dc3c106e3fb (patch) | |
tree | 1fa92651d4e9d2c7c41d413468f37bdb8095cd52 /pango/pangofc-font.h | |
parent | e2ea77ce2f99c122a0087c28fcd9316be4d6e205 (diff) | |
download | pango-94f39b93e929db7881070f4b5e1f5dc3c106e3fb.tar.gz |
Make pangoxft depend on pangoft2.
Sat Aug 2 14:33:28 2003 Owen Taylor <otaylor@redhat.com>
* pango/Makefile.am (libpangoxft_1_0_la_LIBADD): Make
pangoxft depend on pangoft2.
* pango/pangofc-fontmap.[ch]: Make pangofc-fontmap.cI
into a real base class.
* pango/pangofc-font.[ch]: Move some of the pangoxft/
pangoft2 implementation here.
* pango/pangoft2.c pango/pangoft2-fontmap.c
pango/pangoft2-private.h pango/pangoxft-font.c
pango/pangoxft2-fontmap.c pango/pangoxft-private.h: Adapt
to the new scheme
* modules/*/Makefile.am Modules/*/*/*-fc.c: Don't build
separate FT2 and Xft shapers, just build one Fc shaper.
* docs/pango-sections.txt docs/pango-docs.sgml
docs/tmpl/pangofc-font{,map}.sgml: Basic docs for
the new stuff.
* configure.in: Up pango_module_version to 1.4.0.
Diffstat (limited to 'pango/pangofc-font.h')
-rw-r--r-- | pango/pangofc-font.h | 66 |
1 files changed, 57 insertions, 9 deletions
diff --git a/pango/pangofc-font.h b/pango/pangofc-font.h index 6e666542..315abd2e 100644 --- a/pango/pangofc-font.h +++ b/pango/pangofc-font.h @@ -1,5 +1,5 @@ /* Pango - * pangofc-font.h: Shared interfaces for fontconfig-based backends + * pangofc-font.h: Base fontmap type for fontconfig-based backends * * Copyright (C) 2003 Red Hat Software * @@ -23,11 +23,11 @@ #define __PANGO_FC_FONT_H__ #include <freetype/freetype.h> +#include <fontconfig/fontconfig.h> #include <pango/pango-font.h> +#include <pango/pango-fontmap.h> #include <pango/pango-glyph.h> -#if defined(PANGO_ENABLE_ENGINE) || defined(PANGO_ENABLE_BACKEND) - G_BEGIN_DECLS #define PANGO_TYPE_FC_FONT (pango_fc_font_get_type ()) @@ -37,19 +37,68 @@ G_BEGIN_DECLS typedef struct _PangoFcFont PangoFcFont; typedef struct _PangoFcFontClass PangoFcFontClass; +#if defined(PANGO_ENABLE_ENGINE) || defined(PANGO_ENABLE_BACKEND) + +/** + * PANGO_RENDER_TYPE_FC: + * + * A string constant used to identify shape engines that work + * with the fontconfig based backends. See the @engine_type field + * of #PangoEngineInfo. + **/ +#define PANGO_RENDER_TYPE_FC "PangoRenderFc" + #ifdef PANGO_ENABLE_BACKEND #define PANGO_FC_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FC_FONT, PangoFcFontClass)) #define PANGO_IS_FC_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FC_FONT)) #define PANGO_FC_FONT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FC_FONT, PangoFcFontClass)) +/** + * PangoFcFont: + * + * #PangoFcFontMap 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. + **/ struct _PangoFcFont { PangoFont parent_instance; + + FcPattern *font_pattern; /* fully resolved pattern */ + PangoFontMap *fontmap; /* associated map */ + PangoFontDescription *description; + + GSList *metrics_by_lang; }; +/** + * PangoFcFontClass: + * @lock_face: Returns the FT_Face of the font and increases + * the reference count for the face by one. + * @unlock_face: Decreases the reference count for the + * FT_Face of the font by one. When the count is zero, + * the #PangoFcFont subclass is allowed to free the + * FT_Face. + * @has_char: Return %TRUE if the the font contains a glyph + * corresponding to the specified character. + * @get_glyph: Gets the glyph that corresponds to the given + * Unicode character. + * @get_unknown_glyph: Gets the glyph that should be used to + * display an unknown-glyph indication for the specified + * unicode character. + * @shutdown: Performs any font-specific shutdown code that + * needs to be done when pango_fc_font_map_shutdown is called. + * May be %NULL. + * + * Class structure for #PangoFcFont. + **/ struct _PangoFcFontClass { + /*< private >*/ PangoFontClass parent_class; /*< public >*/ @@ -61,8 +110,7 @@ struct _PangoFcFontClass gunichar wc); PangoGlyph (*get_unknown_glyph) (PangoFcFont *font, gunichar wc); - void (*kern_glyphs) (PangoFcFont *font, - PangoGlyphString *glyphs); + void (*shutdown) (PangoFcFont *font); /*< private >*/ /* Padding for future expansion */ @@ -74,8 +122,6 @@ struct _PangoFcFontClass #endif /* PANGO_ENABLE_BACKEND */ -GType pango_fc_font_get_type (void); - FT_Face pango_fc_font_lock_face (PangoFcFont *font); void pango_fc_font_unlock_face (PangoFcFont *font); gboolean pango_fc_font_has_char (PangoFcFont *font, @@ -87,8 +133,10 @@ PangoGlyph pango_fc_font_get_unknown_glyph (PangoFcFont *font, void pango_fc_font_kern_glyphs (PangoFcFont *font, PangoGlyphString *glyphs); -G_END_DECLS - #endif /* PANGO_ENABLE_ENGINE || PANGO_ENABLE_BACKEND */ +GType pango_fc_font_get_type (void); + +G_END_DECLS + #endif /* __PANGO_FC_FONT_H__ */ |