OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. | 2 * Copyright (c) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 14 matching lines...) Expand all Loading... |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #include "config.h" | 31 #include "config.h" |
32 | 32 |
33 #include "SkFontMgr.h" | 33 #include "SkFontMgr.h" |
34 #include "SkTypeface.h" | 34 #include "SkTypeface.h" |
35 #include "platform/NotImplemented.h" | 35 #include "core/platform/graphics/AlternateFontFamily.h" |
36 #include "core/platform/graphics/Font.h" | 36 #include "core/platform/graphics/Font.h" |
37 #include "core/platform/graphics/FontCache.h" | 37 #include "core/platform/graphics/FontCache.h" |
38 #include "core/platform/graphics/FontDescription.h" | 38 #include "core/platform/graphics/FontDescription.h" |
39 #include "core/platform/graphics/SimpleFontData.h" | 39 #include "core/platform/graphics/SimpleFontData.h" |
| 40 #include "platform/NotImplemented.h" |
40 #include "wtf/Assertions.h" | 41 #include "wtf/Assertions.h" |
41 #include "wtf/text/AtomicString.h" | 42 #include "wtf/text/AtomicString.h" |
42 #include "wtf/text/CString.h" | 43 #include "wtf/text/CString.h" |
43 #include <unicode/locid.h> | 44 #include <unicode/locid.h> |
44 | 45 |
45 namespace WebCore { | 46 namespace WebCore { |
46 | 47 |
47 void FontCache::platformInit() | 48 void FontCache::platformInit() |
48 { | 49 { |
49 } | 50 } |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 | 89 |
89 #endif // !OS(WINDOWNS) && !OS(ANDROID) | 90 #endif // !OS(WINDOWNS) && !OS(ANDROID) |
90 | 91 |
91 PassRefPtr<SimpleFontData> FontCache::getSimilarFontPlatformData(const Font& fon
t) | 92 PassRefPtr<SimpleFontData> FontCache::getSimilarFontPlatformData(const Font& fon
t) |
92 { | 93 { |
93 return 0; | 94 return 0; |
94 } | 95 } |
95 | 96 |
96 PassRefPtr<SimpleFontData> FontCache::getLastResortFallbackFont(const FontDescri
ption& description, ShouldRetain shouldRetain) | 97 PassRefPtr<SimpleFontData> FontCache::getLastResortFallbackFont(const FontDescri
ption& description, ShouldRetain shouldRetain) |
97 { | 98 { |
98 const FontPlatformData* fontPlatformData = getFallbackFontData(description); | 99 const AtomicString fallbackFontFamily = getFallbackFontFamily(description); |
| 100 const FontPlatformData* fontPlatformData = 0; |
| 101 if (!fallbackFontFamily.isEmpty()) |
| 102 fontPlatformData = getFontResourcePlatformData(description, fallbackFont
Family); |
| 103 |
99 if (!fontPlatformData) { | 104 if (!fontPlatformData) { |
100 // we should at least have Arial; this is the SkFontHost_fontconfig last
resort fallback | 105 // we should at least have Arial; this is the SkFontHost_fontconfig last
resort fallback |
101 DEFINE_STATIC_LOCAL(const AtomicString, arialStr, ("Arial", AtomicString
::ConstructFromLiteral)); | 106 DEFINE_STATIC_LOCAL(const AtomicString, arialStr, ("Arial", AtomicString
::ConstructFromLiteral)); |
102 fontPlatformData = getFontResourcePlatformData(description, arialStr); | 107 fontPlatformData = getFontResourcePlatformData(description, arialStr); |
103 } | 108 } |
104 | 109 |
105 ASSERT(fontPlatformData); | 110 ASSERT(fontPlatformData); |
106 return getFontResourceData(fontPlatformData, shouldRetain); | 111 return getFontResourceData(fontPlatformData, shouldRetain); |
107 } | 112 } |
108 | 113 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 name.data(), | 174 name.data(), |
170 fontSize, | 175 fontSize, |
171 fontDescription.weight() >= FontWeightBold && !tf->isBold(), | 176 fontDescription.weight() >= FontWeightBold && !tf->isBold(), |
172 fontDescription.italic() && !tf->isItalic(), | 177 fontDescription.italic() && !tf->isItalic(), |
173 fontDescription.orientation()); | 178 fontDescription.orientation()); |
174 return result; | 179 return result; |
175 } | 180 } |
176 #endif // !OS(WINDOWNS) | 181 #endif // !OS(WINDOWNS) |
177 | 182 |
178 } // namespace WebCore | 183 } // namespace WebCore |
OLD | NEW |