- Add patch chromium-skia-system-fontconfig.patch to fix

bsc#1092272

OBS-URL: https://build.opensuse.org/package/show/network:chromium/chromium?expand=0&rev=1123
This commit is contained in:
Tomáš Chvátal
2018-05-09 08:39:35 +00:00
committed by Git OBS Bridge
parent 2f9393b4fc
commit 41cf46f1bc
3 changed files with 86 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
--- a/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-10-10 17:42:06.956950985 +0200
+++ b/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-10-10 17:46:05.824187787 +0200
@@ -99,8 +99,6 @@
FreeTypeLibrary()
: fGetVarDesignCoordinates(nullptr)
, fLibrary(nullptr)
- , fIsLCDSupported(false)
- , fLCDExtra(0)
{
if (FT_New_Library(&gFTMemory, &fLibrary)) {
return;
@@ -147,12 +145,7 @@
}
#endif
- // 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.
- }
+ FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT);
}
~FreeTypeLibrary() {
if (fLibrary) {
@@ -161,8 +153,6 @@
}
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 +163,6 @@
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.
@@ -704,17 +692,6 @@
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
@@ -1115,11 +1092,11 @@
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;
}
}
}

View File

@@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed May 9 08:36:30 UTC 2018 - tchvatal@suse.com
- Add patch chromium-skia-system-fontconfig.patch to fix
bsc#1092272
-------------------------------------------------------------------
Fri May 4 06:53:49 UTC 2018 - guillaume.gardet@opensuse.org

View File

@@ -73,6 +73,9 @@ Patch10: chromium-sandbox-pie.patch
# Google seem not too keen on merging this but GPU accel is quite important
# https://chromium-review.googlesource.com/c/chromium/src/+/532294
Patch100: chromium-vaapi.patch
# Google does not care much about system libs here
# https://bugs.chromium.org/p/skia/issues/detail?id=6663
Patch101: chromium-skia-system-fontconfig.patch
# GN buildsystem related patches
Patch200: chromium-last-commit-position-r0.patch
Patch201: fix-gn-bootstrap.patch