diff options
author | Walter Bender <walter.bender@gmail.com> | 2012-10-26 15:36:39 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2012-10-26 15:36:39 (GMT) |
commit | 22023100c39c213578f2889e60f546ce609dd368 (patch) | |
tree | 55263762ff60d148021ed0105e2433fe0f0b94b6 | |
parent | 20d973f926f6c73d09cb064ccbb3d1e0dbd43a73 (diff) |
tweak font scaling based on dpi
-rw-r--r-- | TurtleArt/tautils.py | 7 | ||||
-rw-r--r-- | TurtleArt/tawindow.py | 10 |
2 files changed, 16 insertions, 1 deletions
diff --git a/TurtleArt/tautils.py b/TurtleArt/tautils.py index 1d125a3..47f665f 100644 --- a/TurtleArt/tautils.py +++ b/TurtleArt/tautils.py @@ -687,3 +687,10 @@ def _get_dmi(node): return open(path).readline().strip() except: return None + + +def get_screen_dpi(): + xft_dpi = Gtk.Settings.get_default().get_property('gtk-xft-dpi') + dpi = float(xft_dpi / 1024) + logging.error('Setting dpi to: %f', dpi) + return dpi diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 84ae344..7d6db60 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -31,6 +31,7 @@ from gi.repository import Gtk from gi.repository import Gdk from gi.repository import GObject from gi.repository import GdkPixbuf +from gi.repository import PangoCairo from gettext import gettext as _ import os @@ -157,7 +158,7 @@ class TurtleArtWindow(): self.hw = get_hardware() self.lead = 1.0 if self.hw in (XO1, XO15, XO175): - self.scale = 1.2 # slight scale-up of fonts on XO + self.scale = 133. / 200 # Tweak scale of fonts on XO if self.hw == XO1: self.color_mode = '565' else: @@ -166,6 +167,8 @@ class TurtleArtWindow(): self.scale = 1.0 self.color_mode = '888' # TODO: Read visual mode from gtk image + self._set_screen_dpi() + self.block_scale = BLOCK_SCALE[3] self.trash_scale = 0.5 self.myblock = {} @@ -282,6 +285,11 @@ class TurtleArtWindow(): self.block_operation = '' self.window_init_complete = True + def _set_screen_dpi(self): + dpi = _get_screen_dpi() + font_map_default = PangoCairo.font_map_get_default() + font_map_default.set_resolution(dpi) + def _get_plugin_home(self): ''' Look in the execution directory ''' path = os.path.join(self.path, self._PLUGIN_SUBPATH) |