[Webkit-unassigned] [Bug 205990] [HarfBuzz] A partially selected RTL text is placed at a wrong vertical position if it has a vertical initial advance

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 8 23:29:08 PST 2020


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

--- Comment #3 from Fujii Hironori <Hironori.Fujii at sony.com> ---
I put a break point at the end of FontCascade::getGlyphsAndAdvancesForComplexText,
and observed 'glyphBuffer' variable.

When drawing only latter 3 glyphs of "&#x642;&#x64F; ".

(gdb) p glyphBuffer.size()
$22 = 3
(gdb) p *glyphBuffer.glyphs(0)@3
$23 = {3, 1400, 1387}
(gdb) p *glyphBuffer.advances(0)@3
$24 = {{m_width = 21.53125, m_height = 3.90625}, {m_width = 0.46875, m_height = -3.90625}, {m_width = 62, m_height = -0}}
(gdb) p glyphBuffer.initialAdvance()
$25 = (const WebCore::GlyphBufferAdvance &) @0x7ffe17333190: {m_width = -0.46875, m_height = -3.90625}

When drawing all 5 glyphs,

(gdb) p glyphBuffer.size()
$26 = 5
(gdb) p *glyphBuffer.glyphs(0)@5
$28 = {1400, 1387, 3, 1400, 1387}
(gdb) p *glyphBuffer.advances(0)@5
$29 = {{m_width = 0.46875, m_height = -3.90625}, {m_width = 62, m_height = -0}, {m_width = 21.53125, m_height = 3.90625}, {m_width = 0.46875, m_height = -3.90625}, {m_width = 62, m_height = -0}}
(gdb) p glyphBuffer.initialAdvance()
$30 = (const WebCore::GlyphBufferAdvance &) @0x7ffe17332cd0: {m_width = -0.46875, m_height = -3.90625}

The glyph 1400 is painted on y=-3.90625 for the all glyphs case, but y=0 for latter 3 glyphs case.

-- 
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/20200109/e62f96b9/attachment-0001.htm>


More information about the webkit-unassigned mailing list