Index: skia/ext/skia_sandbox_support_win.cc |
=================================================================== |
--- skia/ext/skia_sandbox_support_win.cc (revision 158204) |
+++ skia/ext/skia_sandbox_support_win.cc (working copy) |
@@ -7,6 +7,8 @@ |
#include "SkTypeface_win.h" |
static SkiaEnsureTypefaceAccessible g_skia_ensure_typeface_accessible = NULL; |
+static SkiaEnsureTypefaceCharactersAccessible |
+ g_skia_ensure_typeface_characters_accessible = NULL; |
SK_API void SetSkiaEnsureTypefaceAccessible(SkiaEnsureTypefaceAccessible func) { |
// This function is supposed to be called once in process life time. |
@@ -14,6 +16,13 @@ |
g_skia_ensure_typeface_accessible = func; |
} |
+SK_API void SetSkiaEnsureTypefaceCharactersAccessible( |
+ SkiaEnsureTypefaceCharactersAccessible func) { |
+ // This function is supposed to be called once in process life time. |
+ SkASSERT(g_skia_ensure_typeface_characters_accessible == NULL); |
+ g_skia_ensure_typeface_characters_accessible = func; |
+} |
+ |
// static |
void SkFontHost::EnsureTypefaceAccessible(const SkTypeface& typeface) { |
if (g_skia_ensure_typeface_accessible) { |
@@ -22,3 +31,14 @@ |
g_skia_ensure_typeface_accessible(lf); |
} |
} |
+ |
+// static |
+void SkFontHost::EnsureTypefaceCharactersAccessible( |
+ const SkTypeface& typeface, const wchar_t* text, unsigned int text_length) { |
+ if (g_skia_ensure_typeface_characters_accessible) { |
+ LOGFONT lf; |
+ SkLOGFONTFromTypeface(&typeface, &lf); |
+ g_skia_ensure_typeface_characters_accessible(lf, text, text_length); |
+ } |
+} |
+ |