[webkit-dev] 48459: Glyphs in vertical text tests are rotated 90 degrees clockwise on Windows

Koji Ishii kojiishi at gluesoft.co.jp
Fri Feb 24 12:50:07 PST 2012


Thank you Ryosuke for the prompt reply.

>> 1. Bring the CTFontGetVerticalTranslationsForGlyphs API to WebKitLibraries.
>> 2. Use other libraries such as FreeType[2] to read related OpenType tables.
>> 3. Read raw tables using GetFontData Win32 API and parse vhea/vorg/vmtx tables etc.
>
> Option 3 seems most desirable since it doesn't introduce new dependencies. 

Okay...I was afraid of that, because then the patch becomes larger and it might make review harder. But if that's preferable than introducing new dependencies, I can look into that.

I checked other platforms quickly. Without knowing much of them, from the submitted patches, APIs of Qt[1] and Gtk[2] look like similar to the one on OS X, but it wasn't clear to me if the patches support "upright" for non-CJK letters properly. Chromium Linux[3] doesn't have a patch yet, and Chromium Windows[4] patch has the same issue (uses @-font API.)

So guess is that if I were to write a function that calculates vertical translations from OpenType tables, it could be shared among some platforms.

I was thinking to put it into platform/graphics/win/OpenTypeUtilities.cpp, but should I put it into somewhere else?

[1] https://bugs.webkit.org/show_bug.cgi?id=51584
[2] https://bugs.webkit.org/show_bug.cgi?id=50619
[3] https://bugs.webkit.org/show_bug.cgi?id=69282
[4] https://bugs.webkit.org/show_bug.cgi?id=51450

-----
From: ryosuke.niwa at gmail.com [mailto:ryosuke.niwa at gmail.com] On Behalf Of Ryosuke Niwa
Sent: Saturday, February 25, 2012 5:20 AM
To: Koji Ishii
Cc: webkit-dev at lists.webkit.org
Subject: Re: [webkit-dev] 48459: Glyphs in vertical text tests are rotated 90 degrees clockwise on Windows

On Fri, Feb 24, 2012 at 12:14 PM, Koji Ishii <kojiishi at gluesoft.co.jp> wrote:
I was looking into bug 48459: "Glyphs in vertical text tests are rotated 90 degrees clockwise on Windows"
https://bugs.webkit.org/show_bug.cgi?id=48459

and found that it has two issues:

1. It does not support text-orientation[1] property as OS X does.

2. It uses @-font, which lets Windows do a magic to rotate some code points and apply 'vert' automatically. But that means WebKit has no control over the glyph orientations, and therefore orientation of some code points don't match to the one on OS X.

I think the correct fix for the bug is to port showGlyphsWithAdvances from FontMac.mm to FontCGWin.cpp.

But I then encounter an issue that WebKitLibraries does not support CTFontGetVerticalTranslationsForGlyphs API.

Since Windows doesn't have such API, possible options I can think of are:

1. Bring the CTFontGetVerticalTranslationsForGlyphs API to WebKitLibraries.
2. Use other libraries such as FreeType[2] to read related OpenType tables.
3. Read raw tables using GetFontData Win32 API and parse vhea/vorg/vmtx tables etc.

Option 3 seems most desirable since it doesn't introduce new dependencies. 

- Ryosuke



More information about the webkit-dev mailing list