WebKitSystemInterface is owned by Apple.

I would implement the fix without assuming that 
wkGetVerticalGlyphsForCharacters is available for Windows.

Dave


On Feb 26, 2012, at 4:46 AM, Koji Ishii wrote:

> I found another library issue for how to get vertical alternate glyphs.
> 
> Currently,
> 
> 1. Mac version of WebCoreSystemInterface.mm defines 
> wkGetVerticalGlyphsForCharacters API
> 2. Mac uses this function and CoreText to draw vertical glyphs in 
> GlyphPageTreeNodeMac.cpp
> 3. Windows version of WebKitSystemInterface.h doesn't have the API
> 
> Should I also write this one too? I'm asking because the module is different, 
> but again I have no idea who owns WebKitSystemInterface.
> 
> The good part is that, the API probably uses not only 'vert' but also 'vrt2', 
> the latter which recent CSS spec decided not to use, so we have more precise 
> control to match to the current and coming spec.
> 
> The bad part is that, from experiences, we will probably face several issues 
> due to broken fonts. It's not too hard to write the code from OpenType specs, 
> but it might degrade stability since not all fonts conforms to OpenType spec 
> very well.
> 
> 
> Regards,
> Koji
> 
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Koji Ishii
> Sent: Saturday, February 25, 2012 5:50 AM
> To: Ryosuke Niwa
> Cc: [email protected]
> Subject: Re: [webkit-dev] 48459: Glyphs in vertical text tests are rotated 90 
> degrees clockwise on Windows
> 
> 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: [email protected] [mailto:[email protected]] On Behalf Of 
> Ryosuke Niwa
> Sent: Saturday, February 25, 2012 5:20 AM
> To: Koji Ishii
> Cc: [email protected]
> 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 <[email protected]> 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
> 
> _______________________________________________
> webkit-dev mailing list
> [email protected]
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
> _______________________________________________
> webkit-dev mailing list
> [email protected]
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to