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

