diff options
author | Tor Lillqvist <tml@novell.com> | 2008-02-24 22:04:56 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2008-02-24 22:04:56 +0000 |
commit | 086da399d3c16f0c9b75ae2c60e4afcb286bb052 (patch) | |
tree | e3323630c7f4756578fb15e4982a7f9dfc170799 /pango/pangowin32-private.h | |
parent | f7c14feedebe9dbea552a49d998dfeb56f1f797f (diff) | |
download | pango-086da399d3c16f0c9b75ae2c60e4afcb286bb052.tar.gz |
Bug 515484: Pango on Windows is missing Type 1 font support Patch from
2008-02-24 Tor Lillqvist <tml@novell.com>
Bug 515484: Pango on Windows is missing Type 1
font support
Patch from Adrian Johnson.
* pango/pangowin32-private.h (PangoWin32Face): Add has_cmap field
that tells whether the font has a cmap or not. A Type 1 font
doesn't.
* pango/pangowin32.c (pango_win32_font_get_type1_glyph_index): New
static function. Uses GetGlyphIndicesW() to get the glyph indices
for Type 1 fonts. Possibly also TrueType fonts that for some
reason lack the cmap formats we understand.
(pango_win32_font_calc_type1_coverage): New static function. Uses
GetFontUnicodeRanges() to get the coverage for Type 1 fonts, and
possibly TrueType fonts that lack the cmap formats we understand.
(pango_win32_font_get_glyph_index): Set has_cmap to false if the
font doesn't have a cmap. Call
pango_win32_font_get_type1_glyph_index() in that case.
(pango_win32_font_calc_coverage): Set has_cmap to false if the
font doesn't have a cmap. Call
pango_win32_font_calc_type1_coverage() in that case.
* pango/pangowin32-fontmap.c (pango_win32_enum_proc): Accept also
Type 1 fonts.
(pango_win32_insert_font): Initialise has_cmap tentativaly to True.
svn path=/trunk/; revision=2573
Diffstat (limited to 'pango/pangowin32-private.h')
-rw-r--r-- | pango/pangowin32-private.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/pango/pangowin32-private.h b/pango/pangowin32-private.h index 0450e5dc..5f603667 100644 --- a/pango/pangowin32-private.h +++ b/pango/pangowin32-private.h @@ -165,6 +165,7 @@ struct _PangoWin32Face char *face_name; gboolean is_synthetic; + gboolean has_cmap; guint16 cmap_format; gpointer cmap; |