Hebrew text in Safari chrome is laid out in left-to-right order instead of right-to-left. This can be seen in window title bars, bookmark menu items, and the address bar and search fields when they are not focused.
Created attachment 15591 [details] Test case
Also affected are link drag images and tab titles.
<rdar://problem/5267753>
Created attachment 15610 [details] More bidi string rendering tests (and bugs) Reordering characters is not enough, as demonstrated by the way list items render on this test: mirroring and combining marks need to be handled. Since the Font object already knows how to do that for unidirectional runs, I think the bidirectional string drawing routine should not reorder characters and feed one string into Font::drawText, but rather draw separate truly-unidirectional runs.
Created attachment 15611 [details] [WIP] Add GraphicsContext::drawBidiText() and use it in WebCoreTextRenderer.cpp and in form controls
Created attachment 15620 [details] Add GraphicsContext::drawBidiText() and use it in WebCoreTextRenderer.cpp and in form controls
Comment on attachment 15620 [details] Add GraphicsContext::drawBidiText() and use it in WebCoreTextRenderer.cpp and in form controls r=me I would like the change log to explain better why the visual ordering test cases are removed. I think I understand, but I'm not sure.
Comment on attachment 15620 [details] Add GraphicsContext::drawBidiText() and use it in WebCoreTextRenderer.cpp and in form controls Index: WebCore/manual-tests/resources/chrome-bidi-text-window.html =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: WebCore/manual-tests/resources/chrome-bidi-text-window.html ___________________________________________________________________ Name: svn:mime-type + application/octet-stream I don't think this was intentional? Whoever commits this should fix this first!
(In reply to comment #8) > I don't think this was intentional? Whoever commits this should fix this first! That file is encoded as UTF-16. I think it is more readable that way than using entities for all the non-Latin characters.
Created attachment 15650 [details] Add GraphicsContext::drawBidiText() and use it in WebCoreTextRenderer.cpp and in form controls Changed the manual test case to UTF-8 and added info to the change log about why -webkit-rtl-ordering:visual is being ignored.
Comment on attachment 15650 [details] Add GraphicsContext::drawBidiText() and use it in WebCoreTextRenderer.cpp and in form controls r=me
Landed in r24582.