[Webkit-unassigned] [Bug 167597] New: ComplexTextController never worked if runs are non monotonic
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jan 30 11:03:54 PST 2017
https://bugs.webkit.org/show_bug.cgi?id=167597
Bug ID: 167597
Summary: ComplexTextController never worked if runs are non
monotonic
Classification: Unclassified
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Text
Assignee: webkit-unassigned at lists.webkit.org
Reporter: mmaxfield at apple.com
CC: mmaxfield at apple.com
In ComplexTextController::advance(), we iterate through runs in string order. When we encounter a run, we append its paint advances into the GlyphBuffer and we increase the runWidthSoFar by its layout advance.
FontCascadeCocoa assumes that runs are adjacent. If the runs aren't adjacent or monotonic, our runWidthSoFar is meaningless because of this assumption.
Similarly, when we paint glyphs, we just paint them in the order they appear in the GlyphBuffer. If the runs aren't monotonic, then this order is completely busted and the results will be garbage.
Instead, since it never worked, we should just remove the logic about iterating to an arbitrary run in the middle of the ComplexTextController (inside advance()) and force monotonic iteration.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170130/45b0abdb/attachment.html>
More information about the webkit-unassigned
mailing list