[pango/simple-fontmap: 9/11] Fix glyph extents to look right
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/simple-fontmap: 9/11] Fix glyph extents to look right
- Date: Mon, 25 Oct 2021 09:55:26 +0000 (UTC)
commit 1fed0529a05d84f377cbcaed94e54899348d3eb6
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Oct 21 13:54:19 2021 -0500
Fix glyph extents to look right
This is done purely by visual inspection.
Not clear to me why this is necessary.
To test this, I've used
pango-view --font-file /usr/share/fonts/cantarell/Cantarell-VF.otf \
--font="Cantarell 64" \
--gravity=east --gravity-hint=strong --rotate=-90 \
--text "Vertical" \
--annotate=glyph
Remove the --font-file argument to see the rendering
with the current code.
pango/pango-hbfont.c | 6 ++++++
1 file changed, 6 insertions(+)
---
diff --git a/pango/pango-hbfont.c b/pango/pango-hbfont.c
index 2b68c528..c52779b3 100644
--- a/pango/pango-hbfont.c
+++ b/pango/pango-hbfont.c
@@ -453,12 +453,18 @@ pango_hb_font_get_glyph_extents (PangoFont *font,
if (ink_rect)
{
+ PangoMatrix matrix = PANGO_MATRIX_INIT;
+
ink_rect->x = extents.x_bearing;
ink_rect->width = extents.width;
ink_rect->y = - extents.y_bearing;
ink_rect->height = - extents.height;
pango_matrix_transform_rectangle (&self->face->matrix, ink_rect);
+
+ /* FIXME: why is this required */
+ pango_matrix_rotate (&matrix, - pango_gravity_to_rotation (PANGO_HB_FONT (font)->gravity) * 180. /
G_PI);
+ pango_matrix_transform_rectangle (&matrix, ink_rect);
}
if (logical_rect)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]