More intuitive.
NULL);
hb_font_set_scale (hb_font,
/* XXX CTM */
- ((guint64) ft_face->size->metrics.x_scale * ft_face->units_per_EM) >> 12,
- ((guint64) ft_face->size->metrics.y_scale * ft_face->units_per_EM) >> 12);
+ (((guint64) ft_face->size->metrics.x_scale * ft_face->units_per_EM) >> 12),
+ -(((guint64) ft_face->size->metrics.y_scale * ft_face->units_per_EM) >> 12));
is_hinted = fc_font->is_hinted;
hb_font_set_ppem (hb_font,
is_hinted ? ft_face->size->metrics.x_ppem : 0,
advance = PANGO_UNITS_ROUND (advance);
*/
glyphs->glyphs[i].geometry.width = hb_position->x_advance;
- glyphs->glyphs[i].geometry.x_offset = hb_position->x_offset;
- glyphs->glyphs[i].geometry.y_offset = -hb_position->y_offset;
+ glyphs->glyphs[i].geometry.x_offset = hb_position->x_offset;
+ glyphs->glyphs[i].geometry.y_offset = hb_position->y_offset;
hb_glyph++;
hb_position++;
if (is_hinted)
advance = PANGO_UNITS_ROUND (advance);
glyphs->glyphs[i].geometry.width = advance;
- glyphs->glyphs[i].geometry.x_offset = hb_position->x_offset;
- glyphs->glyphs[i].geometry.y_offset = -hb_position->y_offset;
+ glyphs->glyphs[i].geometry.x_offset = hb_position->x_offset;
+ glyphs->glyphs[i].geometry.y_offset = hb_position->y_offset;
hb_glyph++;
hb_position++;
/* XXX reuse hb_font */
hb_font = hb_font_create ();
hb_font_set_scale (hb_font,
- ((guint64) info->face->size->metrics.x_scale * info->face->units_per_EM) >> 12,
- ((guint64) info->face->size->metrics.y_scale * info->face->units_per_EM) >> 12);
+ (((guint64) info->face->size->metrics.x_scale * info->face->units_per_EM) >> 12),
+ -(((guint64) info->face->size->metrics.y_scale * info->face->units_per_EM) >> 12));
is_hinted = buffer->font->is_hinted;
hb_font_set_ppem (hb_font,
is_hinted ? info->face->size->metrics.x_ppem : 0,