Bug 3466

Summary: ATSUI text doesn't render at coordinates greater than 32K
Product: WebKit Reporter: mitz
Component: Layout and RenderingAssignee: Darin Adler <darin>
Status: CLOSED FIXED    
Severity: Normal CC: bugs.mano, xslf
Priority: P2    
Version: 412   
Hardware: Mac   
OS: OS X 10.4   
Attachments:
Description Flags
testcase
none
Demonstrates a fix strategy
none
Proposed fix darin: review+

mitz
Reported 2005-06-12 09:11:22 PDT
Summary: All text that ATSUI needs to draw at an X or Y coordinate (or both) greater or equal to 32768 gets drawn at 32768 (for that coordinate). The result is no text at the bottom of long pages (because it's all moved upwards). Reproducible: Always. To reproduce: Open the test-case, ATSUICoordinateLimits.html, in Safari and press the End key to scroll to the bottom. Expected: no text inside the yellow rect, and Hebrew letters to appear between "here: " and ", not" in the bottom line. Actual: Hebrew letters that were supposed to be in the bottom line are drawn inside the yellow rect (but in the correct horizontal position). If the page is scroll up and down to the bottom again by dragging the scroll thumb, then those Hebrew letters are no longer visible anywhere. Analysis: The problem is that ATSUDrawText only accepts coordinates smaller than 32768 in absolute value. Greater values are truncated to 32768. A possible solution is to reach larger coordinates by translating the graphics context's CTM prior to calling ATSUDrawText. I will attach an (inefficient, non- elegant) patch that uses this technique to successfully solve the problem.
Attachments
testcase (355 bytes, text/html)
2005-06-12 09:12 PDT, mitz
no flags
Demonstrates a fix strategy (1.50 KB, patch)
2005-06-12 09:15 PDT, mitz
no flags
Proposed fix (1.68 KB, patch)
2005-06-19 07:16 PDT, mitz
darin: review+
mitz
Comment 1 2005-06-12 09:12:37 PDT
Created attachment 2265 [details] testcase
mitz
Comment 2 2005-06-12 09:15:49 PDT
Created attachment 2266 [details] Demonstrates a fix strategy
mitz
Comment 3 2005-06-19 07:16:39 PDT
Created attachment 2471 [details] Proposed fix Essentially the same patch
Darin Adler
Comment 4 2005-06-19 11:47:01 PDT
Comment on attachment 2471 [details] Proposed fix Looks fine to me, r=me. There are spaces after the "(" and before the ")" characters that shouldn't be there, so when landing this, that should be fixed.
Note You need to log in before you can comment on or make changes to this bug.