Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Side by Side Diff: skia/ext/skia_sandbox_support_win.cc

Issue 11363008: Fix for 128506: Random Chinese/Japanese characters are missing in documents printed via the syst... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "skia_sandbox_support_win.h" 5 #include "skia_sandbox_support_win.h"
6 #include "SkFontHost.h" 6 #include "SkFontHost.h"
7 #include "SkTypeface_win.h" 7 #include "SkTypeface_win.h"
8 8
9 static SkiaEnsureTypefaceAccessible g_skia_ensure_typeface_accessible = NULL; 9 static SkiaEnsureTypefaceAccessible g_skia_ensure_typeface_accessible = NULL;
10 static SkiaEnsureTypefaceCharactersAccessible
11 g_skia_ensure_typeface_characters_accessible = NULL;
10 12
11 SK_API void SetSkiaEnsureTypefaceAccessible(SkiaEnsureTypefaceAccessible func) { 13 SK_API void SetSkiaEnsureTypefaceAccessible(SkiaEnsureTypefaceAccessible func) {
12 // This function is supposed to be called once in process life time. 14 // This function is supposed to be called once in process life time.
13 SkASSERT(g_skia_ensure_typeface_accessible == NULL); 15 SkASSERT(g_skia_ensure_typeface_accessible == NULL);
14 g_skia_ensure_typeface_accessible = func; 16 g_skia_ensure_typeface_accessible = func;
15 } 17 }
16 18
19 SK_API void SetSkiaEnsureTypefaceCharactersAccessible(
20 SkiaEnsureTypefaceCharactersAccessible func) {
21 // This function is supposed to be called once in process life time.
22 SkASSERT(g_skia_ensure_typeface_characters_accessible == NULL);
23 g_skia_ensure_typeface_characters_accessible = func;
24 }
25
17 // static 26 // static
18 void SkFontHost::EnsureTypefaceAccessible(const SkTypeface& typeface) { 27 void SkFontHost::EnsureTypefaceAccessible(const SkTypeface& typeface) {
19 if (g_skia_ensure_typeface_accessible) { 28 if (g_skia_ensure_typeface_accessible) {
20 LOGFONT lf; 29 LOGFONT lf;
21 SkLOGFONTFromTypeface(&typeface, &lf); 30 SkLOGFONTFromTypeface(&typeface, &lf);
22 g_skia_ensure_typeface_accessible(lf); 31 g_skia_ensure_typeface_accessible(lf);
23 } 32 }
24 } 33 }
34
35 // static
36 void SkFontHost::EnsureTypefaceCharactersAccessible(
37 const SkTypeface& typeface, const wchar_t* text, unsigned int text_length) {
38 if (g_skia_ensure_typeface_characters_accessible) {
39 LOGFONT lf;
40 SkLOGFONTFromTypeface(&typeface, &lf);
41 g_skia_ensure_typeface_characters_accessible(lf, text, text_length);
42 }
43 }
44
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698