[Webkit-unassigned] [Bug 213279] [WinCairo] glyph positions differ between partially selected texts and not selected texts

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 17 21:56:11 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=213279

--- Comment #4 from Fujii Hironori <Hironori.Fujii at sony.com> ---
Because the extents of glyphs "ab" are overlapped,
_cairo_scaled_font_glyph_device_extents returns true for 'overlap_out'.
Then, texts "abcd" and "ab" are drawn by using composite_glyphs_via_mask,
while a test "cd" is drawn by composite_glyphs without a mask.
This causes the tiny difference.

I modified _cairo_compositor_glyphs to overwrite 'overlap' to TRUE or FALSE.
I confirmed the tiny difference disappeared.

diff --git a/src/cairo-compositor.c b/src/cairo-compositor.c
index b31413b99..0147ed3bc 100644
--- a/src/cairo-compositor.c
+++ b/src/cairo-compositor.c
@@ -242,6 +242,7 @@ _cairo_compositor_glyphs (const cairo_compositor_t          *compositor,
                                                          clip, &overlap);
     if (unlikely (status))
        return status;
+    overlap = TRUE;

     do {
        while (compositor->glyphs == NULL)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200618/da74d605/attachment.htm>


More information about the webkit-unassigned mailing list