libqt5-qtwebengine/harmony-fix.diff
Dominique Leuenberger c1868c9a48 Accepting request 712126 from KDE:Qt:5.13
- Update to 5.13.0:
  * New bugfix release
  * No changelog available
  * For more details about Qt 5.13 please see:
  * http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.13.0/?h=5.13

- Replace open coded macro for parallel build limit by the one from the
  memory-constraints package

- Update to 5.13.0-rc:
  * New bugfix release
  * No changelog available

- Fix system_vpx bcond

- Update to 5.13.0-beta2:
  * New bugfix release
  * No changelog available
- Refresh patches:
  * harmony-fix.diff
  * chromium-non-void-return.patch (sigh, again)
- Fix system_vpx bcond
- Disable using the system ICU on Leap < 16, too old

- Update to 5.13.0-beta1:
  * New feature release
  * For more details about Qt 5.13 please see:
  * http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.13.0/?h=5.13
- Refresh patches:
  * disable-gpu-when-using-nouveau-boo-1005323.diff

OBS-URL: https://build.opensuse.org/request/show/712126
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtwebengine?expand=0&rev=46
2019-06-28 14:32:13 +00:00

80 lines
3.2 KiB
Diff

From: Jan Steffens <heftig@archlinux.org>
Date: 2017-09-19 23:30:08 -0700
Subject: This is required for QtWebEngine to show the patent-free LCD rendering. Without this patch, only grayscale rendering is used.
References: boo#1061344
Upstream: submitted
Index: qtwebengine-everywhere-src-5.13.0-beta2/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
===================================================================
--- qtwebengine-everywhere-src-5.13.0-beta2.orig/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
+++ qtwebengine-everywhere-src-5.13.0-beta2/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
@@ -122,8 +122,6 @@ public:
: fGetVarDesignCoordinates(nullptr)
, fGetVarAxisFlags(nullptr)
, fLibrary(nullptr)
- , fIsLCDSupported(false)
- , fLCDExtra(0)
{
if (FT_New_Library(&gFTMemory, &fLibrary)) {
return;
@@ -186,8 +184,6 @@ public:
// Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs.
// The default has changed over time, so this doesn't mean the same thing to all users.
if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) {
- fIsLCDSupported = true;
- fLCDExtra = 2; //Using a filter adds one full pixel to each side.
}
}
~FreeTypeLibrary() {
@@ -197,8 +193,6 @@ public:
}
FT_Library library() { return fLibrary; }
- bool isLCDSupported() { return fIsLCDSupported; }
- int lcdExtra() { return fLCDExtra; }
// FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1.
// Prior to this there was no way to get the coordinates out of the FT_Face.
@@ -215,8 +209,6 @@ public:
private:
FT_Library fLibrary;
- bool fIsLCDSupported;
- int fLCDExtra;
// FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0.
// The following platforms provide FreeType of at least 2.4.0.
@@ -713,17 +705,6 @@ void SkTypeface_FreeType::onFilterRec(Sk
rec->fTextSize = SkIntToScalar(1 << 14);
}
- if (isLCD(*rec)) {
- // TODO: re-work so that FreeType is set-up and selected by the SkFontMgr.
- SkAutoMutexAcquire ama(gFTMutex);
- ref_ft_library();
- if (!gFTLibrary->isLCDSupported()) {
- // If the runtime Freetype library doesn't support LCD, disable it here.
- rec->fMaskFormat = SkMask::kA8_Format;
- }
- unref_ft_library();
- }
-
SkFontHinting h = rec->getHinting();
if (kFull_SkFontHinting == h && !isLCD(*rec)) {
// collapse full->normal hinting if we're not doing LCD
@@ -1121,11 +1102,11 @@ bool SkScalerContext_FreeType::getCBoxFo
void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) {
if (glyph->fMaskFormat == SkMask::kLCD16_Format) {
if (fLCDIsVert) {
- glyph->fHeight += gFTLibrary->lcdExtra();
- glyph->fTop -= gFTLibrary->lcdExtra() >> 1;
+ glyph->fHeight += 2;
+ glyph->fTop -= 1;
} else {
- glyph->fWidth += gFTLibrary->lcdExtra();
- glyph->fLeft -= gFTLibrary->lcdExtra() >> 1;
+ glyph->fWidth += 2;
+ glyph->fLeft -= 1;
}
}
}