Bug 515484: Pango on Windows is missing Type 1 font support Patch from
authorTor Lillqvist <tml@novell.com>
Sun, 24 Feb 2008 22:04:56 +0000 (22:04 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Sun, 24 Feb 2008 22:04:56 +0000 (22:04 +0000)
commit086da399d3c16f0c9b75ae2c60e4afcb286bb052
treee3323630c7f4756578fb15e4982a7f9dfc170799
parentf7c14feedebe9dbea552a49d998dfeb56f1f797f
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
ChangeLog
pango/pangowin32-fontmap.c
pango/pangowin32-private.h
pango/pangowin32.c