WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
76048
[GTK] fast/text/font-kerning.html fails
https://bugs.webkit.org/show_bug.cgi?id=76048
Summary
[GTK] fast/text/font-kerning.html fails
Philippe Normand
Reported
2012-01-11 03:42:29 PST
Test added in
r104678
fails:
http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r104693%20(16077)/fast/text/font-kerning-diffs.html
Attachments
testcase
(327 bytes, text/html)
2012-08-15 15:02 PDT
,
arno.
no flags
Details
Patch
(3.65 KB, patch)
2013-05-23 05:49 PDT
,
Denis Nomiyama (dnomi)
no flags
Details
Formatted Diff
Diff
Patch
(4.94 KB, patch)
2013-05-23 10:10 PDT
,
Denis Nomiyama (dnomi)
no flags
Details
Formatted Diff
Diff
Patch
(4.88 KB, patch)
2013-05-24 02:19 PDT
,
Denis Nomiyama (dnomi)
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
mitz
Comment 1
2012-01-11 10:12:27 PST
Can you debug this? A good place to start would be to look at Font::typesettingFeatures() as you enter Font::codePath() for each line in the test.
Philippe Normand
Comment 2
2012-01-11 10:24:56 PST
(In reply to
comment #1
)
> Can you debug this? A good place to start would be to look at Font::typesettingFeatures() as you enter Font::codePath() for each line in the test.
Will do, thanks for the hints Dan!
mitz
Comment 3
2012-01-11 13:12:35 PST
See also
bug 76050
.
Philippe Normand
Comment 4
2012-01-16 09:06:42 PST
Hum I can't reproduce this failure here :(
arno.
Comment 5
2012-08-15 14:47:56 PDT
I can reproduce the bug. Actually, for "-webkit-font-kerning: none; text-rendering: optimizelegibility", the complex text path is taken. That's probably correct because there may be some ligatures. But unfortunately, it's not possible to disable kerning (nor ligatures) in the complex codepath. I tried to find a way to tell pango to not enable kerning, but I didn't suceed.
arno.
Comment 6
2012-08-15 15:02:38 PDT
Created
attachment 158643
[details]
testcase
Denis Nomiyama (dnomi)
Comment 7
2013-05-23 05:49:47 PDT
Created
attachment 202669
[details]
Patch
Martin Robinson
Comment 8
2013-05-23 07:43:00 PDT
Comment on
attachment 202669
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=202669&action=review
> Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaper.cpp:502 > + if (m_font->fontDescription().kerning() == FontDescription::NoneKerning) { > + Vector<hb_feature_t, 5> features = m_features; > + hb_feature_t kerning = { HB_TAG('k', 'e', 'r', 'n'), 0, 0, static_cast<unsigned>(-1) }; > + features.append(kerning); > + hb_shape(harfBuzzFont.get(), harfBuzzBuffer.get(), features.data(), features.size()); > + } else
Hrm. A more likely location for this change is HarfBuzzShaper::setFontFeatures where the rest of the feature are set, no? Aren't you also adding 'kern' to the feature list here instead of removing it?
Denis Nomiyama (dnomi)
Comment 9
2013-05-23 10:01:05 PDT
Comment on
attachment 202669
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=202669&action=review
>> Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaper.cpp:502 >> + } else > > Hrm. A more likely location for this change is HarfBuzzShaper::setFontFeatures where the rest of the feature are set, no? Aren't you also adding 'kern' to the feature list here instead of removing it?
Good point about setFontFeatures(). The idea is to add 'kern' as 0 (disabled) to the feature list in case of NoneKerning. I will also include a case for NormalKerning.
Denis Nomiyama (dnomi)
Comment 10
2013-05-23 10:10:26 PDT
Created
attachment 202724
[details]
Patch
EFL EWS Bot
Comment 11
2013-05-23 10:33:54 PDT
Comment on
attachment 202724
[details]
Patch
Attachment 202724
[details]
did not pass efl-ews (efl): Output:
http://webkit-queues.appspot.com/results/651023
Denis Nomiyama (dnomi)
Comment 12
2013-05-24 02:15:58 PDT
Comment on
attachment 202724
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=202724&action=review
> Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaper.cpp:357 > + kerning = { HarfBuzzFace::kernTag, 0, 0, static_cast<unsigned>(-1) };
I will remove this cheesy initialisation that requires c++11.
Denis Nomiyama (dnomi)
Comment 13
2013-05-24 02:19:20 PDT
Created
attachment 202791
[details]
Patch
WebKit Commit Bot
Comment 14
2013-07-05 01:53:22 PDT
Comment on
attachment 202791
[details]
Patch Clearing flags on attachment: 202791 Committed
r152411
: <
http://trac.webkit.org/changeset/152411
>
WebKit Commit Bot
Comment 15
2013-07-05 01:53:25 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