Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.0:Staging:C:DVD
libqt5-qtwebengine
harmony-fix.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File harmony-fix.diff of Package libqt5-qtwebengine
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.10.0/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp =================================================================== --- qtwebengine-everywhere-src-5.10.0.orig/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp +++ qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp @@ -99,8 +99,6 @@ public: FreeTypeLibrary() : fGetVarDesignCoordinates(nullptr) , fLibrary(nullptr) - , fIsLCDSupported(false) - , fLCDExtra(0) { if (FT_New_Library(&gFTMemory, &fLibrary)) { return; @@ -150,8 +148,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() { @@ -161,8 +157,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. @@ -173,8 +167,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. @@ -661,17 +653,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(); - } - SkPaint::Hinting h = rec->getHinting(); if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) { // collapse full->normal hinting if we're not doing LCD @@ -1072,11 +1053,11 @@ bool SkScalerContext_FreeType::getCBoxFo void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) { if (isLCD(fRec)) { 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; } } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor