summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/android
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/graphics/android')
-rw-r--r--WebCore/platform/graphics/android/FontAndroid.cpp7
-rw-r--r--WebCore/platform/graphics/android/FontDataAndroid.cpp15
2 files changed, 17 insertions, 5 deletions
diff --git a/WebCore/platform/graphics/android/FontAndroid.cpp b/WebCore/platform/graphics/android/FontAndroid.cpp
index ca2fca1..a430b07 100644
--- a/WebCore/platform/graphics/android/FontAndroid.cpp
+++ b/WebCore/platform/graphics/android/FontAndroid.cpp
@@ -107,6 +107,11 @@ static bool setupForText(SkPaint* paint, GraphicsContext* gc,
return true;
}
+bool Font::canReturnFallbackFontsForComplexText()
+{
+ return false;
+}
+
void Font::drawGlyphs(GraphicsContext* gc, const SimpleFontData* font,
const GlyphBuffer& glyphBuffer, int from, int numGlyphs,
const FloatPoint& point) const
@@ -206,7 +211,7 @@ void Font::drawComplexText(GraphicsContext* gc, TextRun const& run,
paint);
}
-float Font::floatWidthForComplexText(const TextRun& run) const
+float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFontData*>*) const
{
SkPaint paint;
diff --git a/WebCore/platform/graphics/android/FontDataAndroid.cpp b/WebCore/platform/graphics/android/FontDataAndroid.cpp
index 3d31eaf..2bb53e4 100644
--- a/WebCore/platform/graphics/android/FontDataAndroid.cpp
+++ b/WebCore/platform/graphics/android/FontDataAndroid.cpp
@@ -48,7 +48,7 @@ void SimpleFontData::platformInit()
SkPaint paint;
SkPaint::FontMetrics metrics;
- m_font.setupPaint(&paint);
+ m_platformData.setupPaint(&paint);
(void)paint.getFontMetrics(&metrics);
// use ceil instead of round to favor descent, given a lot of accidental
@@ -64,6 +64,13 @@ void SimpleFontData::platformInit()
m_lineGap = SkScalarRound(metrics.fLeading);
}
+void SimpleFontData::platformCharWidthInit()
+{
+ m_avgCharWidth = 0.f;
+ m_maxCharWidth = 0.f;
+ initCharWidths();
+}
+
void SimpleFontData::platformDestroy()
{
delete m_smallCapsFontData;
@@ -72,7 +79,7 @@ void SimpleFontData::platformDestroy()
SimpleFontData* SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const
{
if (!m_smallCapsFontData) {
- m_smallCapsFontData = new SimpleFontData(FontPlatformData(m_font, fontDescription.computedSize() * 0.7f));
+ m_smallCapsFontData = new SimpleFontData(FontPlatformData(m_platformData, fontDescription.computedSize() * 0.7f));
}
return m_smallCapsFontData;
}
@@ -84,7 +91,7 @@ bool SimpleFontData::containsCharacters(const UChar* characters, int length) con
SkPaint paint;
uint16_t glyphs[kMaxBufferCount];
- m_font.setupPaint(&paint);
+ m_platformData.setupPaint(&paint);
paint.setTextEncoding(SkPaint::kUTF16_TextEncoding);
while (length > 0) {
@@ -114,7 +121,7 @@ float SimpleFontData::platformWidthForGlyph(Glyph glyph) const
SkPaint paint;
- m_font.setupPaint(&paint);
+ m_platformData.setupPaint(&paint);
if (EmojiFont::IsEmojiGlyph(glyph))
return EmojiFont::GetAdvanceWidth(glyph, paint);