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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 // default settings: http://crbug.com/421247 | 100 // default settings: http://crbug.com/421247 |
101 kFontconfigMatchFontHeader + | 101 kFontconfigMatchFontHeader + |
102 CreateFontconfigTestStanza("family", "eq", "string", "Arial") + | 102 CreateFontconfigTestStanza("family", "eq", "string", "Arial") + |
103 CreateFontconfigEditStanza("antialias", "bool", "true") + | 103 CreateFontconfigEditStanza("antialias", "bool", "true") + |
104 CreateFontconfigEditStanza("autohint", "bool", "false") + | 104 CreateFontconfigEditStanza("autohint", "bool", "false") + |
105 CreateFontconfigEditStanza("hinting", "bool", "true") + | 105 CreateFontconfigEditStanza("hinting", "bool", "true") + |
106 CreateFontconfigEditStanza("hintstyle", "const", "hintfull") + | 106 CreateFontconfigEditStanza("hintstyle", "const", "hintfull") + |
107 kFontconfigMatchFooter + | 107 kFontconfigMatchFooter + |
108 kFontconfigFileFooter)); | 108 kFontconfigFileFooter)); |
109 | 109 |
110 FontRenderParams params = GetFontRenderParams( | 110 FontRenderParams params = |
111 FontRenderParamsQuery(true), NULL); | 111 GetCurrentFontRenderParams(FontRenderParamsQuery(true), NULL); |
112 EXPECT_TRUE(params.antialiasing); | 112 EXPECT_TRUE(params.antialiasing); |
113 EXPECT_TRUE(params.autohinter); | 113 EXPECT_TRUE(params.autohinter); |
114 EXPECT_TRUE(params.use_bitmaps); | 114 EXPECT_TRUE(params.use_bitmaps); |
115 EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); | 115 EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); |
116 EXPECT_FALSE(params.subpixel_positioning); | 116 EXPECT_FALSE(params.subpixel_positioning); |
117 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, | 117 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, |
118 params.subpixel_rendering); | 118 params.subpixel_rendering); |
119 } | 119 } |
120 | 120 |
121 TEST_F(FontRenderParamsTest, Size) { | 121 TEST_F(FontRenderParamsTest, Size) { |
(...skipping 14 matching lines...) Expand all Loading... |
136 CreateFontconfigTestStanza("size", "more_eq", "double", "20") + | 136 CreateFontconfigTestStanza("size", "more_eq", "double", "20") + |
137 CreateFontconfigEditStanza("hintstyle", "const", "hintslight") + | 137 CreateFontconfigEditStanza("hintstyle", "const", "hintslight") + |
138 CreateFontconfigEditStanza("rgba", "const", "rgb") + | 138 CreateFontconfigEditStanza("rgba", "const", "rgb") + |
139 kFontconfigMatchFooter + | 139 kFontconfigMatchFooter + |
140 kFontconfigFileFooter)); | 140 kFontconfigFileFooter)); |
141 | 141 |
142 // The defaults should be used when the supplied size isn't matched by the | 142 // The defaults should be used when the supplied size isn't matched by the |
143 // second or third blocks. | 143 // second or third blocks. |
144 FontRenderParamsQuery query(false); | 144 FontRenderParamsQuery query(false); |
145 query.pixel_size = 12; | 145 query.pixel_size = 12; |
146 FontRenderParams params = GetFontRenderParams(query, NULL); | 146 FontRenderParams params = GetCurrentFontRenderParams(query, NULL); |
147 EXPECT_TRUE(params.antialiasing); | 147 EXPECT_TRUE(params.antialiasing); |
148 EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting); | 148 EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting); |
149 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, | 149 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, |
150 params.subpixel_rendering); | 150 params.subpixel_rendering); |
151 | 151 |
152 query.pixel_size = 10; | 152 query.pixel_size = 10; |
153 params = GetFontRenderParams(query, NULL); | 153 params = GetCurrentFontRenderParams(query, NULL); |
154 EXPECT_FALSE(params.antialiasing); | 154 EXPECT_FALSE(params.antialiasing); |
155 EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting); | 155 EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting); |
156 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, | 156 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, |
157 params.subpixel_rendering); | 157 params.subpixel_rendering); |
158 | 158 |
159 query.pixel_size = 0; | 159 query.pixel_size = 0; |
160 query.point_size = 20; | 160 query.point_size = 20; |
161 params = GetFontRenderParams(query, NULL); | 161 params = GetCurrentFontRenderParams(query, NULL); |
162 EXPECT_TRUE(params.antialiasing); | 162 EXPECT_TRUE(params.antialiasing); |
163 EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); | 163 EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); |
164 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, | 164 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, |
165 params.subpixel_rendering); | 165 params.subpixel_rendering); |
166 } | 166 } |
167 | 167 |
168 TEST_F(FontRenderParamsTest, Style) { | 168 TEST_F(FontRenderParamsTest, Style) { |
169 ASSERT_TRUE(LoadSystemFont("arial.ttf")); | 169 ASSERT_TRUE(LoadSystemFont("arial.ttf")); |
170 // Load a config that disables subpixel rendering for bold text and disables | 170 // Load a config that disables subpixel rendering for bold text and disables |
171 // hinting for italic text. | 171 // hinting for italic text. |
(...skipping 10 matching lines...) Expand all Loading... |
182 CreateFontconfigEditStanza("rgba", "const", "none") + | 182 CreateFontconfigEditStanza("rgba", "const", "none") + |
183 kFontconfigMatchFooter + | 183 kFontconfigMatchFooter + |
184 kFontconfigMatchPatternHeader + | 184 kFontconfigMatchPatternHeader + |
185 CreateFontconfigTestStanza("slant", "eq", "const", "italic") + | 185 CreateFontconfigTestStanza("slant", "eq", "const", "italic") + |
186 CreateFontconfigEditStanza("hinting", "bool", "false") + | 186 CreateFontconfigEditStanza("hinting", "bool", "false") + |
187 kFontconfigMatchFooter + | 187 kFontconfigMatchFooter + |
188 kFontconfigFileFooter)); | 188 kFontconfigFileFooter)); |
189 | 189 |
190 FontRenderParamsQuery query(false); | 190 FontRenderParamsQuery query(false); |
191 query.style = Font::NORMAL; | 191 query.style = Font::NORMAL; |
192 FontRenderParams params = GetFontRenderParams(query, NULL); | 192 FontRenderParams params = GetCurrentFontRenderParams(query, NULL); |
193 EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); | 193 EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); |
194 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, | 194 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, |
195 params.subpixel_rendering); | 195 params.subpixel_rendering); |
196 | 196 |
197 query.style = Font::BOLD; | 197 query.style = Font::BOLD; |
198 params = GetFontRenderParams(query, NULL); | 198 params = GetCurrentFontRenderParams(query, NULL); |
199 EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); | 199 EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); |
200 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, | 200 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, |
201 params.subpixel_rendering); | 201 params.subpixel_rendering); |
202 | 202 |
203 query.style = Font::ITALIC; | 203 query.style = Font::ITALIC; |
204 params = GetFontRenderParams(query, NULL); | 204 params = GetCurrentFontRenderParams(query, NULL); |
205 EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); | 205 EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); |
206 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, | 206 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, |
207 params.subpixel_rendering); | 207 params.subpixel_rendering); |
208 | 208 |
209 query.style = Font::BOLD | Font::ITALIC; | 209 query.style = Font::BOLD | Font::ITALIC; |
210 params = GetFontRenderParams(query, NULL); | 210 params = GetCurrentFontRenderParams(query, NULL); |
211 EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); | 211 EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); |
212 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, | 212 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, |
213 params.subpixel_rendering); | 213 params.subpixel_rendering); |
214 } | 214 } |
215 | 215 |
216 TEST_F(FontRenderParamsTest, Scalable) { | 216 TEST_F(FontRenderParamsTest, Scalable) { |
217 // Load a config that only enables antialiasing for scalable fonts. | 217 // Load a config that only enables antialiasing for scalable fonts. |
218 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), | 218 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), |
219 std::string(kFontconfigFileHeader) + | 219 std::string(kFontconfigFileHeader) + |
220 kFontconfigMatchPatternHeader + | 220 kFontconfigMatchPatternHeader + |
221 CreateFontconfigEditStanza("antialias", "bool", "false") + | 221 CreateFontconfigEditStanza("antialias", "bool", "false") + |
222 kFontconfigMatchFooter + | 222 kFontconfigMatchFooter + |
223 kFontconfigMatchPatternHeader + | 223 kFontconfigMatchPatternHeader + |
224 CreateFontconfigTestStanza("scalable", "eq", "bool", "true") + | 224 CreateFontconfigTestStanza("scalable", "eq", "bool", "true") + |
225 CreateFontconfigEditStanza("antialias", "bool", "true") + | 225 CreateFontconfigEditStanza("antialias", "bool", "true") + |
226 kFontconfigMatchFooter + | 226 kFontconfigMatchFooter + |
227 kFontconfigFileFooter)); | 227 kFontconfigFileFooter)); |
228 | 228 |
229 // Check that we specifically ask how scalable fonts should be rendered. | 229 // Check that we specifically ask how scalable fonts should be rendered. |
230 FontRenderParams params = GetFontRenderParams( | 230 FontRenderParams params = |
231 FontRenderParamsQuery(false), NULL); | 231 GetCurrentFontRenderParams(FontRenderParamsQuery(false), NULL); |
232 EXPECT_TRUE(params.antialiasing); | 232 EXPECT_TRUE(params.antialiasing); |
233 } | 233 } |
234 | 234 |
235 TEST_F(FontRenderParamsTest, UseBitmaps) { | 235 TEST_F(FontRenderParamsTest, UseBitmaps) { |
236 ASSERT_TRUE(LoadSystemFont("arial.ttf")); | 236 ASSERT_TRUE(LoadSystemFont("arial.ttf")); |
237 // Load a config that enables embedded bitmaps for fonts <= 10 pixels. | 237 // Load a config that enables embedded bitmaps for fonts <= 10 pixels. |
238 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), | 238 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), |
239 std::string(kFontconfigFileHeader) + | 239 std::string(kFontconfigFileHeader) + |
240 kFontconfigMatchPatternHeader + | 240 kFontconfigMatchPatternHeader + |
241 CreateFontconfigEditStanza("embeddedbitmap", "bool", "false") + | 241 CreateFontconfigEditStanza("embeddedbitmap", "bool", "false") + |
242 kFontconfigMatchFooter + | 242 kFontconfigMatchFooter + |
243 kFontconfigMatchPatternHeader + | 243 kFontconfigMatchPatternHeader + |
244 CreateFontconfigTestStanza("pixelsize", "less_eq", "double", "10") + | 244 CreateFontconfigTestStanza("pixelsize", "less_eq", "double", "10") + |
245 CreateFontconfigEditStanza("embeddedbitmap", "bool", "true") + | 245 CreateFontconfigEditStanza("embeddedbitmap", "bool", "true") + |
246 kFontconfigMatchFooter + | 246 kFontconfigMatchFooter + |
247 kFontconfigFileFooter)); | 247 kFontconfigFileFooter)); |
248 | 248 |
249 FontRenderParamsQuery query(false); | 249 FontRenderParamsQuery query(false); |
250 FontRenderParams params = GetFontRenderParams(query, NULL); | 250 FontRenderParams params = GetCurrentFontRenderParams(query, NULL); |
251 EXPECT_FALSE(params.use_bitmaps); | 251 EXPECT_FALSE(params.use_bitmaps); |
252 | 252 |
253 query.pixel_size = 5; | 253 query.pixel_size = 5; |
254 params = GetFontRenderParams(query, NULL); | 254 params = GetCurrentFontRenderParams(query, NULL); |
255 EXPECT_TRUE(params.use_bitmaps); | 255 EXPECT_TRUE(params.use_bitmaps); |
256 } | 256 } |
257 | 257 |
258 TEST_F(FontRenderParamsTest, ForceFullHintingWhenAntialiasingIsDisabled) { | 258 TEST_F(FontRenderParamsTest, ForceFullHintingWhenAntialiasingIsDisabled) { |
259 // Load a config that disables antialiasing and hinting while requesting | 259 // Load a config that disables antialiasing and hinting while requesting |
260 // subpixel rendering. | 260 // subpixel rendering. |
261 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), | 261 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), |
262 std::string(kFontconfigFileHeader) + | 262 std::string(kFontconfigFileHeader) + |
263 kFontconfigMatchPatternHeader + | 263 kFontconfigMatchPatternHeader + |
264 CreateFontconfigEditStanza("antialias", "bool", "false") + | 264 CreateFontconfigEditStanza("antialias", "bool", "false") + |
265 CreateFontconfigEditStanza("hinting", "bool", "false") + | 265 CreateFontconfigEditStanza("hinting", "bool", "false") + |
266 CreateFontconfigEditStanza("hintstyle", "const", "hintnone") + | 266 CreateFontconfigEditStanza("hintstyle", "const", "hintnone") + |
267 CreateFontconfigEditStanza("rgba", "const", "rgb") + | 267 CreateFontconfigEditStanza("rgba", "const", "rgb") + |
268 kFontconfigMatchFooter + | 268 kFontconfigMatchFooter + |
269 kFontconfigFileFooter)); | 269 kFontconfigFileFooter)); |
270 | 270 |
271 // Full hinting should be forced. See the comment in GetFontRenderParams() for | 271 // Full hinting should be forced. See the comment in |
| 272 // GetCurrentFontRenderParams() for |
272 // more information. | 273 // more information. |
273 FontRenderParams params = GetFontRenderParams( | 274 FontRenderParams params = |
274 FontRenderParamsQuery(false), NULL); | 275 GetCurrentFontRenderParams(FontRenderParamsQuery(false), NULL); |
275 EXPECT_FALSE(params.antialiasing); | 276 EXPECT_FALSE(params.antialiasing); |
276 EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting); | 277 EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting); |
277 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, | 278 EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, |
278 params.subpixel_rendering); | 279 params.subpixel_rendering); |
279 EXPECT_FALSE(params.subpixel_positioning); | 280 EXPECT_FALSE(params.subpixel_positioning); |
280 } | 281 } |
281 | 282 |
282 #if defined(OS_CHROMEOS) | |
283 TEST_F(FontRenderParamsTest, ForceSubpixelPositioning) { | |
284 { | |
285 FontRenderParams params = | |
286 GetFontRenderParams(FontRenderParamsQuery(false), NULL); | |
287 EXPECT_TRUE(params.antialiasing); | |
288 EXPECT_FALSE(params.subpixel_positioning); | |
289 SetFontRenderParamsDeviceScaleFactor(1.0f); | |
290 } | |
291 ClearFontRenderParamsCacheForTest(); | |
292 SetFontRenderParamsDeviceScaleFactor(1.25f); | |
293 // Subpixel positioning should be forced. | |
294 { | |
295 FontRenderParams params = | |
296 GetFontRenderParams(FontRenderParamsQuery(false), NULL); | |
297 EXPECT_TRUE(params.antialiasing); | |
298 EXPECT_TRUE(params.subpixel_positioning); | |
299 SetFontRenderParamsDeviceScaleFactor(1.0f); | |
300 } | |
301 } | |
302 #endif | |
303 | |
304 TEST_F(FontRenderParamsTest, OnlySetConfiguredValues) { | 283 TEST_F(FontRenderParamsTest, OnlySetConfiguredValues) { |
305 // Configure the LinuxFontDelegate (which queries GtkSettings on desktop | 284 // Configure the LinuxFontDelegate (which queries GtkSettings on desktop |
306 // Linux) to request subpixel rendering. | 285 // Linux) to request subpixel rendering. |
307 FontRenderParams system_params; | 286 FontRenderParams system_params; |
308 system_params.subpixel_rendering = FontRenderParams::SUBPIXEL_RENDERING_RGB; | 287 system_params.subpixel_rendering = FontRenderParams::SUBPIXEL_RENDERING_RGB; |
309 test_font_delegate_.set_params(system_params); | 288 test_font_delegate_.set_params(system_params); |
310 | 289 |
311 // Load a Fontconfig config that enables antialiasing but doesn't say anything | 290 // Load a Fontconfig config that enables antialiasing but doesn't say anything |
312 // about subpixel rendering. | 291 // about subpixel rendering. |
313 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), | 292 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), |
314 std::string(kFontconfigFileHeader) + | 293 std::string(kFontconfigFileHeader) + |
315 kFontconfigMatchPatternHeader + | 294 kFontconfigMatchPatternHeader + |
316 CreateFontconfigEditStanza("antialias", "bool", "true") + | 295 CreateFontconfigEditStanza("antialias", "bool", "true") + |
317 kFontconfigMatchFooter + | 296 kFontconfigMatchFooter + |
318 kFontconfigFileFooter)); | 297 kFontconfigFileFooter)); |
319 | 298 |
320 // The subpixel rendering setting from the delegate should make it through. | 299 // The subpixel rendering setting from the delegate should make it through. |
321 FontRenderParams params = GetFontRenderParams( | 300 FontRenderParams params = |
322 FontRenderParamsQuery(false), NULL); | 301 GetCurrentFontRenderParams(FontRenderParamsQuery(false), NULL); |
323 EXPECT_EQ(system_params.subpixel_rendering, params.subpixel_rendering); | 302 EXPECT_EQ(system_params.subpixel_rendering, params.subpixel_rendering); |
324 } | 303 } |
325 | 304 |
326 TEST_F(FontRenderParamsTest, NoFontconfigMatch) { | 305 TEST_F(FontRenderParamsTest, NoFontconfigMatch) { |
327 // Don't load a Fontconfig configuration. | 306 // Don't load a Fontconfig configuration. |
328 FontRenderParams system_params; | 307 FontRenderParams system_params; |
329 system_params.antialiasing = true; | 308 system_params.antialiasing = true; |
330 system_params.hinting = FontRenderParams::HINTING_MEDIUM; | 309 system_params.hinting = FontRenderParams::HINTING_MEDIUM; |
331 system_params.subpixel_rendering = FontRenderParams::SUBPIXEL_RENDERING_RGB; | 310 system_params.subpixel_rendering = FontRenderParams::SUBPIXEL_RENDERING_RGB; |
332 test_font_delegate_.set_params(system_params); | 311 test_font_delegate_.set_params(system_params); |
333 | 312 |
334 FontRenderParamsQuery query(false); | 313 FontRenderParamsQuery query(false); |
335 query.families.push_back("Arial"); | 314 query.families.push_back("Arial"); |
336 query.families.push_back("Times New Roman"); | 315 query.families.push_back("Times New Roman"); |
337 query.pixel_size = 10; | 316 query.pixel_size = 10; |
338 std::string suggested_family; | 317 std::string suggested_family; |
339 FontRenderParams params = GetFontRenderParams(query, &suggested_family); | 318 FontRenderParams params = |
| 319 GetCurrentFontRenderParams(query, &suggested_family); |
340 | 320 |
341 // The system params and the first requested family should be returned. | 321 // The system params and the first requested family should be returned. |
342 EXPECT_EQ(system_params.antialiasing, params.antialiasing); | 322 EXPECT_EQ(system_params.antialiasing, params.antialiasing); |
343 EXPECT_EQ(system_params.hinting, params.hinting); | 323 EXPECT_EQ(system_params.hinting, params.hinting); |
344 EXPECT_EQ(system_params.subpixel_rendering, params.subpixel_rendering); | 324 EXPECT_EQ(system_params.subpixel_rendering, params.subpixel_rendering); |
345 EXPECT_EQ(query.families[0], suggested_family); | 325 EXPECT_EQ(query.families[0], suggested_family); |
346 } | 326 } |
347 | 327 |
348 TEST_F(FontRenderParamsTest, MissingFamily) { | 328 TEST_F(FontRenderParamsTest, MissingFamily) { |
349 // With Arial and Verdana installed, request (in order) Helvetica, Arial, and | 329 // With Arial and Verdana installed, request (in order) Helvetica, Arial, and |
350 // Verdana and check that Arial is returned. | 330 // Verdana and check that Arial is returned. |
351 ASSERT_TRUE(LoadSystemFont("arial.ttf")); | 331 ASSERT_TRUE(LoadSystemFont("arial.ttf")); |
352 ASSERT_TRUE(LoadSystemFont("verdana.ttf")); | 332 ASSERT_TRUE(LoadSystemFont("verdana.ttf")); |
353 FontRenderParamsQuery query(false); | 333 FontRenderParamsQuery query(false); |
354 query.families.push_back("Helvetica"); | 334 query.families.push_back("Helvetica"); |
355 query.families.push_back("Arial"); | 335 query.families.push_back("Arial"); |
356 query.families.push_back("Verdana"); | 336 query.families.push_back("Verdana"); |
357 std::string suggested_family; | 337 std::string suggested_family; |
358 GetFontRenderParams(query, &suggested_family); | 338 GetCurrentFontRenderParams(query, &suggested_family); |
359 EXPECT_EQ("Arial", suggested_family); | 339 EXPECT_EQ("Arial", suggested_family); |
360 } | 340 } |
361 | 341 |
362 TEST_F(FontRenderParamsTest, SubstituteFamily) { | 342 TEST_F(FontRenderParamsTest, SubstituteFamily) { |
363 // Configure Fontconfig to use Verdana for both Helvetica and Arial. | 343 // Configure Fontconfig to use Verdana for both Helvetica and Arial. |
364 ASSERT_TRUE(LoadSystemFont("arial.ttf")); | 344 ASSERT_TRUE(LoadSystemFont("arial.ttf")); |
365 ASSERT_TRUE(LoadSystemFont("verdana.ttf")); | 345 ASSERT_TRUE(LoadSystemFont("verdana.ttf")); |
366 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), | 346 ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), |
367 std::string(kFontconfigFileHeader) + | 347 std::string(kFontconfigFileHeader) + |
368 CreateFontconfigAliasStanza("Helvetica", "Verdana") + | 348 CreateFontconfigAliasStanza("Helvetica", "Verdana") + |
369 kFontconfigMatchPatternHeader + | 349 kFontconfigMatchPatternHeader + |
370 CreateFontconfigTestStanza("family", "eq", "string", "Arial") + | 350 CreateFontconfigTestStanza("family", "eq", "string", "Arial") + |
371 CreateFontconfigEditStanza("family", "string", "Verdana") + | 351 CreateFontconfigEditStanza("family", "string", "Verdana") + |
372 kFontconfigMatchFooter + | 352 kFontconfigMatchFooter + |
373 kFontconfigFileFooter)); | 353 kFontconfigFileFooter)); |
374 | 354 |
375 FontRenderParamsQuery query(false); | 355 FontRenderParamsQuery query(false); |
376 query.families.push_back("Helvetica"); | 356 query.families.push_back("Helvetica"); |
377 std::string suggested_family; | 357 std::string suggested_family; |
378 GetFontRenderParams(query, &suggested_family); | 358 GetCurrentFontRenderParams(query, &suggested_family); |
379 EXPECT_EQ("Verdana", suggested_family); | 359 EXPECT_EQ("Verdana", suggested_family); |
380 | 360 |
381 query.families.clear(); | 361 query.families.clear(); |
382 query.families.push_back("Arial"); | 362 query.families.push_back("Arial"); |
383 suggested_family.clear(); | 363 suggested_family.clear(); |
384 GetFontRenderParams(query, &suggested_family); | 364 GetCurrentFontRenderParams(query, &suggested_family); |
385 EXPECT_EQ("Verdana", suggested_family); | 365 EXPECT_EQ("Verdana", suggested_family); |
386 } | 366 } |
387 | 367 |
388 } // namespace gfx | 368 } // namespace gfx |
OLD | NEW |