Index: Source/platform/fonts/skia/FontCacheSkia.cpp |
diff --git a/Source/platform/fonts/skia/FontCacheSkia.cpp b/Source/platform/fonts/skia/FontCacheSkia.cpp |
index c17b305643a4c5746af4f347b014934cb62ca2a2..506132f0509d9e2c37d8e8137750a4bc77c6fe4e 100644 |
--- a/Source/platform/fonts/skia/FontCacheSkia.cpp |
+++ b/Source/platform/fonts/skia/FontCacheSkia.cpp |
@@ -76,7 +76,7 @@ PassRefPtr<SimpleFontData> FontCache::fallbackOnStandardFontStyle( |
if (substitutePlatformData && substitutePlatformData->fontContainsCharacter(character)) { |
FontPlatformData platformData = FontPlatformData(*substitutePlatformData); |
platformData.setSyntheticBold(fontDescription.weight() >= FontWeight600); |
- platformData.setSyntheticItalic(fontDescription.style() == FontStyleItalic); |
+ platformData.setSyntheticItalic(fontDescription.style() == FontStyleItalic || fontDescription.style() == FontStyleOblique); |
return fontDataFromFontPlatformData(&platformData, DoNotRetain); |
} |
@@ -117,7 +117,7 @@ PassRefPtr<SimpleFontData> FontCache::fallbackFontForCharacter(const FontDescrip |
} |
if (fallbackFont.isItalic && description.style() == FontStyleNormal) |
description.setStyle(FontStyleItalic); |
- if (!fallbackFont.isItalic && description.style() == FontStyleItalic) { |
+ if (!fallbackFont.isItalic && (description.style() == FontStyleItalic || description.style() == FontStyleOblique)) { |
shouldSetSyntheticItalic = true; |
description.setStyle(FontStyleNormal); |
} |
@@ -248,7 +248,7 @@ FontPlatformData* FontCache::createFontPlatformData(const FontDescription& fontD |
name.data(), |
fontSize, |
(fontDescription.weight() >= FontWeight600 && !tf->isBold()) || fontDescription.isSyntheticBold(), |
- (fontDescription.style() && !tf->isItalic()) || fontDescription.isSyntheticItalic(), |
+ ((fontDescription.style() == FontStyleItalic || fontDescription.style() == FontStyleOblique) && !tf->isItalic()) || fontDescription.isSyntheticItalic(), |
fontDescription.orientation(), |
fontDescription.useSubpixelPositioning()); |
return result; |