diff options
author | ckocagil <ckocagil@chromium.org> | 2014-08-25 15:13:43 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-08-25 22:15:23 +0000 |
commit | 04f49f48a13c337cb9eaef0146ec4f15ed91984a (patch) | |
tree | 8b4da16988c7abfcb15b1ec6b908f8cbdb418b42 /ui/gfx/font_render_params_mac.cc | |
parent | f28421761b5b19f33c011b3ca016bdb88b858c63 (diff) | |
download | chromium_src-04f49f48a13c337cb9eaef0146ec4f15ed91984a.zip chromium_src-04f49f48a13c337cb9eaef0146ec4f15ed91984a.tar.gz chromium_src-04f49f48a13c337cb9eaef0146ec4f15ed91984a.tar.bz2 |
Re-land: RenderTextHarfBuzz: Set font render parameters in font data functions
Originally landed at: https://codereview.chromium.org/480533002/
- Properly pass font render settings to Skia font data functions. Otherwise Skia always returns rounded values.
- If subpixel positioning is off, round the glyph positions to match Pango's rounding logic.
BUG=402715,402374,402347
TEST=On Linux, character positions in UI text (address bar, infobars, tab titles) should be identical with --enable-harfbuzz-rendertext and --disable-harfbuzz-rendertext.
Review URL: https://codereview.chromium.org/484883003
Cr-Commit-Position: refs/heads/master@{#291767}
Diffstat (limited to 'ui/gfx/font_render_params_mac.cc')
-rw-r--r-- | ui/gfx/font_render_params_mac.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/ui/gfx/font_render_params_mac.cc b/ui/gfx/font_render_params_mac.cc new file mode 100644 index 0000000..0062f3b1 --- /dev/null +++ b/ui/gfx/font_render_params_mac.cc @@ -0,0 +1,38 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ui/gfx/font_render_params.h" + +#include "base/logging.h" +#include "base/macros.h" + +namespace gfx { + +namespace { + +// Returns params that match SkiaTextRenderer's default render settings. +FontRenderParams LoadDefaults() { + FontRenderParams params; + params.antialiasing = true; + params.autohinter = false; + params.use_bitmaps = true; + params.subpixel_rendering = FontRenderParams::SUBPIXEL_RENDERING_RGB; + params.subpixel_positioning = true; + params.hinting = FontRenderParams::HINTING_MEDIUM; + + return params; +} + +} // namespace + +FontRenderParams GetFontRenderParams(const FontRenderParamsQuery& query, + std::string* family_out) { + // TODO: Query the OS for font render settings instead of returning defaults. + if (!query.is_empty() || family_out) + NOTIMPLEMENTED(); + CR_DEFINE_STATIC_LOCAL(const gfx::FontRenderParams, params, (LoadDefaults())); + return params; +} + +} // namespace gfx |