summaryrefslogtreecommitdiff
path: root/pango/pangowin32-private.h
diff options
context:
space:
mode:
Diffstat (limited to 'pango/pangowin32-private.h')
-rw-r--r--pango/pangowin32-private.h50
1 files changed, 47 insertions, 3 deletions
diff --git a/pango/pangowin32-private.h b/pango/pangowin32-private.h
index 9102662a..f69d2b6b 100644
--- a/pango/pangowin32-private.h
+++ b/pango/pangowin32-private.h
@@ -57,6 +57,8 @@
#include "pango-fontset.h"
#include "pango-fontmap-private.h"
+G_BEGIN_DECLS
+
#define PANGO_TYPE_WIN32_FONT_MAP (_pango_win32_font_map_get_type ())
#define PANGO_WIN32_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_WIN32_FONT_MAP, PangoWin32FontMap))
#define PANGO_WIN32_IS_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_WIN32_FONT_MAP))
@@ -73,6 +75,7 @@
typedef struct _PangoWin32FontMap PangoWin32FontMap;
typedef struct _PangoWin32FontMapClass PangoWin32FontMapClass;
+typedef struct _PangoWin32DWriteItems PangoWin32DWriteItems;
typedef struct _PangoWin32Font PangoWin32Font;
typedef struct _PangoWin32FontClass PangoWin32FontClass;
typedef struct _PangoWin32Face PangoWin32Face;
@@ -96,12 +99,14 @@ struct _PangoWin32FontMap
*/
GHashTable *fonts;
+ /* Map LOGFONTWs to IDWriteFonts corresponding to actual fonts
+ * installed, if applicable.
+ */
+ GHashTable *dwrite_fonts;
+
/* keeps track of the system font aliases that we might have */
GHashTable *aliases;
- /* keeps track of the warned fonts that we might have */
- GHashTable *warned_fonts;
-
double resolution; /* (points / pixel) * PANGO_SCALE */
};
@@ -137,6 +142,9 @@ struct _PangoWin32Font
*/
gboolean in_cache;
GHashTable *glyph_info;
+
+ /* whether the font supports hinting */
+ gboolean is_hinted;
};
struct _PangoWin32FontClass
@@ -279,6 +287,42 @@ _PANGO_EXTERN
gpointer _pango_win32_copy_cmap (gpointer cmap,
guint16 cmap_format);
+_PANGO_EXTERN
+gboolean pango_win32_dwrite_font_check_is_hinted (PangoWin32Font *font);
+
+_PANGO_EXTERN
+void *pango_win32_font_get_dwrite_font_face (PangoWin32Font *font);
+
extern gboolean _pango_win32_debug;
+void pango_win32_insert_font (PangoWin32FontMap *win32fontmap,
+ LOGFONTW *lfp,
+ gpointer dwrite_font,
+ gboolean is_synthetic);
+
+PangoWin32DWriteItems *pango_win32_init_direct_write (void);
+
+PangoWin32DWriteItems *pango_win32_get_direct_write_items (void);
+
+void pango_win32_dwrite_font_map_populate (PangoWin32FontMap *map);
+
+void pango_win32_dwrite_items_destroy (PangoWin32DWriteItems *items);
+
+gboolean pango_win32_dwrite_font_is_monospace (gpointer dwrite_font,
+ gboolean *is_monospace);
+
+void pango_win32_dwrite_font_release (gpointer dwrite_font);
+
+_PANGO_EXTERN
+void pango_win32_dwrite_font_face_release (gpointer dwrite_font_face);
+
+gpointer pango_win32_logfontw_get_dwrite_font (LOGFONTW *logfontw);
+
+PangoFontDescription *
+pango_win32_font_description_from_logfontw_dwrite (const LOGFONTW *logfontw);
+
+hb_face_t *pango_win32_dwrite_font_face_create_hb_face (gpointer face);
+
+G_END_DECLS
+
#endif /* __PANGOWIN32_PRIVATE_H__ */