WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
70029
oldturkicrendererror
Old Turkic characters behave as left-to-right instead of right-to-left, because they are encoded as surrogate pairs.
https://bugs.webkit.org/show_bug.cgi?id=70029
Summary
Old Turkic characters behave as left-to-right instead of right-to-left, becau...
bitigchi
Reported
2011-10-13 08:59:53 PDT
Hello, In Webkit browsers, including Chrome, Old Turkic text does not render correctly. It should be rendered from Right-to-Left, but we see it as LTR as usual. Old Turkic block was introduced with Unicode 5.2, and Gecko based browsers render it correctly. Sample texts:
http://fankibiber.wordpress.com
You can download the required fonts from here:
http://bitigchi.tumblr.com/downloads
You can see the difference in rendering when tried with Firefox and Safari. Thank you.
Attachments
Safari: Not rendered correctly
(29.89 KB, image/png)
2011-10-13 09:04 PDT
,
bitigchi
no flags
Details
Firefox: Rendered correctly
(32.51 KB, image/png)
2011-10-13 09:05 PDT
,
bitigchi
no flags
Details
Patch
(13.38 KB, patch)
2014-09-21 16:35 PDT
,
Darin Adler
no flags
Details
Formatted Diff
Diff
Patch
(15.91 KB, patch)
2014-09-24 08:48 PDT
,
Darin Adler
mitz: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
bitigchi
Comment 1
2011-10-13 09:04:29 PDT
Created
attachment 110854
[details]
Safari: Not rendered correctly
bitigchi
Comment 2
2011-10-13 09:05:48 PDT
Created
attachment 110856
[details]
Firefox: Rendered correctly Although the font is different here, it is clear that the letters of the Safari screenshot here are right aligned on the first line.
Radar WebKit Bug Importer
Comment 3
2011-10-13 12:22:08 PDT
<
rdar://problem/10281541
>
mitz
Comment 4
2011-10-16 22:13:29 PDT
InlineIterator operates on UTF-16 code units rather than on characters. Since Old Turkic is encoded using surrogate pairs, InlineIterator::direction() incorrectly returns LeftToRight (for each of the two surrogates) instead of RightToLeft.
bitigchi
Comment 5
2011-10-20 06:16:17 PDT
This is a very annoying bug. Is there any info on when this can be fixed?
bitigchi
Comment 6
2014-08-24 14:20:48 PDT
!Ping!
Darin Adler
Comment 7
2014-09-21 16:35:07 PDT
Created
attachment 238440
[details]
Patch
Darin Adler
Comment 8
2014-09-21 16:35:45 PDT
Mitz asked me to look at this bug, so I did. Patch isn’t ready to land because we need some regression tests; we need to write tests that don’t require installing a font.
Darin Adler
Comment 9
2014-09-21 16:36:12 PDT
Also need to measure performance to see if I slowed things down.
Darin Adler
Comment 10
2014-09-21 16:37:11 PDT
Comment on
attachment 238440
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=238440&action=review
> Source/WebCore/rendering/InlineIterator.h:436 > + if (LIKELY(U16_IS_SINGLE(codeUnit))) > + return u_charDirection(codeUnit);
If this code path is really hot, then we should have a faster patch so we don't have to call into u_charDirection for common characters.
bitigchi
Comment 11
2014-09-24 01:45:44 PDT
(In reply to
comment #8
)
> Mitz asked me to look at this bug, so I did. Patch isn’t ready to land because we need some regression tests; we need to write tests that don’t require installing a font.
Great news anyway! Thank you very much!
Darin Adler
Comment 12
2014-09-24 08:48:41 PDT
Created
attachment 238599
[details]
Patch
Darin Adler
Comment 13
2014-09-24 19:54:02 PDT
Committed
r173943
: <
http://trac.webkit.org/changeset/173943
>
bitigchi
Comment 14
2015-05-22 11:48:37 PDT
Just for info, has this landed on a Safari release yet? I don't have an OS X machine at the moment, just wanted to check. Thanks in advance.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug