[webkit-reviews] review denied: [Bug 77067] Parenthesis in RTL fonts are not mirrored with SVG fonts : [Attachment 124053] First-pass at fixing mirroring with SVG fonts

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


Nikolas Zimmermann <zimmermann at kde.org> has denied  review:
Bug 77067: Parenthesis in RTL fonts are not mirrored with SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=77067

Attachment 124053: First-pass at fixing mirroring with SVG fonts
https://bugs.webkit.org/attachment.cgi?id=124053&action=review

------- Additional Comments from Nikolas Zimmermann <zimmermann at kde.org>
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.


More information about the webkit-reviews mailing list