OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkCommandLineFlags.h" | 8 #include "SkCommandLineFlags.h" |
9 #include "SkFontMgr.h" | 9 #include "SkFontMgr.h" |
10 #include "SkTypeface.h" | 10 #include "SkTypeface.h" |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 | 108 |
109 if (verbose) { | 109 if (verbose) { |
110 SkDebugf("\t[%d] %s [%3d %d %d]\n", j, sname.c_str(), | 110 SkDebugf("\t[%d] %s [%3d %d %d]\n", j, sname.c_str(), |
111 fs.weight(), fs.width(), fs.slant()); | 111 fs.weight(), fs.width(), fs.slant()); |
112 } | 112 } |
113 } | 113 } |
114 } | 114 } |
115 } | 115 } |
116 | 116 |
117 static void test_matchStyleCSS3(skiatest::Reporter* reporter) { | 117 static void test_matchStyleCSS3(skiatest::Reporter* reporter) { |
118 static const SkFontID invalidFontID = std::numeric_limits<SkFontID>::max(); | |
119 static const SkFontStyle invalidFontStyle(101, SkFontStyle::kNormal_Width, S
kFontStyle::kUpright_Slant); | 118 static const SkFontStyle invalidFontStyle(101, SkFontStyle::kNormal_Width, S
kFontStyle::kUpright_Slant); |
120 | 119 |
121 class TestTypeface : public SkTypeface { | 120 class TestTypeface : public SkTypeface { |
122 public: | 121 public: |
123 TestTypeface(const SkFontStyle& fontStyle, SkFontID id) : SkTypeface(fon
tStyle, id, false){} | 122 TestTypeface(const SkFontStyle& fontStyle) : SkTypeface(fontStyle, false
){} |
124 protected: | 123 protected: |
125 SkStreamAsset* onOpenStream(int* ttcIndex) const override { return nullp
tr; } | 124 SkStreamAsset* onOpenStream(int* ttcIndex) const override { return nullp
tr; } |
126 SkScalerContext* onCreateScalerContext(const SkScalerContextEffects&, | 125 SkScalerContext* onCreateScalerContext(const SkScalerContextEffects&, |
127 const SkDescriptor*) const overri
de { | 126 const SkDescriptor*) const overri
de { |
128 return nullptr; | 127 return nullptr; |
129 } | 128 } |
130 void onFilterRec(SkScalerContextRec*) const override { } | 129 void onFilterRec(SkScalerContextRec*) const override { } |
131 virtual SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics( | 130 virtual SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics( |
132 PerGlyphInfo, | 131 PerGlyphInfo, |
133 const uint32_t*, uint32_t) const override { return nullptr; } | 132 const uint32_t*, uint32_t) const override { return nullptr; } |
(...skipping 27 matching lines...) Expand all Loading... |
161 public: | 160 public: |
162 TestFontStyleSet(std::initializer_list<SkFontStyle> styles) : fStyles(st
yles) {} | 161 TestFontStyleSet(std::initializer_list<SkFontStyle> styles) : fStyles(st
yles) {} |
163 int count() override { return static_cast<int>(fStyles.size()); } | 162 int count() override { return static_cast<int>(fStyles.size()); } |
164 void getStyle(int index, SkFontStyle* style, SkString*) override { | 163 void getStyle(int index, SkFontStyle* style, SkString*) override { |
165 if (style) { | 164 if (style) { |
166 *style = fStyles[index]; | 165 *style = fStyles[index]; |
167 } | 166 } |
168 } | 167 } |
169 SkTypeface* createTypeface(int index) override { | 168 SkTypeface* createTypeface(int index) override { |
170 if (index < 0 || this->count() <= index) { | 169 if (index < 0 || this->count() <= index) { |
171 return new TestTypeface(invalidFontStyle, invalidFontID); | 170 return new TestTypeface(invalidFontStyle); |
172 } | 171 } |
173 return new TestTypeface(fStyles[index], index); | 172 return new TestTypeface(fStyles[index]); |
174 } | 173 } |
175 SkTypeface* matchStyle(const SkFontStyle& pattern) override { | 174 SkTypeface* matchStyle(const SkFontStyle& pattern) override { |
176 return this->matchStyleCSS3(pattern); | 175 return this->matchStyleCSS3(pattern); |
177 } | 176 } |
178 private: | 177 private: |
179 std::vector<SkFontStyle> fStyles; | 178 std::vector<SkFontStyle> fStyles; |
180 }; | 179 }; |
181 | 180 |
182 SkFontStyle condensed_normal_100(SkFontStyle::kThin_Weight, SkFontStyle::kC
ondensed_Width, SkFontStyle::kUpright_Slant); | 181 SkFontStyle condensed_normal_100(SkFontStyle::kThin_Weight, SkFontStyle::kC
ondensed_Width, SkFontStyle::kUpright_Slant); |
183 SkFontStyle condensed_normal_900(SkFontStyle::kBlack_Weight, SkFontStyle::kC
ondensed_Width, SkFontStyle::kUpright_Slant); | 182 SkFontStyle condensed_normal_900(SkFontStyle::kBlack_Weight, SkFontStyle::kC
ondensed_Width, SkFontStyle::kUpright_Slant); |
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 } | 702 } |
704 | 703 |
705 DEFINE_bool(verboseFontMgr, false, "run verbose fontmgr tests."); | 704 DEFINE_bool(verboseFontMgr, false, "run verbose fontmgr tests."); |
706 | 705 |
707 DEF_TEST(FontMgr, reporter) { | 706 DEF_TEST(FontMgr, reporter) { |
708 test_matchStyleCSS3(reporter); | 707 test_matchStyleCSS3(reporter); |
709 test_fontiter(reporter, FLAGS_verboseFontMgr); | 708 test_fontiter(reporter, FLAGS_verboseFontMgr); |
710 test_alias_names(reporter); | 709 test_alias_names(reporter); |
711 test_font(reporter); | 710 test_font(reporter); |
712 } | 711 } |
OLD | NEW |