OLD | NEW |
1 // Copyright (c) 2012 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/logging.h" | 7 #include "base/logging.h" |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 | 9 |
10 namespace gfx { | 10 namespace gfx { |
11 | 11 |
12 namespace { | 12 namespace { |
13 | 13 |
14 // Returns the system's default settings. | 14 // Returns params that match SkiaTextRenderer's default render settings. |
15 FontRenderParams LoadDefaults() { | 15 FontRenderParams LoadDefaults() { |
16 FontRenderParams params; | 16 FontRenderParams params; |
17 params.antialiasing = true; | 17 params.antialiasing = true; |
18 params.autohinter = true; | 18 params.autohinter = false; |
19 params.use_bitmaps = true; | 19 params.use_bitmaps = true; |
20 params.subpixel_rendering = FontRenderParams::SUBPIXEL_RENDERING_NONE; | 20 params.subpixel_rendering = FontRenderParams::SUBPIXEL_RENDERING_RGB; |
21 | |
22 // Use subpixel text positioning to keep consistent character spacing when | |
23 // the page is scaled by a fractional factor. | |
24 params.subpixel_positioning = true; | 21 params.subpixel_positioning = true; |
25 // Slight hinting renders much better than normal hinting on Android. | 22 params.hinting = FontRenderParams::HINTING_MEDIUM; |
26 params.hinting = FontRenderParams::HINTING_SLIGHT; | |
27 | 23 |
28 return params; | 24 return params; |
29 } | 25 } |
30 | 26 |
31 } // namespace | 27 } // namespace |
32 | 28 |
33 FontRenderParams GetFontRenderParams(const FontRenderParamsQuery& query, | 29 FontRenderParams GetFontRenderParams(const FontRenderParamsQuery& query, |
34 std::string* family_out) { | 30 std::string* family_out) { |
35 // Customized font rendering settings are not supported, only defaults. | 31 // TODO: Query the OS for font render settings instead of returning defaults. |
36 if (!query.is_empty() || family_out) | 32 if (!query.is_empty() || family_out) |
37 NOTIMPLEMENTED(); | 33 NOTIMPLEMENTED(); |
38 CR_DEFINE_STATIC_LOCAL( | 34 CR_DEFINE_STATIC_LOCAL(const gfx::FontRenderParams, params, (LoadDefaults())); |
39 const gfx::FontRenderParams, params, (LoadDefaults())); | |
40 return params; | 35 return params; |
41 } | 36 } |
42 | 37 |
43 } // namespace gfx | 38 } // namespace gfx |
OLD | NEW |