mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-04-01 11:40:46 +02:00
quartz: Fix y glyph advance
The advances must be transformed by the "quartz inverse scale", i.e. (scale_inverse * scale(1,-1)). Fixes show-glyph-advance.
This commit is contained in:
parent
aaf87a65a8
commit
b4466bc914
1 changed files with 8 additions and 1 deletions
|
|
@ -2579,12 +2579,19 @@ _cairo_quartz_surface_show_glyphs_cg (void *abstract_surface,
|
|||
}
|
||||
}
|
||||
|
||||
/* scale(1,-1) * scaled_font->scale */
|
||||
textTransform = CGAffineTransformMake (scaled_font->scale.xx,
|
||||
scaled_font->scale.yx,
|
||||
-scaled_font->scale.xy,
|
||||
-scaled_font->scale.yy,
|
||||
0, 0);
|
||||
_cairo_quartz_cairo_matrix_to_quartz (&scaled_font->scale_inverse, &invTextTransform);
|
||||
|
||||
/* scaled_font->scale_inverse * scale(1,-1) */
|
||||
invTextTransform = CGAffineTransformMake (scaled_font->scale_inverse.xx,
|
||||
-scaled_font->scale_inverse.yx,
|
||||
scaled_font->scale_inverse.xy,
|
||||
-scaled_font->scale_inverse.yy,
|
||||
0.0, 0.0);
|
||||
|
||||
CGContextSetTextMatrix (surface->cgContext, CGAffineTransformIdentity);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue