[Webkit-unassigned] [Bug 48459] Glyphs in vertical text tests are rotated 90 degrees clockwise on Windows

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Mar 4 02:17:02 PST 2012


--- Comment #44 from Koji Ishii <kojiishi at gmail.com>  2012-03-04 02:17:01 PST ---
Created an attachment (id=130022)
 --> (https://bugs.webkit.org/attachment.cgi?id=130022&action=review)
New approach without using @-font API (in progress)

Here's a new proposal to fix two issues in the original patch:
1. It does not support text-orientation property
2. It relies on @-font Windows API, which rotates some code points automatically. Since CSS defines orientations, that automatic behavior can be harmful.

The discussion started at:
Ryosuke responded to prefer WebKit reads raw OpenType data here:
and David Kilzer prefers not to rely on WebKitSystemInterface here:

So, I created a new class OpenTypeVerticalData to handle this. The class itself is ~20k, and the patch is still in progress, but I'd like to post the patch in case someone could look at and give early feedback.

The patch is still work in progress in the following points:
1. Several FIXME comments are in the new code.
2. Vertical advance and glyph substitution are done, but vertical origin isn't done yet.
3. Since it's reading OpenType tables directly, there's a risk of buffer-overrun if the font is broken. I added checks in the last minutes, but I think I need more and the code needs careful reviews.
4. By looking at the results, there seems to be some rounding errors in small font sizes which doesn't look nice. I'd like to look into that further to see if there were any good way to avoid it.
5. Non-OpenType font isn't supported very well. I'd like to have a fallback, 2nd-level support for such fonts.
6. I'm still new to webkit (this is 2nd patch,) I'll review coding style guidelines further. Note that I did read arrays are preferred than iterator for readability reasons, but I'm using iterator since pointers are needed to check buffer overruns.

This is my weekend project, so I'm not making as fast progress as I wish it to be, but any feedback are greatly appreciated and I'd like to make this to a good state in not so long future.

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