diff -r e65d46cb0ef2 src/3rdparty/webkit/Source/WebCore/platform/graphics/FontCache.cpp --- a/src/3rdparty/webkit/Source/WebCore/platform/graphics/FontCache.cpp Fri Jan 25 13:23:30 2013 +0800 +++ b/src/3rdparty/webkit/Source/WebCore/platform/graphics/FontCache.cpp Fri Feb 01 20:27:31 2013 +0800 @@ -57,13 +57,14 @@ WTF_MAKE_FAST_ALLOCATED; public: FontPlatformDataCacheKey(const AtomicString& family = AtomicString(), unsigned size = 0, unsigned weight = 0, bool italic = false, - bool isPrinterFont = false, FontRenderingMode renderingMode = NormalRenderingMode, FontOrientation orientation = Horizontal, + bool isPrinterFont = false, bool smallCaps = false, FontRenderingMode renderingMode = NormalRenderingMode, FontOrientation orientation = Horizontal, TextOrientation textOrientation = TextOrientationVerticalRight, FontWidthVariant widthVariant = RegularWidth) : m_size(size) , m_weight(weight) , m_family(family) , m_italic(italic) , m_printerFont(isPrinterFont) + , m_smallCaps(smallCaps) , m_renderingMode(renderingMode) , m_orientation(orientation) , m_textOrientation(textOrientation) @@ -77,7 +78,7 @@ bool operator==(const FontPlatformDataCacheKey& other) const { return equalIgnoringCase(m_family, other.m_family) && m_size == other.m_size && - m_weight == other.m_weight && m_italic == other.m_italic && m_printerFont == other.m_printerFont && + m_weight == other.m_weight && m_italic == other.m_italic && m_printerFont == other.m_printerFont && m_smallCaps == other.m_smallCaps && m_renderingMode == other.m_renderingMode && m_orientation == other.m_orientation && m_textOrientation == other.m_textOrientation && m_widthVariant == other.m_widthVariant; } @@ -86,6 +87,7 @@ AtomicString m_family; bool m_italic; bool m_printerFont; + bool m_smallCaps; FontRenderingMode m_renderingMode; FontOrientation m_orientation; TextOrientation m_textOrientation; @@ -102,7 +104,7 @@ fontKey.m_size, fontKey.m_weight, fontKey.m_widthVariant, - static_cast(fontKey.m_textOrientation) << 4 | static_cast(fontKey.m_orientation) << 3 | static_cast(fontKey.m_italic) << 2 | static_cast(fontKey.m_printerFont) << 1 | static_cast(fontKey.m_renderingMode) + static_cast(fontKey.m_smallCaps) << 5 | static_cast(fontKey.m_textOrientation) << 4 | static_cast(fontKey.m_orientation) << 3 | static_cast(fontKey.m_italic) << 2 | static_cast(fontKey.m_printerFont) << 1 | static_cast(fontKey.m_renderingMode) }; return StringHasher::hashMemory(hashCodes); } @@ -186,7 +188,7 @@ } FontPlatformDataCacheKey key(familyName, fontDescription.computedPixelSize(), fontDescription.weight(), fontDescription.italic(), - fontDescription.usePrinterFont(), fontDescription.renderingMode(), fontDescription.orientation(), + fontDescription.usePrinterFont(), fontDescription.smallCaps(), fontDescription.renderingMode(), fontDescription.orientation(), fontDescription.textOrientation(), fontDescription.widthVariant()); FontPlatformData* result = 0; bool foundResult; diff -r e65d46cb0ef2 src/gui/text/qfont.cpp --- a/src/gui/text/qfont.cpp Fri Jan 25 13:23:30 2013 +0800 +++ b/src/gui/text/qfont.cpp Fri Feb 01 20:27:31 2013 +0800 @@ -2238,6 +2238,7 @@ QString::number((int) underline()) + comma + QString::number((int) strikeOut()) + comma + QString::number((int)fixedPitch()) + comma + + QString::number((int)capitalization()) + comma + QString::number((int) rawMode()); }