diff options
author | Walter Bender <walter.bender@gmail.com> | 2013-01-09 13:39:27 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2013-01-09 13:39:27 (GMT) |
commit | 832f9890bb8be9fbeca038389f28ed91e2025af1 (patch) | |
tree | cd45d479c90e5fdd799875714847b3657f29b5fb | |
parent | 5855f4e9c87e74a8b310a542c1fd8b496622a030 (diff) |
consider xo hardware when setting font sizes in PDF output
-rw-r--r-- | PortfolioActivity.py | 20 | ||||
-rw-r--r-- | exportpdf.py | 17 |
2 files changed, 17 insertions, 20 deletions
diff --git a/PortfolioActivity.py b/PortfolioActivity.py index ee504cf..9140a7a 100644 --- a/PortfolioActivity.py +++ b/PortfolioActivity.py @@ -91,10 +91,6 @@ UNIT_DICTIONARY = {TWO: (UNITS[TWO], 2), TEN: (UNITS[TEN], 10), THIRTY: (UNITS[THIRTY], 30), SIXTY: (UNITS[SIXTY], 60)} -XO1 = 'xo1' -XO15 = 'xo1.5' -XO175 = 'xo1.75' -UNKNOWN = 'unknown' # sprite layers DRAG = 6 @@ -282,11 +278,11 @@ class PortfolioActivity(activity.Activity): self._colors[1] = tmp if self._hw[0:2] == 'xo': - self._titlef = 18 - self._descriptionf = 12 + self.title_size = 18 + self.desc_size = 12 else: - self._titlef = 36 - self._descriptionf = 24 + self.title_size = 36 + self.desc_size = 24 # Generate the sprites we'll need... self._sprites = Sprites(self._canvas) @@ -387,7 +383,7 @@ class PortfolioActivity(activity.Activity): int(self._titlexy[1]), svg_str_to_pixbuf( genblank(self._titlewh[0], self._titlewh[1], self._colors))) - self._title.set_label_attributes(int(self._titlef * self._scale), + self._title.set_label_attributes(int(self.title_size * self._scale), rescale=False) self._title.type = 'title' @@ -399,7 +395,7 @@ class PortfolioActivity(activity.Activity): int(self._descriptionwh[1]), self._colors))) self._description.set_label_attributes( - int(self._descriptionf * self._scale), vert_align="top") + int(self.desc_size * self._scale), vert_align="top") self._description.type = 'description' self._my_canvas = Sprite( @@ -911,7 +907,7 @@ class PortfolioActivity(activity.Activity): self.desc_entry.override_background_color( Gtk.StateFlags.NORMAL, rgba) font_desc = Pango.font_description_from_string( - str(int(self._descriptionf * self._scale))) + str(int(self.desc_size * self._scale))) self.desc_entry.modify_font(font_desc) self.desc_buffer = self.desc_entry.get_buffer() self.fixed.put(self.desc_entry, 0, 0) @@ -934,7 +930,7 @@ class PortfolioActivity(activity.Activity): self.title_entry.override_background_color( Gtk.StateFlags.NORMAL, rgba) font_desc = Pango.font_description_from_string( - str(self._titlef * self._scale)) + str(self.title_size * self._scale)) self.title_entry.modify_font(font_desc) self.title_buffer = self.title_entry.get_buffer() self.fixed.put(self.title_entry, 0, 0) diff --git a/exportpdf.py b/exportpdf.py index ac4db87..7ed1acc 100644 --- a/exportpdf.py +++ b/exportpdf.py @@ -26,8 +26,6 @@ from gettext import gettext as _ from utils import get_pixbuf_from_journal -HEAD = 32 -BODY = 12 PAGE_WIDTH = 504 PAGE_HEIGHT = 648 LEFT_MARGIN = 10 @@ -40,6 +38,9 @@ def save_pdf(activity, nick, description=None): if len(activity.dsobjects) == 0: return None + head = activity.title_size + body = activity.desc_size / 2 + tmp_file = os.path.join(activity.datapath, 'output.pdf') pdf_surface = cairo.PDFSurface(tmp_file, 504, 648) @@ -47,22 +48,22 @@ def save_pdf(activity, nick, description=None): cr = cairo.Context(pdf_surface) cr.set_source_rgb(0, 0, 0) - show_text(cr, fd, nick, HEAD, LEFT_MARGIN, TOP_MARGIN) + show_text(cr, fd, nick, head, LEFT_MARGIN, TOP_MARGIN) show_text(cr, fd, time.strftime('%x', time.localtime()), - BODY, LEFT_MARGIN, TOP_MARGIN + 3 * HEAD) + body, LEFT_MARGIN, TOP_MARGIN + 3 * head) if description is not None: show_text(cr, fd, description, - BODY, LEFT_MARGIN, TOP_MARGIN + 4 * HEAD) + body, LEFT_MARGIN, TOP_MARGIN + 4 * head) cr.show_page() for i, dsobj in enumerate(activity.dsobjects): if dsobj.metadata['keep'] == '0': continue if 'title' in dsobj.metadata: - show_text(cr, fd, dsobj.metadata['title'], HEAD, LEFT_MARGIN, + show_text(cr, fd, dsobj.metadata['title'], head, LEFT_MARGIN, TOP_MARGIN) else: - show_text(cr, fd, _('untitled'), HEAD, LEFT_MARGIN, + show_text(cr, fd, _('untitled'), head, LEFT_MARGIN, TOP_MARGIN) w = 0 @@ -92,7 +93,7 @@ def save_pdf(activity, nick, description=None): cr.restore() if 'description' in dsobj.metadata: - show_text(cr, fd, dsobj.metadata['description'], BODY, + show_text(cr, fd, dsobj.metadata['description'], body, LEFT_MARGIN, h + 175) cr.show_page() |