WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 83512
FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows
https://bugs.webkit.org/show_bug.cgi?id=83512
Summary
FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::pla...
Koji Ishii
Reported
2012-04-09 14:58:17 PDT
As summary says, the value isn't set on Chromium platform and is always gDefaultUnitsPerEm = 1000. It looks like the
bug 75961
is the one for Skia, but Chromium Windows use Win32 API instead of Skia for the metrics and since the data is available there, I think we should set the value from Win32 on Windows. Note that
bug 51450
requires this fix (or 75961 + switching to Skia on Windows.)
Attachments
set FontMetrics.unitsPerEm on Chromium Windows
(1.42 KB, patch)
2012-04-09 15:05 PDT
,
Koji Ishii
eric
: review-
Details
Formatted Diff
Diff
Implement FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph for Chromium Win
(20.51 KB, patch)
2012-08-21 08:35 PDT
,
Koji Ishii
no flags
Details
Formatted Diff
Diff
Updated ChangeLog
(20.74 KB, patch)
2012-08-21 16:48 PDT
,
Koji Ishii
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Koji Ishii
Comment 1
2012-04-09 15:05:38 PDT
Created
attachment 136312
[details]
set FontMetrics.unitsPerEm on Chromium Windows
Kenichi Ishibashi
Comment 2
2012-04-09 19:34:04 PDT
LGTM. Tony, could you do formal review?
Koji Ishii
Comment 3
2012-04-10 03:14:00 PDT
Note that I searched for unitsPerEm() within chrome.sln. All usages of unitsPerEm() are either Mac, CGWin, or ENABLE(SVG_FONTS), and all such source files are under _excluded_files in the sln.
Eric Seidel (no email)
Comment 4
2012-04-19 16:00:45 PDT
Comment on
attachment 136312
[details]
set FontMetrics.unitsPerEm on Chromium Windows What is the purpose if there is no behavior change? Please state in your ChangeLog.
Mike Reed
Comment 5
2012-04-20 07:13:49 PDT
Koji, Is unitsperem all that is needed in SkTypeface to switch over to using Skia for metrics (something we really want to do, so we can change Skia's backend to directwrite)?
Koji Ishii
Comment 6
2012-04-20 08:52:51 PDT
(In reply to
comment #5
)
> Koji, > > Is unitsperem all that is needed in SkTypeface to switch over to using Skia for metrics (something we really want to do, so we can change Skia's backend to directwrite)?
Hi Mike, Unfortunately, no. There are bunch of code in SimpleFontDataChromiumWin.cpp and FontPlatformDataChromiumWin.cpp that use GDI for font metrics as you might know, and I'm adding a couple of more because functions I need for 51450 are missing in Skia Win today. The reason I put this bug was that, my on-going patches for 51450 and 69282 require unitsPerEm, neither Chromium Windows nor Skia sets it today, and I thought having a separate bug from 51450 works better for you guys to be aware that I'm adding more GDI code. As it goes, 51450 has more GDI code than this bug that I'm talking with
bashi@google.com
to resolve this one as INVALID and merge this patch to 51450. It sounds great to me that that you're planning to switch over to DirectWrite. Do you have a bug for these GDI font code to move to Skia? If so, and if the bug is going to land earlier than this/51450, I'm happy to add the functions to Skia Win instead of these files. Another function I need is to get OpenType table, which is available for Linux version of Skia but not for Windows, so I'm trying to add it in 51450. If it's going to take a bit more, I might resolve this one as INVALID and merge with 51450, then you guys can look into current code plus 51450 to see which functions you need to move to Skia. Please let me know your preferences and I'm very happy to help you. Another thing to keep in mind is whether you're supporting old Windows that don't run DirectWrite or not. If you do, then you need a run-time switch between GDI and DirectWrite, and you'll need GDI code anyway, and it might make sense for me to keep adding GDI code and for you to move them to Skia.
Mike Reed
Comment 7
2012-04-20 09:15:08 PDT
http://code.google.com/p/chromium/issues/detail?id=124406
1. We are a ways from DW support, so I wouldn't wait for it if you have a quick fix for something now. 2. We will support runtime switching between GDI and DW backends (in skia) Please use the above crbug to list any missing APIs in Skia that you identify (ala unitsperem)
Koji Ishii
Comment 8
2012-04-25 05:44:37 PDT
After discussing with Chrome guys, I think it's more appropriate to merge this fix into
bug 51450
, and therefore I'm resolving this as INVALID.
Koji Ishii
Comment 9
2012-08-21 06:22:49 PDT
Given the review of
bug 51450
by Tony, it was recommended to split the patch for the code that is not behind #if ENABLE(OPENTYPE_VERTICAL). This bug was originally entered for that purpose, so re-opening, and changed title to reflect what I'm going to do better.
Koji Ishii
Comment 10
2012-08-21 08:35:02 PDT
Created
attachment 159696
[details]
Implement FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph for Chromium Win
Tony Chang
Comment 11
2012-08-21 13:25:59 PDT
Comment on
attachment 159696
[details]
Implement FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph for Chromium Win View in context:
https://bugs.webkit.org/attachment.cgi?id=159696&action=review
The code change seems fine. Did you mean to set r? for this patch?
> Source/WebCore/ChangeLog:11 > + 1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000). > + 2. FontPlatformData.orientation() always returns Horizontal. > + 3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
It would be good to note what each of these changes does. For example, I assume (2) does nothing right now (doesn't change any layout tests). (1) and (3) probably causes some text to change in size, but it would be good to mention which tests demonstrate this.
Koji Ishii
Comment 12
2012-08-21 16:48:30 PDT
Created
attachment 159802
[details]
Updated ChangeLog
Koji Ishii
Comment 13
2012-08-21 16:51:27 PDT
(In reply to
comment #11
)
> (From update of
attachment 159696
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=159696&action=review
> It would be good to note what each of these changes does. For example, I assume (2) does nothing right now (doesn't change any layout tests). (1) and (3) probably causes some text to change in size, but it would be good to mention which tests demonstrate this.
Thank you again, added.
WebKit Review Bot
Comment 14
2012-08-22 09:53:29 PDT
Comment on
attachment 159802
[details]
Updated ChangeLog Clearing flags on attachment: 159802 Committed
r126312
: <
http://trac.webkit.org/changeset/126312
>
WebKit Review Bot
Comment 15
2012-08-22 09:53:33 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug