Teach MS-Windows font back-end return per-glyph ascent/descent
commit53bedd3a8eb7169b734ee8925c76712c68d9c4fc
authorEli Zaretskii <eliz@gnu.org>
Tue, 26 May 2015 15:29:40 +0000 (26 18:29 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 26 May 2015 15:29:40 +0000 (26 18:29 +0300)
treea36ee973a6163d8281ebf00ba21e01d1b064b8d5
parent45c92ddd99f5d3ceb520f9a27678bbedde83589b
Teach MS-Windows font back-end return per-glyph ascent/descent

* src/w32font.h (struct w32_metric_cache): Add ascent and descent
values.

* src/w32font.c (w32font_text_extents): Compute, cache, and
accumulate per-glyph ascent and descent values, instead of copying
global values from the font.  If the values are not available from
the font data, i.e., non-TTF fonts, fall back on font-global values.
(compute_metrics): Compute and return per-glyph ascent and descent
values, if returned by GetGlyphOutlineW, falling back on
font-global values.  (Bug#20628)

* src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
height of rectangle to be drawn, to be compatible with
XDrawRectangle.  Fixes glyphless-char display as hex codes in a
box, when per-glyph ascent/descent values are used.
src/w32font.c
src/w32font.h
src/w32term.c