Index: Source/platform/fonts/harfbuzz/FontPlatformDataHarfBuzz.cpp |
diff --git a/Source/platform/fonts/harfbuzz/FontPlatformDataHarfBuzz.cpp b/Source/platform/fonts/harfbuzz/FontPlatformDataHarfBuzz.cpp |
index fee331d456f43fefde5578e10c87b20d2ecb4ea8..5044875f6c66488a8c788ff1c5ef38ba0def9cea 100644 |
--- a/Source/platform/fonts/harfbuzz/FontPlatformDataHarfBuzz.cpp |
+++ b/Source/platform/fonts/harfbuzz/FontPlatformDataHarfBuzz.cpp |
@@ -79,6 +79,7 @@ |
FontPlatformData::FontPlatformData(WTF::HashTableDeletedValueType) |
: m_textSize(0) |
+ , m_emSizeInFontUnits(0) |
, m_syntheticBold(false) |
, m_syntheticItalic(false) |
, m_orientation(Horizontal) |
@@ -88,6 +89,7 @@ |
FontPlatformData::FontPlatformData() |
: m_textSize(0) |
+ , m_emSizeInFontUnits(0) |
, m_syntheticBold(false) |
, m_syntheticItalic(false) |
, m_orientation(Horizontal) |
@@ -97,6 +99,7 @@ |
FontPlatformData::FontPlatformData(float textSize, bool syntheticBold, bool syntheticItalic) |
: m_textSize(textSize) |
+ , m_emSizeInFontUnits(0) |
, m_syntheticBold(syntheticBold) |
, m_syntheticItalic(syntheticItalic) |
, m_orientation(Horizontal) |
@@ -108,6 +111,7 @@ |
: m_typeface(src.m_typeface) |
, m_family(src.m_family) |
, m_textSize(src.m_textSize) |
+ , m_emSizeInFontUnits(src.m_emSizeInFontUnits) |
, m_syntheticBold(src.m_syntheticBold) |
, m_syntheticItalic(src.m_syntheticItalic) |
, m_orientation(src.m_orientation) |
@@ -121,6 +125,7 @@ |
: m_typeface(tf) |
, m_family(family) |
, m_textSize(textSize) |
+ , m_emSizeInFontUnits(0) |
, m_syntheticBold(syntheticBold) |
, m_syntheticItalic(syntheticItalic) |
, m_orientation(orientation) |
@@ -133,6 +138,7 @@ |
: m_typeface(src.m_typeface) |
, m_family(src.m_family) |
, m_textSize(textSize) |
+ , m_emSizeInFontUnits(src.m_emSizeInFontUnits) |
, m_syntheticBold(src.m_syntheticBold) |
, m_syntheticItalic(src.m_syntheticItalic) |
, m_orientation(src.m_orientation) |
@@ -144,6 +150,15 @@ |
FontPlatformData::~FontPlatformData() |
{ |
+} |
+ |
+int FontPlatformData::emSizeInFontUnits() const |
+{ |
+ if (m_emSizeInFontUnits) |
+ return m_emSizeInFontUnits; |
+ |
+ m_emSizeInFontUnits = m_typeface->getUnitsPerEm(); |
+ return m_emSizeInFontUnits; |
} |
FontPlatformData& FontPlatformData::operator=(const FontPlatformData& src) |
@@ -156,6 +171,7 @@ |
m_harfBuzzFace = nullptr; |
m_orientation = src.m_orientation; |
m_style = src.m_style; |
+ m_emSizeInFontUnits = src.m_emSizeInFontUnits; |
return *this; |
} |