diff --git a/src/hb-old.cc b/src/hb-old.cc index 1f6bf7f86..9d1a0055b 100644 --- a/src/hb-old.cc +++ b/src/hb-old.cc @@ -149,12 +149,12 @@ hb_old_getGlyphMetrics (HB_Font old_font, hb_font_get_glyph_extents (font, glyph, &extents); - metrics->xOffset = extents.x_bearing; - metrics->yOffset = extents.y_bearing; + metrics->x = extents.x_bearing; + metrics->y = extents.y_bearing; metrics->width = extents.width; - metrics->height = extents.height; - metrics->x = hb_font_get_glyph_h_advance (font, glyph); - metrics->y = 0; + metrics->height = -extents.height; + metrics->xOffset = hb_font_get_glyph_h_advance (font, glyph); + metrics->yOffset = 0; } static HB_Fixed diff --git a/src/hb-old/harfbuzz-shaper.cpp b/src/hb-old/harfbuzz-shaper.cpp index 62886f315..f41078064 100644 --- a/src/hb-old/harfbuzz-shaper.cpp +++ b/src/hb-old/harfbuzz-shaper.cpp @@ -63,6 +63,7 @@ static inline void positionCluster(HB_ShaperItem *item, int gfrom, int glast) offsetBase += HB_FIXED_CONSTANT(4); else offsetBase += size; + offsetBase = -offsetBase; //qreal offsetBase = (size - 4) / 4 + qMin(size, 4) + 1; // qDebug("offset = %f", offsetBase);