From 0da1a772be9f60b3b164d5c2e4433fae6f296149 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 26 Jul 2016 13:29:27 +0900 Subject: [PATCH] Set page's font settings with system settings --- atom/browser/native_window.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/atom/browser/native_window.cc b/atom/browser/native_window.cc index 662835ab92..0320261960 100644 --- a/atom/browser/native_window.cc +++ b/atom/browser/native_window.cc @@ -40,6 +40,11 @@ #include "ui/gfx/geometry/size_conversions.h" #include "ui/gl/gpu_switching_manager.h" +#if defined(OS_LINUX) || defined(OS_WIN) +#include "content/public/common/renderer_preferences.h" +#include "ui/gfx/font_render_params.h" +#endif + DEFINE_WEB_CONTENTS_USER_DATA_KEY(atom::NativeWindowRelay); namespace atom { @@ -67,6 +72,21 @@ NativeWindow::NativeWindow( if (parent) options.Get("modal", &is_modal_); +#if defined(OS_LINUX) || defined(OS_WIN) + content::RendererPreferences* prefs = + web_contents()->GetMutableRendererPrefs(); + + // Update font settings. + CR_DEFINE_STATIC_LOCAL(const gfx::FontRenderParams, params, + (gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), NULL))); + prefs->should_antialias_text = params.antialiasing; + prefs->use_subpixel_positioning = params.subpixel_positioning; + prefs->hinting = params.hinting; + prefs->use_autohinter = params.autohinter; + prefs->use_bitmaps = params.use_bitmaps; + prefs->subpixel_rendering = params.subpixel_rendering; +#endif + // Tell the content module to initialize renderer widget with transparent // mode. ui::GpuSwitchingManager::SetTransparent(transparent_);