diff options
-rw-r--r-- | src/cairo-quartz-font.c | 7 | ||||
-rw-r--r-- | test/reference/inverse-text.quartz.ref.png | bin | 2565 -> 2602 bytes | |||
-rw-r--r-- | test/reference/pdf-operators-text.quartz.ref.png | bin | 0 -> 8226 bytes | |||
-rw-r--r-- | test/reference/select-font-face.quartz.ref.png | bin | 2645 -> 2691 bytes |
4 files changed, 6 insertions, 1 deletions
diff --git a/src/cairo-quartz-font.c b/src/cairo-quartz-font.c index 000a0e237..641a2dfc7 100644 --- a/src/cairo-quartz-font.c +++ b/src/cairo-quartz-font.c @@ -412,7 +412,12 @@ _cairo_quartz_init_glyph_metrics (cairo_quartz_scaled_font_t *font, extents.y_bearing = - ymax; extents.width = xmax - xmin; extents.height = ymax - ymin; - extents.x_advance = advance.width; +/* At the necessary 1.0pt ctFont size some glyphs get a reduced + * advance that causes overlaps when scaled up. We can avoid that by + * using the width instead if it's wider. Since cairo doesn't support + * vertical font layout we don't do the same for y_advance. + */ + extents.x_advance = MAX(extents.width, advance.width); extents.y_advance = advance.height; #ifdef DEBUG diff --git a/test/reference/inverse-text.quartz.ref.png b/test/reference/inverse-text.quartz.ref.png Binary files differindex df0ea57ea..f57f45035 100644 --- a/test/reference/inverse-text.quartz.ref.png +++ b/test/reference/inverse-text.quartz.ref.png diff --git a/test/reference/pdf-operators-text.quartz.ref.png b/test/reference/pdf-operators-text.quartz.ref.png Binary files differnew file mode 100644 index 000000000..ecfa7cc5d --- /dev/null +++ b/test/reference/pdf-operators-text.quartz.ref.png diff --git a/test/reference/select-font-face.quartz.ref.png b/test/reference/select-font-face.quartz.ref.png Binary files differindex 69fd2e239..1100fe28c 100644 --- a/test/reference/select-font-face.quartz.ref.png +++ b/test/reference/select-font-face.quartz.ref.png |