4 * Copyright (C) 1999 Red Hat Software
5 * Copyright (C) 2000 Tor Lillqvist
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
17 * You should have received a copy of the GNU Library General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
23 #ifndef __PANGOFT2_H__
24 #define __PANGOFT2_H__
26 #include <fontconfig/fontconfig.h>
28 #include <pango/pango-layout.h>
29 #include <pango/pangofc-font.h>
33 #ifndef PANGO_DISABLE_DEPRECATED
34 #define PANGO_RENDER_TYPE_FT2 "PangoRenderFT2"
37 #define PANGO_TYPE_FT2_FONT_MAP (pango_ft2_font_map_get_type ())
38 #define PANGO_FT2_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_FONT_MAP, PangoFT2FontMap))
39 #define PANGO_FT2_IS_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FT2_FONT_MAP))
41 typedef struct _PangoFT2FontMap PangoFT2FontMap;
43 typedef void (*PangoFT2SubstituteFunc) (FcPattern *pattern,
46 /* Calls for applications */
48 void pango_ft2_render (FT_Bitmap *bitmap,
50 PangoGlyphString *glyphs,
53 void pango_ft2_render_transformed (FT_Bitmap *bitmap,
54 const PangoMatrix *matrix,
56 PangoGlyphString *glyphs,
60 void pango_ft2_render_layout_line (FT_Bitmap *bitmap,
61 PangoLayoutLine *line,
64 void pango_ft2_render_layout_line_subpixel (FT_Bitmap *bitmap,
65 PangoLayoutLine *line,
68 void pango_ft2_render_layout (FT_Bitmap *bitmap,
72 void pango_ft2_render_layout_subpixel (FT_Bitmap *bitmap,
77 GType pango_ft2_font_map_get_type (void) G_GNUC_CONST;
79 PangoFontMap *pango_ft2_font_map_new (void);
80 void pango_ft2_font_map_set_resolution (PangoFT2FontMap *fontmap,
83 void pango_ft2_font_map_set_default_substitute (PangoFT2FontMap *fontmap,
84 PangoFT2SubstituteFunc func,
86 GDestroyNotify notify);
87 void pango_ft2_font_map_substitute_changed (PangoFT2FontMap *fontmap);
88 #ifndef PANGO_DISABLE_DEPRECATED
89 PangoContext *pango_ft2_font_map_create_context (PangoFT2FontMap *fontmap);
93 /* API for rendering modules
95 #ifndef PANGO_DISABLE_DEPRECATED
96 PangoContext *pango_ft2_get_context (double dpi_x,
98 PangoFontMap *pango_ft2_font_map_for_display (void);
99 void pango_ft2_shutdown_display (void);
101 PangoGlyph pango_ft2_get_unknown_glyph (PangoFont *font);
102 int pango_ft2_font_get_kerning (PangoFont *font,
105 FT_Face pango_ft2_font_get_face (PangoFont *font);
106 PangoCoverage *pango_ft2_font_get_coverage (PangoFont *font,
107 PangoLanguage *language);
108 #endif /* PANGO_DISABLE_DEPRECATED */
112 #endif /* __PANGOFT2_H__ */