Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "ui/gfx/font_render_params.h" | 5 #include "ui/gfx/font_render_params.h" |
| 6 | 6 |
| 7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
| 8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 159 EXPECT_TRUE(params.antialiasing); | 159 EXPECT_TRUE(params.antialiasing); |
| 160 EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); | 160 EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); |
| 161 | 161 |
| 162 style = Font::BOLD | Font::ITALIC; | 162 style = Font::BOLD | Font::ITALIC; |
| 163 params = GetCustomFontRenderParams( | 163 params = GetCustomFontRenderParams( |
| 164 false, NULL, NULL, NULL, &style, NULL); | 164 false, NULL, NULL, NULL, &style, NULL); |
| 165 EXPECT_FALSE(params.antialiasing); | 165 EXPECT_FALSE(params.antialiasing); |
| 166 EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); | 166 EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); |
| 167 } | 167 } |
| 168 | 168 |
| 169 TEST_F(FontRenderParamsTest, Scalable) { | |
| 170 ASSERT_TRUE(LoadSystemFont("arial.ttf")); | |
| 171 // Load a config that only enables antialiasing for scalable fonts. | |
|
msw
2014/07/21 16:06:35
Assuming arial is scalable seems a little fragile,
| |
| 172 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), | |
| 173 std::string(kFontconfigFileHeader) + | |
| 174 kFontconfigMatchHeader + | |
| 175 CreateFontconfigEditStanza("antialias", "bool", "false") + | |
| 176 kFontconfigMatchFooter + | |
| 177 kFontconfigMatchHeader + | |
| 178 CreateFontconfigTestStanza("scalable", "eq", "bool", "true") + | |
| 179 CreateFontconfigEditStanza("antialias", "bool", "true") + | |
| 180 kFontconfigMatchFooter + | |
| 181 kFontconfigFileFooter)); | |
| 182 | |
| 183 // Check that we specifically ask how scalable fonts should be rendered. | |
| 184 FontRenderParams params = GetCustomFontRenderParams( | |
| 185 false, NULL, NULL, NULL, NULL, NULL); | |
| 186 EXPECT_TRUE(params.antialiasing); | |
| 187 } | |
| 188 | |
| 189 TEST_F(FontRenderParamsTest, UseBitmaps) { | |
| 190 ASSERT_TRUE(LoadSystemFont("arial.ttf")); | |
| 191 // Load a config that enables embedded bitmaps for fonts <= 10 pixels. | |
| 192 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), | |
| 193 std::string(kFontconfigFileHeader) + | |
| 194 kFontconfigMatchHeader + | |
| 195 CreateFontconfigEditStanza("embeddedbitmap", "bool", "false") + | |
| 196 kFontconfigMatchFooter + | |
| 197 kFontconfigMatchHeader + | |
| 198 CreateFontconfigTestStanza("pixelsize", "less_eq", "double", "10") + | |
| 199 CreateFontconfigEditStanza("embeddedbitmap", "bool", "true") + | |
| 200 kFontconfigMatchFooter + | |
| 201 kFontconfigFileFooter)); | |
| 202 | |
| 203 FontRenderParams params = GetCustomFontRenderParams( | |
| 204 false, NULL, NULL, NULL, NULL, NULL); | |
| 205 EXPECT_FALSE(params.use_bitmaps); | |
| 206 | |
| 207 const int pixel_size = 5; | |
| 208 params = GetCustomFontRenderParams( | |
| 209 false, NULL, &pixel_size, NULL, NULL, NULL); | |
| 210 EXPECT_TRUE(params.use_bitmaps); | |
| 211 } | |
| 212 | |
| 169 } // namespace gfx | 213 } // namespace gfx |
| OLD | NEW |