From 506dbed865137f2607acf71031c582217ab6c181 Mon Sep 17 00:00:00 2001 From: chrox Date: Wed, 16 Oct 2013 23:21:20 +0800 Subject: [PATCH] save cre3.ini on closing each credocument and page margin settings will be restored before rendering. This patch should fix #299. --- frontend/document/credocument.lua | 25 +++++++++++++++++++------ koreader-base | 2 +- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/frontend/document/credocument.lua b/frontend/document/credocument.lua index 034360c23..a2a33b8b8 100644 --- a/frontend/document/credocument.lua +++ b/frontend/document/credocument.lua @@ -11,8 +11,9 @@ CreDocument = Document:new{ engine_initilized = false, line_space_percent = 100, - default_font = "Droid Sans Fallback", - header_font = "Droid Sans Fallback", + default_font = "FreeSerif", + header_font = "FreeSans", + fallback_font = "Droid Sans Fallback", default_css = "./data/cr3.css", options = CreOptions, configurable = Configurable, @@ -89,14 +90,17 @@ function CreDocument:init() ok, self._document = pcall(cre.newDocView, Screen:getWidth(), Screen:getHeight(), self.PAGE_VIEW_MODE ) - - -- adjust font sizes according to screen dpi - self._document:adjustFontSizes(Screen:getDPI()) - if not ok then self.error_message = self.doc -- will contain error message return end + + -- adjust font sizes according to screen dpi + self._document:adjustFontSizes(Screen:getDPI()) + + -- set fallback font face + self._document:setStringProperty("crengine.font.fallback.face", self.fallback_font) + self.is_open = true self.info.has_pages = false self:_readMetadata() @@ -110,6 +114,11 @@ function CreDocument:loadDocument() end end +function CreDocument:close() + self._document:saveDefaults() + Document.close(self) +end + function CreDocument:drawCurrentView(target, x, y, rect, pos) tile_bb = Blitbuffer.new(rect.w, rect.h) self._document:drawCurrentPage(tile_bb) @@ -229,6 +238,10 @@ end function CreDocument:setPageMargins(left, top, right, bottom) self._document:setPageMargins(left, top, right, bottom) + self._document:setIntProperty("crengine.page.margin.left", left) + self._document:setIntProperty("crengine.page.margin.top", top) + self._document:setIntProperty("crengine.page.margin.right", right) + self._document:setIntProperty("crengine.page.margin.bottom", bottom) end function CreDocument:setVisiblePageCount(new_count) diff --git a/koreader-base b/koreader-base index 94f2d03d5..61f28fbbd 160000 --- a/koreader-base +++ b/koreader-base @@ -1 +1 @@ -Subproject commit 94f2d03d555e17d68c3d65615ac83cb71099973d +Subproject commit 61f28fbbddc11c2ed0a600529d68ac91f33e00d6