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
Attachments
testcase (327 bytes, text/html)
2012-08-15 15:02 PDT, arno.
no flags
Patch (3.65 KB, patch)
2013-05-23 05:49 PDT, Denis Nomiyama (dnomi)
no flags
Patch (4.94 KB, patch)
2013-05-23 10:10 PDT, Denis Nomiyama (dnomi)
no flags
Patch (4.88 KB, patch)
2013-05-24 02:19 PDT, Denis Nomiyama (dnomi)
no flags
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
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
EFL EWS Bot
Comment 11 2013-05-23 10:33:54 PDT
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
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.