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

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 26 03:04:11 PST 2012


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


Nikolas Zimmermann <zimmermann at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #124053|                            |review-
               Flag|                            |




--- Comment #2 from Nikolas Zimmermann <zimmermann at kde.org>  2012-01-26 03:04:11 PST ---
(From update of attachment 124053)
View in context: https://bugs.webkit.org/attachment.cgi?id=124053&action=review

Nice first stab, needs more tests and some speedups:

> Source/WebCore/svg/SVGFontData.cpp:142
> +    if (mirror)
> +        remainingTextInRun = replaceMirroredCharacters(remainingTextInRun.characters(), remainingTextInRun.length());
>      if (!currentCharacter && arabicForms.isEmpty())
>          arabicForms = charactersWithArabicForm(remainingTextInRun, mirror);

Danger Will Robinson :-) This can potentially break the arabic-form support - which already handles mirroring. Please add another testcase (you can grep for arabic-form and duplicate an existing) to see how it plays together with your testcase text data.

It's also a PITA that we're allocating a remainingTextInRun String object several times :( This needs to be optimized, applySVGGlyphSelection is hot.
You shoulnd't need to build a whole new string, but instead iterate over the remainingTextInRun by looping over its const UChar* buffer, and call mirroredChar on the individual characters.

-- 
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