Browse Source

Set page's font settings with system settings

Cheng Zhao 8 years ago
parent
commit
0da1a772be
1 changed files with 20 additions and 0 deletions
  1. 20 0
      atom/browser/native_window.cc

+ 20 - 0
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_);