[Webkit-unassigned] [Bug 77067] Parenthesis in RTL fonts are not mirrored with SVG fonts

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Jan 29 15:24:56 PST 2012


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





--- Comment #20 from Philip Rogers <pdr at google.com>  2012-01-29 15:24:56 PST ---
(In reply to comment #16)
> (In reply to comment #15)
> > (In reply to comment #13)
> > 
> > > It’s straightforward to iterate the characters instead and handle surrogates correctly. There are examples of the use of U16_NEXT to read a character at a time in functions such as SegmentedFontData::containsCharacters and we can correctly write the characters in UTF-16 by using U16_LENGTH, U16_LEAD, and U16_TRAIL.
> > I suggested before your review, that he should use SurrogatePairAwareTextiterator - which encapsulates this while handling hiragana/katagana correctly. What do you think?
> 
> Do you think it will have an effect? The mirrored characters are listed at http://www.unicode.org/Public/UNIDATA/BidiMirroring.txt and I don't think we even mirror the ones over 0xFFFF (they are listed as optional to mirror).

I wanted to expand on this a bit to make sure I understand correctly. The SurrogatePairTextIterator handles combining some Japanese semi-voiced characters. For example:
べ - U+3079 - "HIRAGANA LETTER BE"
へ - U+3078 - "HIRAGANA LETTER HE"
゙ - U+3099 - "COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK"
When iterating over the string "abc&#x3078;&#x3099;def" the iterator will combine the HE letter and the voice mark to form the Be character, so the iterator values will be 'a', 'b', 'c', 'Be', 'd', 'e', 'f'. The reason this doesn't matter for mirroring is that a relatively small set of characters are mirrored (such as parenthesis, brackets, etc) and they don't fall in the range of these Japanese voiced characters.


Re: the EWS failure:
I've installed some font packages in the process of tracking down this bug so it may be that my test expectations are the ones with the wrong font setup. I'll rebaseline on a vanilla linux box and put this patch back up tomorrow.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list